notes:homebrew:gba_nds_slot2
Table of Contents
GBA/NDS Slot-2 peripheral programming notes
Compact Flash Adapters
Compact Flash adapters on the GBA cartridge interface all generally work by exposing IDE registers using the top eight address bits coupled with the sixteen-bit data bus, wiring them directly to the relevant IDE connector pins.
In programmer-facing documentation, the two address ranges mentioned (matching PC I/O) are 1F0h-1F7h and 3F0-3F7h. In hardware, the choice is controled by Chip Select (CS) pins, while the specific register is chosen using DA0-DA2.
TODO:
- Is INTRQ relayed in any way? On which adapters?
GBA Movie Player
Address bits | Map to |
---|---|
23 | “1” |
22 | Chip Select 0/1 |
18-16 | DA2-DA0 |
Memory Expansion Pak
Identification:
- 0B4h (device type) == 24h
- 0BFh - bit 7 clear
- 1FFFFh - bit 7 clear
Timings:
- Official software uses default timings (EXMEMCNT[6:0] = 00h).
Memory map:
- 240000h - unlock register (32-bit)
- bit 0 - set if unlocked, clear if locked
- bit 1-31 - unknown
- 1000000h - 8 megabytes of memory starts here
TODO:
- what are the remaining unlock register bits?
- official software crashes if any bits 16-31 are set on initialization
- does the unlock register control memory visibility or just writability?
notes/homebrew/gba_nds_slot2.txt · Last modified: 2023/03/28 17:56 by asie