The game does not sport any layers at all. The wardner board is similar to Flying Shark, but contains 2 Z80's instead of the 68000 and Z80. Twin Cobra uses a graphics bank switch, so it can display two alternate sets of layer tiles. Each sprite has a priority value of 0, 1 or 2 telling which layer the sprite is in front of. The layers are rendered on top of eachother (gameplay layer 2 is behind gameplay layer 1 which in turn is behind the score layer). The game has 3 layers, one used for the score display ("Fixed Layer") and two used for gameplay layers, plus up to 512 sprites.
#Snow bros 2 java game Pc
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. Eventually we got it right :) Twin Cobra has an external ROM for the DSP so that game was much simpler. To emulate this game in Shark, we looked at what the Main CPU sent to the DSP and guessed what might be returned.
#Snow bros 2 java game code
(Sky Shark and Twin Cobra arcade boards, click to enlarge)įlying Shark contains the protection code within the DSP, so this code can not be analyzed.
#Snow bros 2 java game manual
On top of the gameplay layer, the system is capable of 512 16x16 pixel sprites.Īrcade Manual and PCB / Memory Map for Slap Fight / Alcon. One gameplay layer and one score information layer ("Fixed Layer"). Sound is 2 x PSG (AY-8910, same as Yamaha 2109) GRAPHICS DATA roms contains the information for the GFX UNIT, these are often separate for layer graphics and sprite graphics.
(4-layer + sprites, more complex priority system) and finally Truxton 2/Snow Bros 2 which has even more features. 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. The GFX UNIT is different between different PCB type boards. In later games (Truxton 2, etc.) this chip is replaced with a Yamaha 2151. It recieves synthesizer commands from the Z80 and plays the sound and music for the games. The (Yamaha) 3812 generates sound for the speakers. The SOUND CODE rom contains the data for this chip.
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). 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. Some games have a TI32010 DSP for protection. This is where MAIN CODE roms go when loaded. All other components are controlled directly or indirectly by this chip. The (Motorola) 68000 serves as the main CPU. The main components in the picture are named by the most common components, and each have a specific function. Most 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). This is a somewhat simplified overview of how these components make the 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.