8 Commits

Author SHA1 Message Date
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