====== SuperCard (GBA) programming ======
===== All models =====
==== SC_MODE (0x9FFFFFE) ====
To unlock this register, one must write **0xA55A** to it first.
15 bit 0
---- ---- ---- ----
???? ???? ???? ?wsm
|||
||+- Map registers
|+-- CF/SD enable
+--- PSRAM write enable
Also swaps SRAM bank (2 x 64 KB)
===== CompactFlash models =====
For CompactFlash card access, the SuperCard CF mimics [[notes:flashcart:gbamp|the GBA Movie Player interface]].
===== SD models =====
==== SCSD_DATA_WR (0x900000x) ====
SD card 4-bit data bus writes.
15 bit 0
---- ---- ---- ----
oooo .... .... ....
||||
++++---------------- Written value.
==== SCSD_DATA_RD (0x910000x) ====
SD card 4-bit data bus reads.
TODO: Most likely operates as a 16-bit shift register. This means that, to read sixteen bits in order, the address must be accessed four times.
15 bit 0
---- ---- ---- ----
oooo .... .... ....
||||
++++---------------- Written value.
==== SCSD_CMD (0x9800000) ====
SD card 1-bit command bus.
15 bit 0
---- ---- ---- ----
.... ..?? o... ...i
|| | |
|| | +- Input (from card)
|| |
|| +--------- Output (to card)
||
++----------- Related to card insertion?
===== SuperCard Lite =====
==== SCLT_ENABLE (0x9440000) ====
===== See also =====
* [[https://github.com/davidgfnet/supercard-pcb-reverse|SuperCard PCB scans and datasheet archive]]
* [[https://html-preview.github.io/?url=https://github.com/davidgfnet/gba-supercard-cpld/blob/master/report.html|SuperCard CPLD dump report]]