ボン・ジャックを解析してみた

ここらへんを参考にして、テクモヒットパレードを解析してみる。

http://mamedev.org/source/src/mame/drivers/bombjack.c.html

テクモ ヒットパレード

テクモ ヒットパレード

今回はPCSX2のステートセーブデータを解析しました。PCSX2の使い方は割愛します。

ROM_START( bombjack )
 ROM_REGION( 0x10000, "maincpu", 0 )
 ROM_LOAD( "09_j01b.bin",  0x0000, 0x2000, CRC(c668dc30) SHA1(51dd6a2688b42e9f28f0882bd76f75be7ec3222a) )
 ROM_LOAD( "10_l01b.bin",  0x2000, 0x2000, CRC(52a1e5fb) SHA1(e1cdc4b4efbc6c7a1e4fa65019486617f2acba1b) )
 ROM_LOAD( "11_m01b.bin",  0x4000, 0x2000, CRC(b68a062a) SHA1(43bae56494ac0202aaa8f1ed5c1ed1bff775b2b8) )
 ROM_LOAD( "12_n01b.bin",  0x6000, 0x2000, CRC(1d3ecee5) SHA1(8b3c49e21ea4952cae7042890d1be2115f7d6fda) )
 ROM_LOAD( "13.1r",        0xc000, 0x2000, CRC(70e0244d) SHA1(67654155e42821ea78a655f869fb81c8d6387f63) )
 
 ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound board */
 ROM_LOAD( "01_h03t.bin",  0x0000, 0x2000, CRC(8407917d) SHA1(318face9f7a7ab6c7eeac773995040425e780aaf) )
 
 ROM_REGION( 0x3000, "chars", 0 )
 ROM_LOAD( "03_e08t.bin",  0x0000, 0x1000, CRC(9f0470d5) SHA1(94ef52ef47b4399a03528fe3efeac9c1d6983446) )    /* chars */
 ROM_LOAD( "04_h08t.bin",  0x1000, 0x1000, CRC(81ec12e6) SHA1(e29ba193f21aa898499187603b25d2e226a07c7b) )
 ROM_LOAD( "05_k08t.bin",  0x2000, 0x1000, CRC(e87ec8b1) SHA1(a66808ef2d62fca2854396898b86bac9be5f17a3) )
 
 ROM_REGION( 0x6000, "tiles", 0 )
 ROM_LOAD( "06_l08t.bin",  0x0000, 0x2000, CRC(51eebd89) SHA1(515128a3971fcb97b60c5b6bdd2b03026aec1921) )    /* background tiles */
 ROM_LOAD( "07_n08t.bin",  0x2000, 0x2000, CRC(9dd98e9d) SHA1(6db6006a6e20ff7c243d88293ca53681c4703ea5) )
 ROM_LOAD( "08_r08t.bin",  0x4000, 0x2000, CRC(3155ee7d) SHA1(e7897dca4c145f10b7d975b8ef0e4d8aa9354c25) )
 
 ROM_REGION( 0x6000, "sprites", 0 )
 ROM_LOAD( "16_m07b.bin",  0x0000, 0x2000, CRC(94694097) SHA1(de71bcd67f97d05527f2504fc8430be333fb9ec2) )    /* sprites */
 ROM_LOAD( "15_l07b.bin",  0x2000, 0x2000, CRC(013f58f2) SHA1(20c64593ab9fcb04cefbce0cd5d17ce3ff26441b) )
 ROM_LOAD( "14_j07b.bin",  0x4000, 0x2000, CRC(101c858d) SHA1(ed1746c15cdb04fae888601d940183d5c7702282) )
 
 ROM_REGION( 0x1000, "gfx4", 0 ) /* background tilemaps */
 ROM_LOAD( "02_p04t.bin",  0x0000, 0x1000, CRC(398d4a02) SHA1(ac18a8219f99ba9178b96c9564de3978e39c59fd) )
 ROM_END

結果全てのROMのCRC32が一致しました!

>crc eeMemory.bin c668dc30 2000
crc32=c668dc30,size=2000
crc32=c668dc30,addr=1607e0-1627df

>cut eeMemory.bin 1627e0 2000
start=001627e0,size=2000
crc32=52a1e5fb,addr=1627e0-1647df

>cut eeMemory.bin 1647e0 2000
start=001647e0,size=2000
crc32=b68a062a,addr=1647e0-1667df

>cut eeMemory.bin 1667e0 2000
start=001667e0,size=2000
crc32=1d3ecee5,addr=1667e0-1687df

>cut eeMemory.bin 1687e0 2000
start=001687e0,size=2000
crc32=70e0244d,addr=1687e0-16a7df

>crc eeMemory.bin 8407917d 2000
crc32=8407917d,size=2000
crc32=8407917d,addr=16a7e0-16c7df

>crc eeMemory.bin 9f0470d5 1000
crc32=9f0470d5,size=1000
crc32=9f0470d5,addr=16c7e0-16d7df

>cut eeMemory.bin 16d7e0 1000
start=0016d7e0,size=1000
crc32=81ec12e6,addr=16d7e0-16e7df

>cut eeMemory.bin 16e7e0 1000
start=0016e7e0,size=1000
crc32=e87ec8b1,addr=16e7e0-16f7df

>crc eeMemory.bin 51eebd89 2000
crc32=51eebd89,size=2000
crc32=51eebd89,addr=16f7e0-1717df

>cut eeMemory.bin 1717e0 2000
start=001717e0,size=2000
crc32=9dd98e9d,addr=1717e0-1737df

>cut eeMemory.bin 1737e0 2000
start=001737e0,size=2000
crc32=3155ee7d,addr=1737e0-1757df

>crc eeMemory.bin 94694097 2000
crc32=94694097,size=2000
crc32=94694097,addr=1757e0-1777df

>cut eeMemory.bin 1777e0 2000
start=001777e0,size=2000
crc32=013f58f2,addr=1777e0-1797df

>cut eeMemory.bin 1797e0 2000
start=001797e0,size=2000
crc32=101c858d,addr=1797e0-17b7df

>crc eeMemory.bin 398d4a02 1000
crc32=398d4a02,size=1000
crc32=398d4a02,addr=17b7e0-17c7df

MAMEで起動して遊びます。

>mame -window -resolution 512x448 bombjack

f:id:tanam:20140220090648p:image:w360

f:id:tanam:20140220090647p:image:w360