32 Commits

Author SHA1 Message Date
Pk11
cae3d272d3
Only reserve space in trimmed NDS files for RSA key if it exists (#804) 2023-04-09 15:38:35 -03:00
d0k3
096e6c3cb7 Add padding byte value to cart info file
Fixes #780
2022-07-22 21:43:23 +02:00
d0k3
ddf577b88c Fix #739 2021-10-09 11:13:51 +02:00
lifehackerhansol
d85023b173 Append 0x88 to ntr_rom_size to preserve RSA keys 2021-08-12 20:39:18 +02:00
Balint Kovacs
7af76b91bb Detect save size by the last byte of JEDEC id, if possible
This is my second attempt to resolve #553

Props to @wwylele for pointing out that the last byte of the JEDEC ID is
just the exponent of the size (base 2)
2021-03-31 17:01:31 +02:00
d0k3
0bbbc7c324 gamecart.c: fix indentation, a small merging mistake 2021-03-18 00:33:58 +01:00
Balint Kovacs
9f52deedad Card-2 saves: Detect save size from ExHeader
This also limits the save blanking to the actual save area. This way
every byte of the cart can be read again.
2021-03-18 00:28:44 +01:00
Balint Kovacs
60f2c5192d Add save chip JEDEC ID to gamecard info 2021-03-18 00:28:44 +01:00
Balint Kovacs
f2e52bd1c7 Initial support for CARD2 read
Can I get card2 writing to work?

Am I _that_ good?

Will I break by copy of X?

I won't know until I try!
2021-03-18 00:28:44 +01:00
Balint Kovacs
dfb2dff352 Some groundwork for CARD2 save support 2021-03-18 00:28:44 +01:00
d0k3
2f61722aa4 Replace Tabs -> Spaces 2021-02-18 19:06:31 +01:00
d0k3
8ebb74b0bc Allow dumping NDS carts with secure area encrypted
Fixes #417
2021-01-30 13:22:05 +01:00
d0k3
647d5722aa gamecart: Replaced ID file with info file 2020-12-24 15:53:59 +01:00
David Korth
25a22d30d0 gamecart: Added a gamecart_id.bin file.
This contains the 4-byte chip ID.
2020-12-24 15:53:59 +01:00
David Korth
d63db4bc6d gamecart: Use the chip ID's TWL flag to check if we should do TWL secure area init.
It's possible to flash a TWL-enhanced ROM image to an NTR dev cart.
This cart would function properly as a Nintendo DS game, but might
have issues on a DSi or 3DS.

GodMode9 couldn't dump this type of cartridge before because the ROM
header indicates TWL, but the cartridge doesn't understand the 0x3D
TWL secure area init command, so key exchange failed.
2020-12-09 21:53:43 +01:00
David Korth
cadd21508f gamecart: Use the chip ID to determine the ROM size.
Some development carts have an incorrect ROM header, but the cart ID
is always correct, so prefer the chip ID. If the chip ID is invalid
(unlikely), then fall back to the ROM header.
2020-12-09 21:53:30 +01:00
Gabriel Marcano
d010f2858b Remove trailing white space
- Removed trailing whitespace from all source code files (.c, .h. and
   .s) and the README.md
2020-08-26 23:01:58 +02:00
Balint Kovacs
c1b04d85d4 Fix jedecid_and_sreg.bin offset reads 2019-10-11 16:24:08 +02:00
Balint Kovacs
2f24f37e7b Temporarily disable IR carts
And massively simplify chip detection
2019-10-11 16:24:08 +02:00
Balint Kovacs
f624850465 Handle errors when reading JEDEC ID vfile 2019-10-11 16:24:08 +02:00
Balint Kovacs
aea79aa634 Cut back on card definitions
Saves 400 - 440 bytes of .data
2019-10-11 16:24:08 +02:00
Balint Kovacs
84d5f800a9 Get rid of card_eeprom.c, move spi.c to card_spi.c
It was bugging me that there was two spi.c's
2019-10-11 16:24:08 +02:00
Balint Kovacs
fa741b265b Write support for NTR saves
Why does this work? We are writing flash memories without erasing them,
and writing pages without regard to alignment. Yet it works?
2019-10-11 16:24:08 +02:00
Balint Kovacs
38d9a23427 Minor cleanup of gamecart.c 2019-10-11 16:24:07 +02:00
Balint Kovacs
f60a4c1f63 Add a vfile to show the JEDEC id for the inserted cart
This is meant to replace the Prompt I was using previously.
Fun fact: WarioWare DIY seems to have *something* on the SPI bus, as it
returns an ID of 0x000001 consistently. Or am I just glitching the
parallel flash? Or did I get a fake?
2019-10-11 16:24:07 +02:00
d0k3
01bc082ca0 Initial support of cartridge savegame reads 2019-10-11 16:24:07 +02:00
Wolfvak
d6c6f56526 fix compilation warnings due to unaligned packed structures in newer gcc 2019-09-29 19:53:27 +02:00
d0k3
e4352d4cb0 Updated gamecart reset routines
thanks @profi200
2018-06-25 23:14:17 +02:00
d0k3
28c2f7b06e Actually wipe card2 gamecart savedata when dumping 2018-06-05 00:55:46 +02:00
d0k3
a4a7b8f1e0 Fix GCC v8.1 (new dkA) warnings
... this also fixes #371
2018-05-24 01:08:00 +02:00
d0k3
3a7c7432ca Always read CTR carts in 1MB chunks
This fixes #346
2018-04-18 01:24:27 +02:00
Wolfvak
beeea37d07 Revised Makefile 2017-11-17 19:37:45 +01:00