Home News Forum                            

Play your favorite classic games and more with the GameEx front end. Read more.

sblast2b: MAME ROM Information.


Sonic Blast Man II - Special Turbo (c) 1997 Akira Corp.


Producer: Tomohiro Nishikado (T. Nishikado)

Concept: N. Kuroki

Director: Y. Kanno, R. Ito

Sub Director: M. Uehara

Character design: M. Ueara, M. Saito, K. Ohhara, H. Sukegawa

Graphic design: M. Uchisumi, S. Tachihara, Junichi Ohno (J. Ohno), K. Fujii

Sound: K. Watanabe, N. Yagishita

Programmer: T. Kuniyoshi, H. Kusano

Design: T. Sakai

Special thanks: Y. Satoh, T. Kawaishi, M. Sonoda, Y. Koga, Y. Tanaka, T. Shiokawa, N. Ichinohe, Y. Takasu, K. Yoshioka


Game's ROM

MAME Info:

0.126u5 [Corrado Tomaselli]


- 0.145u7: Added dipswitches 'Coinage', 'Difficulty', 'Lives', 'Power' and 4x 'Unused'.

- 0.129u4: Changed Custom sound to SNES Custom.

- 0.127u7: Andreas Naive and Tomasz Slanina fixed Sonic Blast Man 2 Special Turbo (SNES bootleg) - Game now playable. Added rom decryption. Patched protection checks. Mapped extra inputs. Changed description to 'Sonic Blast Man 2 Special Turbo (SNES bootleg)'. Added 8x 'Unknown' dipswitches.

- 9th October 2008: Tomasz Slanina - I have finally figured out what was wrong with the gfx emulation in Sonic Blast Man 2 - OAM address wasn't correctly restored. R. Belmont pointed me to some interesting hardware docs with explanation of this behaviour. It was already implemented in the snes driver, but with major flaw. In fact - instead saved OAM address - the current one was restored (so ... there was no difference between old and new). After fixing the bug, game is fully playable.

- 27th September 2008: Tomasz Slanina - Few words about an arcade bootleg game called 'Sonic Blast Man 2 Special Turbo'. The game is a slighty modified copy of Taito's 'Sonic Blast Man 2'. It runs on hardware (custom chinese, not the NSS) "borrowed" from Super Nintendo Home console. Just few EProms, RAMs, three custom QFP chips (there's also another, older version of the hw, with 6 of them) and Lattice PLD - to handle the most annoying part, protection. So... What's the point to encrypt/protect pirate game? To hide the 'real' (in fact - stolen ) game code and data? Or maybe to annoy other bootlegers? No idea. Kold666 already dumped the ROMs while ago. Unfortunately the PCB is no longer available for additional testing or analysis. The data encryption is not as simple as in other arcade SNES hacks (Killer Instinct, Final Fight 2). But with great help from Andreas Naive it's finally broken. Also the in-game protection checks are now gone (took me a couple of hours to find what's going on and crack them). Ok. So... how the protection works? 1. Encryption: Four hardcoded lookup tables (16,16,64 and 48 bytes) are used to get the real data. Plus some extra bitswaps and bit negations at the end - or more fun. 2. Boot code relocation: Original boot code (at $8000) is erased. There's also *special* message. New boot code (and the custom coinage / game control stuff) is placed around $7xxx and must be visible there in memory map. In Genuine SNES console this area is marked as 'reserved', and afaik - not accessible. Also - like in the other arcade SNES bootlegs - ROM header contains fake boot vector. 3. Read-and-compare checks: Few (seven iirc) data test in $6xxxxxx area (red mark = jmp executed when protection check fails). 4. Read-read-compare check: Just opposite to the above - two consecutive reads (almost , with 3 nop-s between) from the same address (in $7xxxxx range) must give different results. Otherwise - boom! 5. Few more mods - special data (including JAMMA coin inputs and DSW) reads in $7xxxxx area and usual game modifications (removed copyrights, etc). Here are few screens from the MAME. Glitchy gfx ( mostly sprites) is caused by bad emulation of the SNES hardware in MAME - the original SNES version of Sonic Blast Man 2 looks almost identical in MESS (has the same gfx problems).

- 0.126u5: Corrado Tomaselli added 'Sonic Blast Man TURBO 2 (SNES bootleg)' (bootleg 199?).

- 17th June 2008: Corrado Tomaselli dumped Sonic Blast Man TURBO 2 (SNES bootleg).

Recommended Games (Heroes Fighter):

Knuckle Joe

My Hero



Trojan (PlayChoice-10)


Black Panther

Double Dragon

Double Dragon II

Double Dragon 3

Double Dragon (PlayChoice-10)

Double Dragon (Neo-Geo)

Ginga NinkyouDen



Shinobi (Mega-Tech)

Shinobi / FZ-2006

The Revenge of Shinobi (Mega-Tech)

Shinobi III (Mega Play)

Bad Dudes vs. Dragonninja

Shadow Warriors


Crime Fighters


Final Fight

Gang Wars

Last Battle (Mega-Tech)

Ninja Gaiden (PlayChoice-10)

Ninja Gaiden Episode II (PlayChoice-10)

Ninja Gaiden Episode III (PlayChoice-10)

Shadow Dancer

Shadow Dancer (Mega-Tech)

Tough Turf

The Combatribes

Crude Buster


Mug Smashers

64th. Street

Brute Force

Burning Fight

Captain Commando

D. D. Crew

Karate Blazers

Riot City

Streets of Rage (Mega-Tech)

Streets of Rage II (Mega Play)


B.Rap Boys

Big Fight

Guardians of the 'Hood


Silent Dragon

Thunder Hoop

TH Strikes Back

Undercover Cops

Cadillacs and Dinosaurs

Denjin Makai

Knuckle Bash

Knuckle Bash 2

Ninja Baseball Batman

The Punisher

Violent Storm

Zero Team

Pretty Soldier Sailor Moon

Black Touch '96

Final Fight 2 (SNES bootleg)

Ghost Chaser Densei (SNES bootleg)

Iron (SNES bootleg)


Sonic Blast Man 2 Special Turbo

Gaia Crusaders

Vamp 1/2

Jue Zhan Tian Huang

Thunder Heroes

Demolish Fist

Romset: 1537 kb / 4 files / 1.04 zip

MAME XML Output:

       <game name="sblast2b" sourcefile="snesb.c">
              <description>Sonic Blast Man 2 Special Turbo (SNES bootleg)</description>
              <rom name="spc700.rom" size="64" crc="44bb3a40" sha1="97e352553e94242ae823547cd853eecda55c20f0" region="user5" offset="0"/>
              <rom name="1.bin" size="524288" crc="bea10c40" sha1="d9cc65267b9b57145d714f2c17b436c1fb21513f" region="user7" offset="0"/>
              <rom name="2.bin" size="524288" crc="57d2b6e9" sha1="1a7b347101f67b254e2f86294d501b0669431644" region="user7" offset="80000"/>
              <rom name="3.bin" size="524288" crc="9e63a5ce" sha1="1d18606fbb28b55a921fc37e1af1aff4caae9003" region="user7" offset="100000"/>
              <chip type="cpu" tag="maincpu" name="5A22" clock="21480000"/>
              <chip type="cpu" tag="soundcpu" name="SPC700" clock="1024000"/>
              <chip type="audio" tag="lspeaker" name="Speaker"/>
              <chip type="audio" tag="rspeaker" name="Speaker"/>
              <chip type="audio" tag="spc700" name="SNES Custom DSP (SPC700)"/>
              <display tag="screen" type="raster" rotate="0" width="256" height="224" refresh="60.098476" pixclock="5369318" htotal="341" hbend="0" hbstart="256" vtotal="262" vbend="0" vbstart="224" />
              <sound channels="2"/>
              <input players="2" buttons="6" coins="2">
                     <control type="joy" ways="8"/>
              <dipswitch name="Coinage" tag="DSW1" mask="7">
                     <dipvalue name="4 Coins/1 Credit" value="1"/>
                     <dipvalue name="3 Coins/1 Credit" value="2"/>
                     <dipvalue name="2 Coins/1 Credit" value="3"/>
                     <dipvalue name="1 Coin/1 Credit" value="7" default="yes"/>
                     <dipvalue name="1 Coin/2 Credits" value="6"/>
                     <dipvalue name="1 Coin/3 Credits" value="5"/>
                     <dipvalue name="1 Coin/4 Credits" value="4"/>
              <dipswitch name="Difficulty" tag="DSW1" mask="56">
                     <dipvalue name="0 (Easiest)" value="56" default="yes"/>
                     <dipvalue name="1" value="48"/>
                     <dipvalue name="2" value="40"/>
                     <dipvalue name="3" value="32"/>
                     <dipvalue name="4" value="24"/>
                     <dipvalue name="5" value="16"/>
                     <dipvalue name="6" value="8"/>
                     <dipvalue name="7 (Hardest)" value="0"/>
              <dipswitch name="Lives" tag="DSW1" mask="192">
                     <dipvalue name="1" value="192"/>
                     <dipvalue name="2" value="128"/>
                     <dipvalue name="3" value="64" default="yes"/>
                     <dipvalue name="4" value="0"/>
              <dipswitch name="Power" tag="DSW2" mask="15">
                     <dipvalue name="0" value="7"/>
                     <dipvalue name="1" value="6"/>
                     <dipvalue name="2" value="5"/>
                     <dipvalue name="3" value="4" default="yes"/>
                     <dipvalue name="4" value="3"/>
                     <dipvalue name="5" value="2"/>
                     <dipvalue name="6" value="1"/>
                     <dipvalue name="7" value="0"/>
              <dipswitch name="Unused" tag="DSW2" mask="16">
                     <dipvalue name="Off" value="16" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Unused" tag="DSW2" mask="32">
                     <dipvalue name="Off" value="32" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Unused" tag="DSW2" mask="64">
                     <dipvalue name="Off" value="64" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Unused" tag="DSW2" mask="128">
                     <dipvalue name="Off" value="128" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <driver status="imperfect" emulation="good" color="good" sound="imperfect" graphic="imperfect" savestate="unsupported" palettesize="0"/>

emumovies.com      Retro bytes Portal           Bookmark and Share

Developed by: Spesoft  Headsoft     Terms of use     Privacy    Advertise