killbld: MAME ROM Information. History:
The Killing Blade (c) 1998 IGS.
- TECHNICAL -
IGS PGM hardware
Main CPU : 68000 (@ 20 Mhz)
Sound CPU : Z80 (@ 8.468 Mhz)
Sound Chips : ICS2115 (@ 8.468 Mhz)
Control per player: 8-way joystick
Buttons per player: 4
- TRIVIA -
Released in January 1998.
- STAFF -
Executive Producer : Ray
Chief Consultant : Alf
System Programmer : L.C.N
Program Engineers : Why, Vee, S.M.S
Hardware Engineer : Franklin Wu
Animation Conductor : N.D
Animation : Lai Yao Kun, M.A.Y, Zhang Zhi Kai, J.C.H, L.G.U, Deby Fu, Minchen W, Melody, Eagle Young, L.S.J, Akira Yuki, Chou Hsien-Chin, Kelly, Xu Gui Xiu, Chen Su Ping, P.P.C, Y.J.S
Music & Sound Effects : Eddie Yao
Announcers : Wu Li, Guan Zi Hong, Kang Bao, Lei Wei Yuan, Zhang Wen Jun, Zhang Kai Kai
Designers : Liu Guo Jun, Mao Lide, Gao Zhong Ren, Yin, Andy, Chin
Producers : Ko-Chu Lee, Paul Chiang, A.C. Chen, Tzung-Hui Cheng
- SOURCES -
Game's rom.
MAME Info:
0.137u1 [El Semi]
0.84 [David Haywood]
WIP:
- 0.138: XingXing removed ROM Patch in Killing Blade and replaced it with correct IGS025 return sequence fo China region (other sequences still unknown).
- 0.137u4: XingXing and David Haywood fixed clone The Killing Blade (ver. 104) - Game now playable. Improved encrypted DMA mode 3 and DMA modes 1+2 in Killing Blade, allowing all DMA operations used by the game to work and the RAM dump to be removed. Redumped maincpu rom p0300_v109.u9 ($100000 - 2MB).
- 27th April 2010: David Haywood - The Killing Blade has been emulated for a long time, but it's always bothered me that in order for it to run a dump of the RAM content from a running machine was required to bypass proper emulation of a scrambled DMA device. A few days ago XingXing sent me some data from tests he did on the PCB, allowing me to properly implement the transfers and remove the fake ROM. This means that both sets of The Killing Blade now work correctly (previously only the parent set worked, because the RAM dump was incorrect for the clone). Not that exciting, but from an emulation point of view, good to understand, and it was interesting to find that the xor/add/subtraction table used for the transfers is actually stored at the start of the MCU data rom. Emulating the device also revealed another interesting oddity. Previously an entire block of startup code for the game was missing, because it was put in ram, executed, and erased, and thus missing from the RAM dump. This performs some additional security checks, these haven't been figured out yet (and aren't that important, they were completely missing before afterall!), but will present another interesting challenge at some point. Slightly more interesting is the fact that the chip which is thourgh to be responsible for the scrambled DMA (IGS022) can be exchanged between games, although the chip it's used in conjunction with (IGS025) can't.
- 0.137u2: smf changed The Killing Blade parent to the PGM BIOS.
- 0.137u1: Changed The Killing Blade (ver. 109, Chinese Board) to parent set. Renamed (killbld) to (killbld104) and (killbldt) to (killbld).
- 0.130u3: Changed description to 'The Killing Blade (ver. 104)' and clone to 'The Killing Blade (ver. 109, Chinese Board)'.
- 0.105u2: ElSemi do some more work on the Killing Blade protection. Changed description of clone 'The Killing Blade (Taiwan?)' to 'The Killing Blade (Chinese Board)'.
- 15th April 2006: David Haywood - ElSemi has been working on emulating the protection in Killing Blade. I've decided to take a few snaps of Killing Blade. It's a Samurai Shodown style game, quite bloody, with some nice effects. It's a tag game like some of the CPS2 titles, but in this case both characters share a single energy bar. The characters and moves are more interesting than in a lot of similar titles, although the animation and quality of some of the graphics lets the game down a bit. The game may not work 100% correctly yet as there are still some very suspicious things going on with the protection and more than a few things that don't make much sense yet. I've also added sprite zooming to the PGM driver, although this has slowed it down quite a bit for now. I may re-optimize it later, the PGM sprite system is messy to support. Before anybody asks, No, I don't plan on looking at the newer titles or porting ElSemi's KOV2 work to MAME. I feel it's more important to get the older IGS titles sorted out before even thinking of looking at the newer ones like Martial Masters, Knights of Valor 2, DoDonPachi 2 etc. These screenshots have been resized to look better on a standard display because PGM uses a strange 448x224 resolution. This is really ElSemi's WIP as porting his code to MAME is trivial compared to figuring it out in the first place.
- 0.105u1: El Semi added clone The Killing Blade (Taiwan?). El Semi also corrected decryption function for The Killing Blade, fixed gfx3/4 rom loading and added some WIP protection simulation for The Killing Blade (Taiwan?), game boots but at least one stage is broken.
- 0.84u5: Fixed cpu1 rom addresses to $200000/1.
- 0.84: David Haywood added The Killing Blade (IGS 1998).
- 22nd May 2004: Guru - The Killing Blade (IGS 1998, PGM cart) arrived on loan from Blastar.
LEVELS: 11 (The Killing Blade (Chinese Board))
Other Emulators:
* FB Alpha
* Nebula
Recommended Games (Asian Fighting vs.):
Karate Champ
Syusse Oozumou
Oozumou - The Grand Sumo (DECO Cassette)
Shanghai Kid
Yie Ar Kung-Fu
Kageki
Reikai Doushi
The Karate Tournament
Shogun Warriors
Dragonball Z
Dragon Ball Z V.R.V.S
Dragonball Z 2 - Super Battle
Samurai Shodown
Samurai Shodown II
Samurai Shodown III
Samurai Shodown IV
Samurai Shodown V
Samurai Shodown V Special
Samurai Spirits Tenkaichi Kenkakuden
Battle K-Road
Blood Warrior
Dragon Master
Fight Fever
Far East of Eden
Metamoqester
Suikoenbu
Ninja Master's
Waku Waku 7
The Last Blade
The Last Blade 2
Astra SuperStars
Asura Blade - Sword of Dynasty
Asura Buster - Eternal Warriors
The Killing Blade
Guilty Gear X
Guilty Gear X ver. 1.5
Guilty Gear XX
Guilty Gear XX #Reload
Guilty Gear XX Slash
Guilty Gear XX Accent Core
Guilty Gear Isuka
Martial Masters
The Rumble Fish
The Rumble Fish 2
Neo-Geo Battle Coliseum
Romset: 41024 kb / 12 files / 14.7 zip
MAME XML Output:
   | <game name="killbld" sourcefile="pgm.c" romof="pgm"> |
   |    | <description>The Killing Blade (ver. 109, Chinese Board)</description> |
   |    | <year>1998</year> |
   |    | <manufacturer>IGS</manufacturer> |
   |    | <biosset name="v2" description="PGM Bios V2" default="yes"/> |
   |    | <biosset name="v1" description="PGM Bios V1"/> |
   |    | <rom name="pgm_p02s.u20" merge="pgm_p02s.u20" bios="v2" size="131072" crc="78c15fa2" sha1="885a6558e022602cc6f482ac9667ba9f61e75092" region="maincpu" offset="0"/> |
   |    | <rom name="pgm_p01s.u20" merge="pgm_p01s.u20" bios="v1" size="131072" crc="e42b166e" sha1="2a9df9ec746b14b74fae48b1a438da14973702ea" region="maincpu" offset="0"/> |
   |    | <rom name="p0300_v109.u9" size="2097152" crc="2fcee215" sha1="855281a9090bfdf3da9f4d50c121765131a13400" region="maincpu" offset="100000"/> |
   |    | <rom name="kb_u2.rom" size="65536" crc="de3eae63" sha1="03af767ef764055bda528b5cc6a24b9e1218cca8" region="igs022data" offset="0"/> |
   |    | <rom name="pgm_t01s.rom" merge="pgm_t01s.rom" size="2097152" crc="1a7123a0" sha1="cc567f577bfbf45427b54d6695b11b74f2578af3" region="tiles" offset="0"/> |
   |    | <rom name="t0300.u14" size="4194304" crc="0922f7d9" sha1="4302b4b7369e13f315fad14f7d6cad1321101d24" region="tiles" offset="180000"/> |
   |    | <rom name="a0300.u9" size="4194304" crc="3f9455d3" sha1="3718ce00ad93975383aafc14e5a74dc297b011a1" region="sprcol" offset="0"/> |
   |    | <rom name="a0301.u10" size="4194304" crc="92776889" sha1="6d677837fefff47bfd1c6166322f69f89989a5e2" region="sprcol" offset="400000"/> |
   |    | <rom name="a0303.u11" size="4194304" crc="33f5cc69" sha1="9cacd5058d4bb25b77f71658bbbbd4b38d0a6b6a" region="sprcol" offset="800000"/> |
   |    | <rom name="a0306.u12" size="4194304" crc="cc018a8e" sha1="37752d46f238fb57c0ab5a4f96b1e013f2077347" region="sprcol" offset="c00000"/> |
   |    | <rom name="a0307.u2" size="4194304" crc="bc772e39" sha1="079cc42a190cb916f02b59bca8fa90e524acefe9" region="sprcol" offset="1000000"/> |
   |    | <rom name="b0300.u13" size="4194304" crc="7f876981" sha1="43555a200929ad5ecc42137fc9aeb42dc4f50d20" region="sprmask" offset="0"/> |
   |    | <rom name="b0302.u14" size="4194304" crc="eea9c502" sha1="04b3972c7111ea59a3cceab6ad124080c4ce3520" region="sprmask" offset="400000"/> |
   |    | <rom name="b0303.u15" size="2097152" crc="77a9652e" sha1="2342f643d37945fbda224a5034c013796e5134ca" region="sprmask" offset="800000"/> |
   |    | <rom name="pgm_m01s.rom" merge="pgm_m01s.rom" size="2097152" crc="45ae7159" sha1="d3ed3ff3464557fd0df6b069b2e431528b0ebfa8" region="ics" offset="0"/> |
   |    | <rom name="m0300.u1" size="4194304" crc="93159695" sha1="50c5976c9b681bd3d1ebefa3bfa9fe6e72dcb96f" region="ics" offset="400000"/> |
   |    | <chip type="cpu" tag="maincpu" name="68000" clock="20000000"/> |
   |    | <chip type="cpu" tag="soundcpu" name="Z80" clock="8467200"/> |
   |    | <chip type="audio" tag="mono" name="Speaker"/> |
   |    | <chip type="audio" tag="ics" name="ICS2115"/> |
   |    | <display tag="screen" type="raster" rotate="0" width="448" height="224" refresh="60.000000" /> |
   |    | <sound channels="1"/> |
   |    | <input players="4" buttons="4" coins="4"> |
   |    |    | <control type="joy" ways="8"/> |
   |    | </input> |
   |    | <dipswitch name="Service Mode" tag="DSW" mask="1"> |
   |    |    | <dipvalue name="Off" value="1" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Music" tag="DSW" mask="2"> |
   |    |    | <dipvalue name="Off" value="0"/> |
   |    |    | <dipvalue name="On" value="2" default="yes"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Voice" tag="DSW" mask="4"> |
   |    |    | <dipvalue name="Off" value="0"/> |
   |    |    | <dipvalue name="On" value="4" default="yes"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Free" tag="DSW" mask="8"> |
   |    |    | <dipvalue name="Off" value="8" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Stop" tag="DSW" mask="16"> |
   |    |    | <dipvalue name="Off" value="16" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Unused" tag="DSW" mask="32"> |
   |    |    | <dipvalue name="Off" value="32" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Unused" tag="DSW" mask="64"> |
   |    |    | <dipvalue name="Off" value="64" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Unused" tag="DSW" mask="128"> |
   |    |    | <dipvalue name="Off" value="128" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Region (not currently working)" tag="Region" mask="255"> |
   |    |    | <dipvalue name="Taiwan" value="22"/> |
   |    |    | <dipvalue name="China" value="23"/> |
   |    |    | <dipvalue name="Hong Kong" value="24"/> |
   |    |    | <dipvalue name="Japan" value="25"/> |
   |    |    | <dipvalue name="Korea" value="32"/> |
   |    |    | <dipvalue name="World" value="33" default="yes"/> |
   |    | </dipswitch> |
   |    | <driver status="imperfect" emulation="good" color="good" sound="imperfect" graphic="good" savestate="supported" palettesize="2304"/> |
|
|