Game link compatibility¶
How every NGPC cartridge drives the EXT link, and how the netplay bridge carries
it. Classified statically with
tools/link_isr_scan.py over a full
ROM set, then spot-confirmed in the emulator. Two hardware mechanisms move link
bytes and the bridge supports both — see the netplay transport.
- BIOS-COM — the game uses only the BIOS COM services. The
bridge HLEs these onto a faithful UART transport with
/RTS-/CTSflow control. - Own-ISR — the game sets up SIO channel 0 via
COMINIT, then installs its own serial RX/TX interrupt handlers (RAM vectors0x6FE4/0x6FE8) that read/writeSC0BUFdirectly and read the ring back throughCOMGETDATA. Needs the emulated SIO device + serial interrupts + theCOMGETDATAring bridge.
The finding¶
Of the link-capable library, only three games run their own serial ISR, and
all three use byte-identical SNK link code with the same ring (0x6cc0 data,
0x6d01 count, 0x6d03 read-pointer). Every other link game is pure BIOS-COM.
So two code paths cover the whole library.
Legend: ✅ confirmed linking in the emulator · 🟢 same mechanism as a confirmed game, not yet play-tested.
Own-ISR games (emulated SIO + COMGETDATA ring bridge)¶
| Game | RX ISR | Ring | Status |
|---|---|---|---|
| SNK vs Capcom — Match of the Millennium | 0x202761 |
0x6cc0 |
✅ confirmed |
| King of Fighters R-1 | 0x201a61 |
0x6cc0 |
🟢 identical link code; boots |
| King of Fighters R-2 | 0x202565 |
0x6cc0 |
🟢 identical link code; boots |
BIOS-COM games (faithful UART transport)¶
All go through the COM services; the transport supplies real COMSENDSTATUS
back-pressure and /RTS-/CTS flow control.
Samurai Shodown! 2 ✅ · Samurai Shodown! · Baseball Stars Color · Biomotor Unitron · Card Fighters' Clash (SNK / Capcom) · Card Fighters' Clash 2 · Dark Arms: Beast Buster 1999 · Delta Warp · Dynamite Slugger · Evolution: Eternal Dungeons · Faselei! · Fatal Fury: First Contact · Fire Pro Wrestling · The Last Blade: Beyond the Destiny · Magical Drop Pocket · Neo Turf Masters / Big Tournament Golf · Nige-Ronpa · Ogre Battle · Pocket Tennis Color · Puyo Pop · Puzzle Link · Puzzle Link 2 · Rockman Battle & Fighters · Shanghai Mini · SNK Gals' Fighters · Sonic Pocket Adventure (all 🟢 except Samsho 2).
Non-link titles (Metal Slug 1st/2nd Mission, Pac-Man, Cotton, Crush Roller, Cool Boarders, …) have no link code and are out of scope.
Reproducing¶
make disassembler
python3 tools/link_isr_scan.py /path/to/rom-or-dir # BIOS-COM vs own-ISR + ring
python3 tools/link_compat.py /path/to/rom-or-dir # per-game COM-service usage
No ROMs are distributed with this project. An own-ISR game outside this set would
work automatically if it uses the standard 0x6cc0 ring; the scanner prints the
ring so any outlier is easy to spot.