-
Notifications
You must be signed in to change notification settings - Fork 0
GBA Link Cable Communication
no381 edited this page Apr 20, 2024
·
4 revisions
- GBA Communication is done via UART
- Note that MOSI = SDO/SO/TX , MISO = SDI/SI/RX
_______
/ 1 3 5 \
| 2 4 6 | (looking at GBA cable link-port, so not GBA itself)
'-------'
1 VCC xxx
2 SO TX red
3 SI RX orange
4 SD RTS brown
5 SC CTS green
6 GND GND blue

- RTS - Request to Send
- CTS - Clear to Send
Reference: https://shonumi.github.io/articles/art16.html
Battle Chip Gate Protocols below taken from Edge of Emulation, all credit to them https://shonumi.github.io/dandocs.html#bcg
- BattleChip Gate (Advanced) - 0xFFC6
- Progress Gate - 0xFFC7
- Beast Gates - 0xFFC4
Note: Gate IDs do not change based on shell type (Netto gate, Gregar/Falzar gates, different Advanced gates)
Repeat Gate Value until receives GBA Start Signal e.g.
0xFFC6
0x0000
0xA---
0xA---
0xA---
0x8FFF
0xA---
0x0000
| Game | Value |
|---|---|
| MMBN4 | 0xA3D0 |
| MMZ3 | 0xA380 |
| MMBN4.5 | 0xA3D0 |
| MMBN5 | 0xA6C0 |
| MMBN6 | 0xA6C0 |
Repeating 9 transfers
| Order | Value | Meaning |
|---|---|---|
| 1 | 0xFFC- | Chip Gate ID |
| 2 | 0xFFFF | |
| 3 | 0xFFFF | |
| 4 | 0x--00 | ^ Seed adding to 255 with 5 |
| 5 | 0xFF-- | ^ Seed adding to 255 with 4 |
| 6 | Ox---- | Battle Chip ID |
| 7 | 0x0000 | |
| 8 | 0x0000 | |
| 9 | 0x0000 |
^ - The two seeds increment and decrement respectively on each transfer, and together add up to 255. It appears all compatible game software simply ignore this data.
GoodTofuFriday's Arduino Gate https://twitter.com/GoodTofuFriday/status/1638906303866175493