Toaplan converts (V1 / V2)¶
Toaplan hardware (the shmup kings of the late 80s/early 90s) puts two locks in the way of conversion: a sound MCU with internal ROM (the HD647180, long undumped) and the custom GP9001 VDP (V2). No battery suicide — but customs that are hard to replace and an MCU you have to own.
Toaplan V1 (1988-1991)¶
| Block | Chip |
|---|---|
| CPU | 68000 |
| Sound CPU | Z80 (or HD647180 on some) |
| Sound | YM3812 / YM2151 (+ OKI depending on game) |
| Video | Toaplan customs (BCU/FCU tilemaps + sprites) |
Games: Truxton (Tatsujin), Twin Cobra, Hellfire, Zero Wing, Fire Shark, Out Zone, Vimana, Rally Bike… Several use the HD647180 (see below).
Toaplan V2 (1991-1994)¶
| Block | Chip |
|---|---|
| CPU | MC68000P10 |
| Sound CPU/MCU | HD647180X0FS6 (Z180 + 16 KB internal ROM), or Z80 (Z84C0006), or NEC V25 |
| Video | GP9001 (custom VDP) — sometimes 2× GP9001 |
Games: Batsugun, Dogyuun (2× GP9001), Truxton II (Tatsujin Oh), Knuckle Bash, FixEight, V-Five / Grind Stormer, Ghox, Teki Paki, Whoopee!… The GP9001 was also used by Raizing/8ing (Battle Garegga, Batrider, Battle Bakraid).
Lock #1: the HD647180 sound MCU¶
The HD647180 is a Z180 with a 16 KB internal mask ROM — so code that can't be read from outside. For a long time this blocked emulation and conversion of the games that use it.
→ CAPS0ff (and the community) dumped these MCUs (decap). Result: MAME emulates the real code, and on real hardware you know which MCU you need (or a programmed substitute). Without the right HD647180, a game that uses it won't run.
Lock #2: the GP9001 VDP¶
The GP9001 is a custom video chip: if it dies, there's no original spare. Hence a decap/reverse effort (Arcade-Projects) to:
- improve MAME emulation,
- enable FPGA simulation (MiSTer),
- reproduce the custom for board owners.
Dogyuun / Batsugun = 2× GP9001
Some games use two GP9001s in tandem → a patch/conversion does not apply identically to the others (graphics glitches otherwise).
Converting (summary)¶
- Gather the target game's ROMs (68000, graphics, sound).
- Burn the EPROMs onto a compatible donor board (same generation).
- Handle the sound MCU: supply the game's HD647180 (or its programmed dump), or a Z80/V25 game if applicable.
- Check the GP9001 (V2) — irreplaceable if it's dead.
- Test sprites/tilemaps and sound.
Program EPROM, game by game¶
68000 program, EPROM: 64 KB → 27C512 · 128 KB → 27C010 · 512 KB → 27C040.
V1 = often 2× 27C010 (even/odd program). V2 = often a single 27C040 (merged
program). (Source: MAME toaplan/toaplan1.cpp + per-game V2 drivers. Board view:
Toaplan PCB.)
V1
| Game | Program EPROM |
|---|---|
| Truxton / Tatsujin | 2× 27C010 |
| Hellfire | 2× 27C010 |
| Zero Wing | 2× 27C256 + 2× 27C010 |
| Demon's World / Horror Story | 2× 27C010 |
| Out Zone | 2× 27C010 |
| Vimana | 2× 27C010 |
V2 (GP9001 VDP)
| Game | Program EPROM |
|---|---|
| Teki Paki | 2× 27C512 |
| Ghox | 2× 27C010 |
| Truxton II / Tatsujin Ō | 1× 27C040 |
| Dogyuun | 1× 27C040 |
| Knuckle Bash | 1× 27C040 |
| Batsugun | 1× 27C040 |
| Snow Bros. 2 | 1× 27C040 |
| Fix Eight | 2× 27C040 |
Mind the locks
On V1/V2, the HD647180 sound MCU (internal ROM) and the GP9001 VDP can block a conversion — see the lock sections above. The program EPROM is only one part.
Settings (DIP)¶
Toaplan V1/V2 are configured with physical DIP switches — usually two banks of 8 (SW1 / SW2):
| Bank | Typical functions |
|---|---|
| SW1 | coinage, test/service, sound in demo, flip screen |
| SW2 | difficulty, lives, bonus/extend, sometimes region |
Some games set the region via DIP (SW2), others via a soldered jumper. After a conversion, apply the target game's DIP table (see general convention).
Before / after¶
- Z80-sound game: simpler conversion (no internal ROM).
- HD647180 game: conversion possible with the correct (dumped) MCU.
Where to read more¶
- MAME — driver
toaplan/toaplan2.cpp(GP9001, HD647180, V25) — https://github.com/mamedev/mame - Arcade-Projects — GP9001 decap / HD647180 dumps — https://www.arcade-projects.com/
- MiSTer — Toaplan V1/V2 cores (WIP) — https://misterfpga.org/
Sources & attribution¶
- Arcade-Projects — GP9001 decap effort (V2, 2× GP9001, reproduction) — https://www.arcade-projects.com/
- MAME —
toaplan2.cpp(MC68000P10, HD647180X0FS6 16k ROM, GP9001, games) — https://github.com/mamedev/mame
Review & corrections
How this space is used
Spotted a wrong value, an outdated procedure, a chip reference that does not match your board? Say so here, with what you observed (model, board revision, serial number, measurement). Every report is cross-checked against a source before anything changes — an unverifiable correction is published as “reported by …, not cross-checked” rather than silently applied.
Reading is open to everyone; posting requires signing in with Discord. Reports from the wiki's declared reviewers are handled first; anyone else's are read too, but go through a human before anything is changed.