FPGA compatible core of Toaplan Version 2 arcade hardware for MiSTerFPGA based on work by Pramod Somashekar. Without his extensive work on the GP9001, none of this would be possible.
FPGA implementation will reference Knuckle Bash (TP-023) schematics and will be verified against Dogyūn!! (TP-022), Knuckle Bash (TP-023), Tatsujin Ō (TP-024), FixEight (TP-026) and Batsugun (TP-030).
The intent is for this core to be a 1:1 playable implementation of Toaplan V2 hardware. Currently in alpha state, this core is in active development by atrac17 with assistance from Darren Olafson (Time Permitting).
The development process for this core will take time, understand that we have other obligations and active projects outside of the Toaplan V2 hardware.
Title | PCB Number |
Encrypted Program |
MCU | MCU Usage |
Status | Released |
---|---|---|---|---|---|---|
Teki Paki | TP-020 | No | HD647180 | Audio | - | No |
Ghox | TP-021 | No | HD647180 | Audio & I/O | - | No |
Dogyūn!! | TP-022 | Yes | NEC V25 | Audio | W.I.P | No |
Knuckle Bash | TP-023 | Yes | NEC V25 | Audio | W.I.P | No |
Tatsujin Ō | TP-024 | No | None | N/A | Implemented | Beta 20230119 |
Whoopee!! | TP-025 | No | None | N/A | Implemented | Beta 20221225 |
FixEight | TP-026 | No | NEC V25 | Audio & I/O | W.I.P | No |
V-V | TP-027 | Yes | NEC V25 | Audio | W.I.P | No |
Batsugun | TP-030 | No | NEC V25 | Audio | - | No |
Otenki Paradise: Snow Bros. 2 | TP-033 | No | None | N/A | Implemented | Beta 20221225 |
Name | Purpose | Author |
---|---|---|
fx68k | Motorola 68000 CPU | Jorge Cwik |
t80 | Zilog Z80 CPU | Daniel Wallner |
jt51 | Yamaha YM2151 | Jose Tejada |
jt6295 | OKI MSM6295 | Jose Tejada |
jtopl2 | Yamaha OPL 2 | Jose Tejada |
jtframe | FPGA Framework | Jose Tejada; modified by Pramod Somashekar |
GP9001 | Toaplan Graphics ASIC | Pramod Somashekar |
- Reference TP-023 schematics and compare variations with TP-024 PCB [Task]
Verify clock domains for TP-024[Task]Verify PCM and OPM levels on TP-024[Task]94.5 MHz Integer PLL for clocks[Task]Update clocking for 94.5Mhz PLL[Task]Add volume toggles for ADPCM and OPM audio[Task]Add volume toggles to disable ADPCM and OPM audio[Task]Additional scanline options for scandoubler[Task]Add 31kHz toggle for hi-res CRT[Task]Adjust volume toggles for ADPCM and OPM audio on TP-024[Task]Add Truxton II - Tatsujin Oh [New Version] as an alternate[Request]Add stereo toggle for TP-024[Request]- Sprite mux priority on explosions TP-025 [Issue]
Trace TP-024 to find is_vb for spriteram; not written at the start of vblank TP-024[Issue]Verify sprite lag priority for TP-024; currently 2 frames[Issue]Screen tearing with vertical scrolling on 240p with 31kHz toggle; if enabled screen tearing is fixed TP-033[Issue]Sprite warping of player due to instable timings TP-024[Issue]Audio drift; occurs on TP-024 and TP-033 (Reference clk implementation / CPU writes)[Issue]Analog screen flip shifts one row of pixels TP-024[Issue]Analog screen flip cuts one row of pixels TP-024 / TP-033[Issue]Sprite flicker on enemies TP-024[Issue]Sprite flicker on left side TP-024[Issue]Add SOCD commands for sprite warp on TP-024[Issue]
H-Sync | V-Sync | Source | PCB Number |
---|---|---|---|
15.625kHz | 59.637404 | DSLogic + | TP-024 |
Location | Freq (MHz) | Use | PCB Number |
---|---|---|---|
X1 | 16.000 MHz | M68000 / OKI MSM6295 | TP-024 |
X2 | 27.000 MHz | GP9001 / YM2151 | TP-024 |
Location | Freq (MHz) | Use | PCB Number |
---|---|---|---|
OSC1 | 10.000 MHz | M68000 | TP-025 |
OSC2 | 27.000 MHz | GP9001 / YM3812 / Z80 | TP-025 |
Location | Freq (MHz) | Use | PCB Number |
---|---|---|---|
X1 | 27.000 MHz | GP9001 / YM2151 | TP-033 |
X2 | 16.000 MHz | M68000 / OKI MSM6295 | TP-033 |
X3 | 32.000 MHz | Not Utilized on TP-033 | TP-033 |
Pixel clock: 6.75 MHz
Estimated geometry:
432 pixels/line
262 lines/frame
Location | Chip | Use | PCB Number |
---|---|---|---|
U 90 | Motorola 68000 CPU | Main CPU | TP-024 |
U 53 | Yamaha YM2151 | OPM Sound | TP-024 |
U 20 | OKI MSM6295 | ADPCM Sound | TP-024 |
Location | Chip | Use | PCB Number |
---|---|---|---|
B 2 | Motorola 68000 CPU | Main CPU | TP-025 |
E 3 | Zilog Z80 CPU | Sound CPU | TP-025 |
E 5 | Yamaha YM3812 | OPL Sound | TP-025 |
Location | Chip | Use | PCB Number |
---|---|---|---|
U 57 | Motorola 68000 CPU | Main CPU | TP-033 |
U 29 | Yamaha YM2151 | OPM Sound | TP-033 |
U 30 | OKI MSM6295 | ADPCM Sound | TP-033 |
Location | Chip | Use | PCB Number |
---|---|---|---|
U 67 | GP9001 | Graphics VDP | TP-024 |
Location | Chip | Use | PCB Number |
---|---|---|---|
C 14 | GP9001 | Graphics VDP | TP-025 |
Location | Chip | Use | PCB Number |
---|---|---|---|
U 18 | GP9001 | Graphics VDP | TP-033 |
Location | Chip | Use | PCB Number |
---|---|---|---|
N/A | Zilog Z80 CPU | Sound CPU | |
N/A | NEC V25 | Sound CPU & I/O Handling | |
N/A | HD647180X | Sound CPU & I/O Handling | |
N/A | GP9001 | Second Graphics VDP |
- TBD, beta implementation.
- TBD, beta implementation.
- TBD, beta implementation.
- Keyboard inputs mapped to mame defaults for all functions up to the third player which is not listed below.
Services | Coin/Start | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Player 1 | Player 2 | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Pramod Somashekar for his extensive work on the GP9001, Raizing FPGA implementation, general knowledge, and assistance with implementing Tatsujin Ō.
Jose Tejada for his extensive work on FPGA modules utilized in this implementation, general knowledge, and assistance over the last two years.
@90s_cyber_thriller for loaning all Toaplan V2 hardware used in the development process.
Please consider showing support for this and future projects by contributing to the developers. While it isn't necessary, it's greatly appreciated.
atrac17's Patreon
Darren Olafson's Ko-fi
Contact the author(s) for special licensing needs. Otherwise follow the GPLv3 license attached.