mirror of
https://github.com/holub/mame
synced 2025-04-20 15:32:45 +03:00
dec8.cpp: Replace handcrafted MCU code with actual code from a decapped/dumped MCU for The Real Ghostbusters sets. [TeamEurope, Brian Troha, The Dumping Union]
Clones promoted to working ---------------------------- The Real Ghostbusters (US 3 Players, revision 2) [TeamEurope, Brian Troha, The Dumping Union]
This commit is contained in:
parent
b5f38acf4e
commit
fd62fec78c
@ -2411,7 +2411,7 @@ ROM_START( lastmisn )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "last_mission_dl05-.5h", 0x8000, 0x8000, CRC(1a5df8c0) SHA1(83d36b1d5fb87f50c44f3110804d6bbdbbc0da99) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H MCU */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "last_mission_dl00-e.18a", 0x0000, 0x1000, CRC(6be57487) SHA1(f9efd7c4ad2802c1116045d2d8f6409cdef5f39c) BAD_DUMP ) /* not verified to be the same data as the "A" MCU dump */
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
@ -2447,7 +2447,7 @@ ROM_START( lastmisnu6 )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "last_mission_dl05-.5h", 0x8000, 0x8000, CRC(1a5df8c0) SHA1(83d36b1d5fb87f50c44f3110804d6bbdbbc0da99) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H MCU */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "last_mission_dl00-a.18a", 0x0000, 0x1000, CRC(6be57487) SHA1(f9efd7c4ad2802c1116045d2d8f6409cdef5f39c) ) /* Hand written "A", some MCUs are known to be labeled DL00-7, it's not verified to be the same data */
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
@ -2483,7 +2483,7 @@ ROM_START( lastmisnu5 )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "last_mission_dl05-.5h", 0x8000, 0x8000, CRC(1a5df8c0) SHA1(83d36b1d5fb87f50c44f3110804d6bbdbbc0da99) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H MCU */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "last_mission_dl00-a.18a", 0x0000, 0x1000, CRC(6be57487) SHA1(f9efd7c4ad2802c1116045d2d8f6409cdef5f39c) ) /* Hand written "A", some MCUs are known to be labeled DL00-7, it's not verified to be the same data */
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
@ -2600,7 +2600,7 @@ ROM_START( breywood )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "dj07-1.5h", 0x8000, 0x8000, CRC(4a471c38) SHA1(963ed7b6afeefdfc2cf0d65b0998f973330e6495) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H MCU */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "dj.18a", 0x0000, 0x1000, CRC(4cb20332) SHA1(e0bbba7be22e7bcff82fb0ae441410e559ec4566) )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
@ -2636,7 +2636,7 @@ ROM_START( gondo )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "dt-05.256", 0x8000, 0x8000, CRC(ec08aa29) SHA1(ce83974ae095d9518d1ebf9f7e712f0cbc2c1b42) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H MCU */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "dt-a.b1", 0x0000, 0x1000, CRC(03abceeb) SHA1(a16b779d7cea1c1437f85fa6b6e08894a46a5674) )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
@ -2680,7 +2680,7 @@ ROM_START( makyosen )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "ds05.h5", 0x8000, 0x8000, CRC(e6e28ca9) SHA1(3b1f8219331db1910bfb428f8964f8fc1063df6f) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H MCU */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "ds-a.b1", 0x0000, 0x1000, CRC(08f36e35) SHA1(e8913da71704a89fad41d5bfba45682119166681))
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
@ -2779,8 +2779,8 @@ ROM_START( ghostb )
|
||||
ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */
|
||||
ROM_LOAD( "dz06.5f", 0x8000, 0x8000, CRC(798f56df) SHA1(aee33cd0c102015114e17f6cb98945e7cc806f55) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H (fake) MCU */
|
||||
ROM_LOAD( "dz-1.1b", 0x0000, 0x1000, BAD_DUMP CRC(18b7e1e6) SHA1(46b6d914ecee5e743ac805be1545ca44fb016d7d) ) /* Verified label, but is it different the other DZ */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "dz-1.1b", 0x0000, 0x1000, CRC(9f5f3cb5) SHA1(5ef2b8a5411dde28277d9364db014763019ecf15) )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
ROM_LOAD( "dz00.16b", 0x00000, 0x08000, CRC(992b4f31) SHA1(a9f255286193ccc261a9b6983aabf3c76ebe5ce5) )
|
||||
@ -2817,8 +2817,8 @@ ROM_START( ghostb2a )
|
||||
ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */
|
||||
ROM_LOAD( "dz06.5f", 0x8000, 0x8000, CRC(798f56df) SHA1(aee33cd0c102015114e17f6cb98945e7cc806f55) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H (fake) MCU */
|
||||
ROM_LOAD( "dz.1b", 0x0000, 0x1000, BAD_DUMP CRC(18b7e1e6) SHA1(46b6d914ecee5e743ac805be1545ca44fb016d7d) )
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "dz-1.1b", 0x0000, 0x1000, CRC(9f5f3cb5) SHA1(5ef2b8a5411dde28277d9364db014763019ecf15) )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
ROM_LOAD( "dz00.16b", 0x00000, 0x08000, CRC(992b4f31) SHA1(a9f255286193ccc261a9b6983aabf3c76ebe5ce5) )
|
||||
@ -2855,8 +2855,8 @@ ROM_START( ghostb3 )
|
||||
ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */
|
||||
ROM_LOAD( "dz06.5f", 0x8000, 0x8000, CRC(798f56df) SHA1(aee33cd0c102015114e17f6cb98945e7cc806f55) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H (fake) MCU */
|
||||
ROM_LOAD( "dz.1b", 0x0000, 0x1000, BAD_DUMP CRC(18b7e1e6) SHA1(46b6d914ecee5e743ac805be1545ca44fb016d7d) )
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "dz-1.1b", 0x0000, 0x1000, CRC(9f5f3cb5) SHA1(5ef2b8a5411dde28277d9364db014763019ecf15) )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
ROM_LOAD( "dz00.16b", 0x00000, 0x08000, CRC(992b4f31) SHA1(a9f255286193ccc261a9b6983aabf3c76ebe5ce5) )
|
||||
@ -2893,8 +2893,8 @@ ROM_START( ghostb3a )
|
||||
ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */
|
||||
ROM_LOAD( "dz06.5f", 0x8000, 0x8000, CRC(798f56df) SHA1(aee33cd0c102015114e17f6cb98945e7cc806f55) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H (fake) MCU */
|
||||
ROM_LOAD( "dz.1b", 0x0000, 0x1000, BAD_DUMP CRC(18b7e1e6) SHA1(46b6d914ecee5e743ac805be1545ca44fb016d7d) )
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "dz-1.1b", 0x0000, 0x1000, CRC(9f5f3cb5) SHA1(5ef2b8a5411dde28277d9364db014763019ecf15) )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
ROM_LOAD( "dz00.16b", 0x00000, 0x08000, CRC(992b4f31) SHA1(a9f255286193ccc261a9b6983aabf3c76ebe5ce5) )
|
||||
@ -3015,7 +3015,7 @@ ROM_START( meikyuh )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "dw05.5f", 0x8000, 0x8000, CRC(c28c4d82) SHA1(ad88506bcbc9763e39d6e6bb25ef2bd6aa929f30) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H MCU */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "dw.1b", 0x0000, 0x1000, CRC(28e9ced9) SHA1(a3d6dfa1e44fa93c0f30fa0a88b6dd3d6e5c4dda) )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
@ -3110,7 +3110,7 @@ ROM_START( meikyuha )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "27256.5f", 0x8000, 0x8000, CRC(c28c4d82) SHA1(ad88506bcbc9763e39d6e6bb25ef2bd6aa929f30) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H MCU */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "dw.1b", 0x0000, 0x1000, CRC(28e9ced9) SHA1(a3d6dfa1e44fa93c0f30fa0a88b6dd3d6e5c4dda) )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
@ -3196,7 +3196,7 @@ ROM_START( csilver )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "dx05.3f", 0x00000, 0x10000, CRC(eb32cf25) SHA1(9390c88033259c65eb15320e31f5d696970987cc) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H MCU */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
// 017F: B4 4C 0D : cjne a,#$4C,$018F (ID code 0x4c = World version)
|
||||
ROM_LOAD( "id8751h.mcu", 0x0000, 0x1000, CRC(ca663965) SHA1(a5fb7afdfd324761bde4bb90ba12efc9954627af) ) // dx-8.19a ?
|
||||
|
||||
@ -3234,7 +3234,7 @@ ROM_START( csilverj )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "dx05.a6", 0x00000, 0x10000, CRC(eb32cf25) SHA1(9390c88033259c65eb15320e31f5d696970987cc) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H MCU */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "id8751h.mcu", 0x0000, 0x1000, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
@ -3272,7 +3272,7 @@ ROM_START( csilverja ) // DE-0250-3 + DE-0251-2
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "dx05.3f", 0x00000, 0x10000, CRC(eb32cf25) SHA1(9390c88033259c65eb15320e31f5d696970987cc) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H MCU */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "id8751h.mcu", 0x0000, 0x1000, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
@ -3422,7 +3422,7 @@ ROM_START( srdarwin )
|
||||
ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */
|
||||
ROM_LOAD( "dy04.d7", 0x8000, 0x8000, CRC(2ae3591c) SHA1(f21b06d84e2c3d3895be0812024641fd006e45cf) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H MCU */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
// 0160: B4 6B 0D : cjne a,#$6B,$0170 (ID code 0x6b = World version)
|
||||
ROM_LOAD( "id8751h.mcu", 0x0000, 0x1000, CRC(11cd6ca4) SHA1(ec70f84228e37f9fc1bda85fa52a009f61c500b2) )
|
||||
|
||||
@ -3460,7 +3460,7 @@ ROM_START( srdarwinj )
|
||||
ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */
|
||||
ROM_LOAD( "dy04.d7", 0x8000, 0x8000, CRC(2ae3591c) SHA1(f21b06d84e2c3d3895be0812024641fd006e45cf) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H MCU */
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "id8751h_japan.mcu", 0x0000, 0x1000, BAD_DUMP CRC(4ac2ca9d) SHA1(6e07788df9fcf4248a9d3e87b8c5f54776bd269e) ) // hand-modified copy of world version to correct region + coinage
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
|
||||
@ -3615,8 +3615,8 @@ GAME( 1987, makyosen, gondo, gondo, gondo, dec8_state, init_dec8,
|
||||
GAME( 1987, garyoret, 0, garyoret, garyoret, dec8_state, init_dec8, ROT0, "Data East Corporation", "Garyo Retsuden (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, ghostb, 0, ghostb, ghostb, dec8_state, init_dec8, ROT0, "Data East USA", "The Real Ghostbusters (US 2 Players, revision 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, ghostb2a, ghostb, ghostb, ghostb2a, dec8_state, init_dec8, ROT0, "Data East USA", "The Real Ghostbusters (US 2 Players)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, ghostb3, ghostb, ghostb, ghostb3, dec8_state, init_dec8, ROT0, "Data East USA", "The Real Ghostbusters (US 3 Players)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, ghostb3a, ghostb, ghostb, ghostb3, dec8_state, init_dec8, ROT0, "Data East USA", "The Real Ghostbusters (US 3 Players, revision ?)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // ROMs confirmed working on PCB, confirmed problem with the fake MCU ROM
|
||||
GAME( 1987, ghostb3, ghostb, ghostb, ghostb3, dec8_state, init_dec8, ROT0, "Data East USA", "The Real Ghostbusters (US 3 Players, revision 3B?)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, ghostb3a, ghostb, ghostb, ghostb3, dec8_state, init_dec8, ROT0, "Data East USA", "The Real Ghostbusters (US 3 Players, revision 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, meikyuh, ghostb, meikyuh, meikyuh, dec8_state, init_dec8, ROT0, "Data East Corporation", "Meikyuu Hunter G (Japan, set 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, meikyuha, ghostb, meikyuh, meikyuh, dec8_state, init_dec8, ROT0, "Data East Corporation", "Meikyuu Hunter G (Japan, set 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, csilver, 0, csilver, csilver, dec8_state, init_csilver, ROT0, "Data East Corporation", "Captain Silver (World)", MACHINE_SUPPORTS_SAVE )
|
||||
|
Loading…
Reference in New Issue
Block a user