====== 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]]