Toaplan Hardware

  [Title Page]  [Home]  [Links]  [SoundTrack]  [History]  

How Toaplan arcade games work
If you've looked into romset readme.txt files, or arcade emulator CPU listings, you may have seen a lot of numbers and names of components and maybe even recognized some of them. This is a somewhat simplified overview of how these components make the games work.

simplified Toaplan PCB schematicMost TOAPLAN games have a setup like this picture, some games vary a little bit with the CPUs and sound chip (early Toaplan games have 2 Z80's, later Toaplan games have a Hitachi MCU instead of the Z80, but more about that later).

The main components in the picture are named by the most common components, and each have a specific function.

The (Motorola) 68000 serves as the main CPU. All other components are controlled directly or indirectly by this chip. This is where MAIN CODE roms go when loaded.

Some games have a TI32010 DSP for protection. Some code that is vital to gameplay has been put in this chip which either has internal ROM (protected, like Flying Shark) or external ROM which can be analyzed.

The (Zilog) Z80 serves as the sub CPU and handles sound control (and is sometimes called the sound CPU) and I/O reading (Joysticks, buttons, coin counters and start buttons). The SOUND CODE rom contains the data for this chip.

The (Yamaha) 3812 generates sound for the speakers. It recieves synthesizer commands from the Z80 and plays the sound and music for the games. In later games (Truxton 2, etc.) this chip is replaced with a Yamaha 2151.

The GFX UNIT is different between different PCB type boards. The earliest PCB type for Toaplan is the Tiger Heli/Slap Fight graphics (1-layer + sprites), followed by Flying Shark/Twin Cobra (2-layer + sprites, simple priority system), and then Truxton/Zero Wing etc. (4-layer + sprites, more complex priority system) and finally Truxton 2/Snow Bros 2 which has even more features. GRAPHICS DATA roms contains the information for the GFX UNIT, these are often separate for layer graphics and sprite graphics.

Tiger Heli, Get Star and Slap Fight
Main CPU: Z80
Sub CPU: Z80
Slap Fight has some form of protection.

(Tiger Heli board side A and B)

Sound is 2 x PSG (AY-8910, same as Yamaha 2109)

Video System:

One gameplay layer and one score information layer ("Fixed Layer"). On top of the gameplay layer, the system is capable of 512 16x16 pixel sprites.

PCB and Memory Map of Tiger Heli.
Arcade Manual and PCB / Memory Map for Slap Fight / Alcon.

Flying Shark and Twin Cobra PCB
Main CPU: 68000
Sub CPU: Z80
Protection: Texas Instruments 32010c DSP

(Sky Shark and Twin Cobra arcade boards, click to enlarge)

Flying Shark contains the protection code within the DSP, so this code can not be analyzed. To emulate this game in Shark, we looked at what the Main CPU sent to the DSP and guessed what might be returned. Eventually we got it right :) Twin Cobra has an external ROM for the DSP so that game was much simpler.

Sound chip: OPL-2 (Yamaha 3812)

This is the same synth chip (or similar to) the one used on most PC soundcards, so actually emulating it isn't necessary, but for those who doesn't have synth capabilities on their sound cards we eventually emulated this chip too.

Video System:

The game has 3 layers, one used for the score display ("Fixed Layer") and two used for gameplay layers, plus up to 512 sprites. The layers are rendered on top of eachother (gameplay layer 2 is behind gameplay layer 1 which in turn is behind the score layer). Each sprite has a priority value of 0, 1 or 2 telling which layer the sprite is in front of.

Twin Cobra uses a graphics bank switch, so it can display two alternate sets of layer tiles. This is used in later levels.

Wardner (Pyros) PCB
Main CPU: Z80
Sub CPU: Z80
Protection: Texas Instruments 32010c DSP

(Wardner arcade board, click to enlarge)

The wardner board is similar to Flying Shark, but contains 2 Z80's instead of the 68000 and Z80.

Sound chip: OPL-2 (Yamaha 3812)

Snow Bros
This PCB uses the Kaneko Pandora chip.

Main CPU: 68000
Sub CPU: Z80
No protection CPU

(Snow Bros board, click to enlarge)

Sound chip: OPL-2 (Yamaha 3812)

Video System:

The game does not sport any layers at all. It sets up the backgrounds by using most of the 480 16x16 pixel sprites the system is capable of.

Truxton, Zero Wing, Hell Fire, and Out Zone
Main CPU: 68000
Sub CPU: Z80
No protection

Sound chip: OPL-2 (Yamaha 3812)

(Out Zone arcade board, click to enlarge)

Video System:

The games has 4 layers, each tile (8x8 pixel graphic unit) in each layer has one of 15 possible priority values or 0 for "off". The system has up to 256 sprites which can be any size from 8x8 pixels to 128x128 pixels specified in a separate size table. Each sprite has a priority value from 1 to 15 which is shared with the layers. This allows some rather strange layering effects used in Zero Wing.

Rally Bike

(Rally Bike arcade board, click to enlarge)

This is a hybrid system, possibly a work in progress as it is using Flying Shark sprites but Truxton layers, otherwise it is similar to a Truxton type PCB.

Demon's World
This is another hybrid system, which uses the same protection scheme as Flying Shark, but is otherwise identical to the Truxton system. It only compares the checksum of the DSP ROM with a value so it is easy to override.

Fire Shark and Vimana
This system is identical to the Truxton system, but instead of a Z80 with a seaprate SOUND CODE rom, it has a Hitachi MCU (microcontroller unit) with the sound code protected.

Teki Paki, Pipi and Bibi's
The system is somewhat similar to the Truxton system, but it uses 16x16 layer tiles rather than 8x8 and has three layers instead of four. It also has a protected sound code rom like Fire Shark. The system has 512 sprites, and Yamaha 3812 for sound.

Truxton 2, Snow Bros 2, Grindstormer, Dogyuun, Fix Eight, Knuckle Bash
Sound is ym2151 and M6295

This system has the same layers system as Teki Paki, plus one extra layer. The system is capable of up to 256 sprites.

Toaplan Logo