Expand description
Single-game NEC DSP variant boards — DSP-2, DSP-4, ST010.
Riding the shared crate::coproc::upd77c25::Upd77c25 engine
(Dsp1Board covers DSP-1 itself, which uses a different,
board-specific window split). DR/SR splits differ per chip — ares’ generic NECDSP::read/write
(sfc/coprocessor/necdsp/memory.cpp) suggests a uniform low-address-bit split (even=DR,
odd=SR) for the whole non-DSP-1 family, and that’s what DSP-2/ST010 use — but DSP-4 (Top Gear
3000) does NOT: it uses the SAME half-window boundary split DSP-1 does (docs/cart.md
§DSP-1), confirmed empirically against its own boot-time hardware-presence check (a 16-bit
compare of the masked window’s first two bytes against $FFFF, which only passes if both
bytes read the same port). Board attributions from ares System/Super Famicom/boards.bml:
| Chip (game) | Board | Register window (bank:addr) | DR/SR split | Revision |
|---|---|---|---|---|
| DSP-2 (Dungeon Master) | SHVC-1B5B-02 | $20–3F,$A0–BF:$8000–FFFF mask $3FFF | low bit (even=DR) | Upd7725 |
| DSP-4 (Top Gear 3000) | SHVC-1B0N-03 | $30–3F,$B0–BF:$8000–FFFF mask $3FFF | half-window boundary at $2000 (below=DR) | Upd7725 |
| ST010 (F1 ROC II) | SHVC-1DS0B-20 | $60–67,$E0–E7:$0000–3FFF (registers) + $68–6F,$E8–EF:$0000–7FFF (battery data RAM, direct Upd77c25::read_dp/write_dp port) | low bit (even=DR) | Upd96050 |
DSP-3 and ST011 are NOT wired here: neither has a verified board/window entry (no game ROM in
this project’s local corpus to validate against), so guessing a window would be an unverified,
untestable claim — docs/adr/0003’s honesty gate means the cart simply runs as its base board
(unmapped coprocessor window) until one can be pinned against a real cart, exactly like every
other not-yet-implemented coprocessor.
There is no header-byte signal that distinguishes DSP-1 from DSP-2/4/ST010 (the chipset byte
only flags “has an NEC DSP” generically) — real emulators resolve this via a cartridge
database; lacking one, detect matches the 21-byte internal title against each chip’s one
known game, the same single-game-chip approach ares’ own database reduces to for these titles.
Structs§
- NecDsp
Variant Board - A LoROM cartridge carrying a single-game NEC DSP variant (see the module doc’s table).
Enums§
- Variant
- Which single-game NEC DSP variant a cart carries.