profi200
105f4ae5f7
Increased CTRCARD clock from 4.18 to 13.4 MHz on ROM reads. ( #873 )
2024-11-26 19:32:51 -03:00
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
Balint Kovacs
27e316571d
Add a new type of flash chips, from Art Academy
...
It adds a new chip type, that works like regular 3DS saves. It
presumably is manufactured by Macronix as well.
Thank you for your help, @FerozElMejor on Discord and @Epicpkmn11
2021-09-26 16:36:19 +02:00
lifehackerhansol
d85023b173
Append 0x88 to ntr_rom_size to preserve RSA keys
2021-08-12 20:39:18 +02:00
Balint Kovacs
cc99734fac
Fix IR card support
...
This is based on the latest update of GBATEK.
2021-03-31 17:01:32 +02:00
Balint Kovacs
6799b24730
Fix a bug on 512B EEPROM saves
...
Fixes #690
2021-03-31 17:01:32 +02:00
Balint Kovacs
adb8ad260f
Add some documentation to cart types, and remove old exports
2021-03-31 17:01:32 +02:00
Balint Kovacs
5c2ab6958c
I found a new type of flash chip on a bootleg cart
2021-03-31 17:01:32 +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
Wolfvak
f96daa407a
potentially fix non-working FIRM builds, remove duplicated cycle wait functions
...
the sdmmc wait function is exactly the same as the one in the bootrom and worked as a drop in replacement
2020-07-24 14:22:38 -03:00
santiago
244d24ee2a
fix compiling on dkA r54, libc is bloaty so please stick with r53 for now
2020-06-01 17:13:30 -03:00
luigoalma
d27cfc71e1
Indentation fixes
...
Indentation fixes everywhere
(mostly anyway under arm9/source/)
And some other tab to spaces
2020-03-28 07:05:42 -03:00
Bálint Kovács
2e463c6b84
Change timeout on CardSPIWaitWriteEnd ( #557 )
...
Allows long waits for erase on things like Art Academy, but fails faster
elsewhere. In particular initialization fails almost instantly.
2019-10-26 09:12:18 -03: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
c51d8a7191
Fix Art Academy save writing
...
Apparently, at least in my copy, the flash chip has a chance to fail a
PP command, and just never complete it. So we just try again.
2019-10-11 16:24:08 +02:00
Balint Kovacs
0308dfdebc
Get rid of card_eeprom.c for real
...
Rebase brought it back
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
bef427dfdb
Code formatting for card_spi.c
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
d2f596e7a3
Merge ARM11 spi and ARM9 spicard drivers
...
Also centralize device IDs into SPI.h
2019-10-11 16:24:08 +02:00
Balint Kovacs
48d8c48d12
Completely refactor SPI.h, write CTR flash
...
Also (hopefully?) write Art Academy, and also implement sector-based
write on Sanyo 256K chips.
2019-10-11 16:24:08 +02:00
Balint Kovacs
004341e1ef
Add a little utility to test gamecard flash chips
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
7b0a101f13
Add read support for CTR cartridge saves
...
I have done nothing, however, to decrypt them. There is also no write
support.
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
Balint Kovacs
fd48c95deb
Add a timeout to SPIWaitWriteEnd
...
Solves the WarioWare issue
2019-10-11 16:24:07 +02:00
Balint Kovacs
556c75c337
Fix many bugs by simplifying SPICARD init
...
* Fixed card reading (I didn't notice I broke it)
* Fixed cart swapping
* Still unsupported: CTR carts
* Still hangs if cart has no SPI flash (see WarioWare DIY)
The initialization code was simplified to only enable the SPICARD
interface, which assumes the *TRCARD interface has been initialized
beforehand.
To keep things simple, I just wrapped SPIWriteRead with SPICARD_Init and
SPICARD_deinit (which does the exact opposite)
2019-10-11 16:24:07 +02:00
Balint Kovacs
ac4ec6ee90
spicard.h: use void* pointers
...
First initialized cart reads correctly now, and cardswap just hangs.
2019-10-11 16:24:07 +02:00
Balint Kovacs
2ceafc545b
First viable(-ish) prototype
...
For some reason (messed up memory access?) the first two time I read the
status register, I get garbage.
Also:
* Reinserting card breaks SPI (everything reads 0xff
* No support for CTR carts for now
2019-10-11 16:24:07 +02:00
d0k3
a3cc272e63
Try to fix the infloop
...
Debug output (revert this later)
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
Wolfvak
2f64a8046a
- compile with size optimizations, reduces inst cache pressure
...
- removed most of lodepng's optional features
- lodepng now uses the already existing CRC32 code instead of using its own copy
- fixed GIC interrupt priority
2019-06-03 02:28:24 +02:00