mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
New working clones
------------------ Raiden II (Great Britain) [Domenico Cervini] - igs/igs_m027.cpp: confirmed some more internal ROM dumps [Guru]
This commit is contained in:
parent
1df414b73b
commit
8e3f4df02a
@ -179,7 +179,7 @@ const uint32_t igs036_decryptor::triggers[16][2] = {
|
||||
// * There are quite a number of functionally equivalent ways to implement
|
||||
// those boolean functions, so the given implementation (by multiplexing
|
||||
// over some simple functions) shouldn't be taken too seriously: while it's
|
||||
// functionally correct, it doesn't neccesarily represent the way the hardware
|
||||
// functionally correct, it doesn't necessarily represent the way the hardware
|
||||
// is calculating them.
|
||||
|
||||
static int unknown(int address) { return 0; }
|
||||
|
@ -5,14 +5,18 @@
|
||||
Driver by XingXing
|
||||
|
||||
These games use the IGS027A processor. This is an ARM7 with internal
|
||||
ROM (also used on later PGM games).
|
||||
ROM (also used on later PGM games). The IGS027A is usually covered by
|
||||
a holographic sticker with an alphanumerical code. It has been
|
||||
confirmed that it doesn't correspond to a specific internal ROM (i.e.
|
||||
two B6-stickered IGS027As have been found to contain different internal
|
||||
ROM, while 3 differently stickered IGS027As have been found to contain
|
||||
the same internal ROM).
|
||||
|
||||
In some cases the first part of the internal ROM is execute only, and
|
||||
cannot be read out with a trojan. It hasn't been confirmed if these
|
||||
games make use of that feature.
|
||||
cannot be read out with a trojan. No games in this driver make use of
|
||||
this feature.
|
||||
|
||||
To emulate these games the internal ROM will need dumping.
|
||||
There are at least 20 other games on this and similar platforms.
|
||||
There are several more games on this and similar platforms.
|
||||
|
||||
Hold service on boot to access input test and sound test when
|
||||
implemented.
|
||||
@ -2786,8 +2790,7 @@ ROM_END
|
||||
ROM_START( cjddz ) // PCB-0489-05-FM-1
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A ARM based MCU
|
||||
// stickered B6 but doesn't work with other B6 dumps. Using the dump for cjddz215cn which works, waiting for trojan
|
||||
ROM_LOAD( "cjddz_igs027a", 0x00000, 0x4000, BAD_DUMP CRC(124f4bee) SHA1(bf9785516ef36290c2a7bac307bb2d849f2045ae) )
|
||||
ROM_LOAD( "b6_igs027a", 0x00000, 0x4000, CRC(124f4bee) SHA1(bf9785516ef36290c2a7bac307bb2d849f2045ae) )
|
||||
|
||||
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg
|
||||
ROM_LOAD( "p1.u17", 0x000000, 0x80000, CRC(81bc6ff6) SHA1(ca07b9becf6dd8724be339d8eee29c908dc10422) )
|
||||
@ -2807,8 +2810,7 @@ ROM_END
|
||||
ROM_START( cjddz217cn ) // PCB-0489-05-FM-1
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A ARM based MCU
|
||||
// stickered s12. Using the dump for cjddz215cn which works, waiting for trojan
|
||||
ROM_LOAD( "cjddz217cn_igs027a", 0x00000, 0x4000, BAD_DUMP CRC(124f4bee) SHA1(bf9785516ef36290c2a7bac307bb2d849f2045ae) )
|
||||
ROM_LOAD( "s12_igs027a", 0x00000, 0x4000, CRC(124f4bee) SHA1(bf9785516ef36290c2a7bac307bb2d849f2045ae) )
|
||||
|
||||
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg
|
||||
ROM_LOAD( "v-217cn.u17", 0x000000, 0x80000, CRC(42df949c) SHA1(262237d8219d41b04a99156289858fc63f9614dd) )
|
||||
@ -2930,8 +2932,7 @@ ROM_END
|
||||
ROM_START( lhzb4dhb ) // Only 2 DIP switch banks are populated.
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A ARM based MCU
|
||||
// stickered F12. Using the dump for lhzb4104cn which works, waiting for trojan
|
||||
ROM_LOAD( "f12_igs027a", 0x00000, 0x4000, CRC(de12c918) SHA1(87c1cf92a95565d78c6fe7629c19729f5fb5c2a5) ) // F12
|
||||
ROM_LOAD( "f12_igs027a", 0x00000, 0x4000, CRC(de12c918) SHA1(87c1cf92a95565d78c6fe7629c19729f5fb5c2a5) )
|
||||
|
||||
ROM_REGION32_LE( 0x200000, "user1", 0 ) // external ARM data / prg
|
||||
ROM_LOAD( "v-203cn.u46", 0x000000, 0x200000, CRC(96d0cb19) SHA1(e5a450a9767327f5ceb0611400fe40b3582c0e8d) )
|
||||
@ -3227,7 +3228,7 @@ GAME( 2004, lhzb4, 0, lhzb4, lhzb4, igs_m027_stat
|
||||
GAME( 2004, lhzb4dhb, 0, lhzb4, lhzb4, igs_m027_state, init_lhzb4, ROT0, "IGS", "Long Hu Zhengba 4 Dui Hua Ban (V203CN)", 0 )
|
||||
GAME( 1999, lthyp, 0, lthyp, lthyp, igs_m027_state, init_lthyp, ROT0, "IGS", "Long Teng Hu Yao Duizhan Jiaqiang Ban (S104CN)", MACHINE_NODEVICE_LAN )
|
||||
GAME( 2000, zhongguo, 0, zhongguo, zhongguo, igs_m027_state, init_zhongguo, ROT0, "IGS", "Zhongguo Chu Da D (V102C)", 0 )
|
||||
GAMEL( 200?, jking02, 0, jking02, jking02, igs_m027_state, init_jking02, ROT0, "IGS", "Jungle King 2002 (V209US)", MACHINE_NODEVICE_LAN, layout_jking02 ) // shows V212US in bookkeeping menu
|
||||
GAMEL( 2001, jking02, 0, jking02, jking02, igs_m027_state, init_jking02, ROT0, "IGS", "Jungle King 2002 (V209US)", MACHINE_NODEVICE_LAN, layout_jking02 ) // shows V212US in bookkeeping menu
|
||||
GAME( 2003, mgzz, 0, mgzz, mgzz101cn, igs_m027_state, init_mgzz, ROT0, "IGS", "Manguan Zhizun (V101CN)", 0 )
|
||||
GAME( 2003, mgzz100cn, mgzz, mgzz, mgzz100cn, igs_m027_state, init_mgzz, ROT0, "IGS", "Manguan Zhizun (V100CN)", 0 )
|
||||
GAME( 2007, mgcs3, 0, lhzb4, mgcs3, igs_m027_state, init_mgcs3, ROT0, "IGS", "Manguan Caishen 3 (V101CN)", 0 )
|
||||
@ -3235,11 +3236,11 @@ GAMEL( 1999, oceanpar, 0, oceanpar, oceanpar105us, igs_m027_stat
|
||||
GAMEL( 1999, oceanpar101us, oceanpar, oceanpar, oceanpar101us, igs_m027_state, init_oceanpar, ROT0, "IGS", "Ocean Paradise (V101US)", 0, layout_oceanpar ) // 1999 copyright in ROM
|
||||
GAMEL( 1999, fruitpar, 0, oceanpar, oceanpar105us, igs_m027_state, init_fruitpar, ROT0, "IGS", "Fruit Paradise (V214US)", 0, layout_oceanpar )
|
||||
GAMEL( 1999, fruitpar206us, fruitpar, oceanpar, fruitpar206us, igs_m027_state, init_fruitpar, ROT0, "IGS", "Fruit Paradise (V206US)", 0, layout_oceanpar )
|
||||
GAME( 200?, cjddz, 0, cjddz, cjddz, igs_m027_state, init_cjddz, ROT0, "IGS", "Chaoji Dou Dizhu (V219CN)", 0 )
|
||||
GAME( 200?, cjddz217cn, cjddz, cjddz, cjddz, igs_m027_state, init_cjddz, ROT0, "IGS", "Chaoji Dou Dizhu (V217CN)", 0 )
|
||||
GAME( 200?, cjddz215cn, cjddz, cjddz, cjddz, igs_m027_state, init_cjddz, ROT0, "IGS", "Chaoji Dou Dizhu (V215CN)", 0 )
|
||||
GAME( 200?, cjddzp, 0, cjddz, cjddzp, igs_m027_state, init_cjddzp, ROT0, "IGS", "Chaoji Dou Dizhu Jiaqiang Ban (S300CN)", MACHINE_NODEVICE_LAN )
|
||||
GAME( 200?, cjddzlf, 0, cjddz, cjddz, igs_m027_state, init_cjddzlf, ROT0, "IGS", "Chaoji Dou Dizhu Liang Fu Pai (V109CN)", 0 )
|
||||
GAME( 2004, cjddz, 0, cjddz, cjddz, igs_m027_state, init_cjddz, ROT0, "IGS", "Chaoji Dou Dizhu (V219CN)", 0 ) // 2004 date in internal ROM
|
||||
GAME( 2004, cjddz217cn, cjddz, cjddz, cjddz, igs_m027_state, init_cjddz, ROT0, "IGS", "Chaoji Dou Dizhu (V217CN)", 0 ) // 2004 date in internal ROM
|
||||
GAME( 2004, cjddz215cn, cjddz, cjddz, cjddz, igs_m027_state, init_cjddz, ROT0, "IGS", "Chaoji Dou Dizhu (V215CN)", 0 ) // 2004 date in internal ROM
|
||||
GAME( 2004, cjddzp, 0, cjddz, cjddzp, igs_m027_state, init_cjddzp, ROT0, "IGS", "Chaoji Dou Dizhu Jiaqiang Ban (S300CN)", MACHINE_NODEVICE_LAN ) // 2004 date in internal ROM
|
||||
GAME( 2005, cjddzlf, 0, cjddz, cjddz, igs_m027_state, init_cjddzlf, ROT0, "IGS", "Chaoji Dou Dizhu Liang Fu Pai (V109CN)", 0 ) // 2005 date in internal ROM
|
||||
GAME( 2005, cjtljp, 0, cjtljp, lhzb4, igs_m027_state, init_cjtljp, ROT0, "IGS", "Chaoji Tuolaji Jiaqiang Ban (V206CN)", 0 ) // 2005 date in internal ROM
|
||||
GAMEL( 2007, tripslot, 0, tripslot, tripslot, igs_m027_state, init_tripslot, ROT0, "IGS", "Triple Slot (V200VE)", 0, layout_tripslot ) // 2007 date in internal ROM at least, could be later, default settings password is all 'start 1'
|
||||
// this has a 2nd 8255
|
||||
|
@ -739,7 +739,7 @@ ROM_END
|
||||
ROM_START( wldfruit ) // IGS PCB-0447-05-GM - Has IGS027A, MX10EXAQC, IGS031, Oki M6295, three banks of 8 DIP switches
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A ARM based MCU
|
||||
ROM_LOAD( "w1.u37", 0x00000, 0x4000, NO_DUMP ) // sticker marked 'W1?' (same label, but not the same as tripfev? or an error)
|
||||
ROM_LOAD( "w1.u37", 0x00000, 0x4000, NO_DUMP ) // sticker marked 'W1?' (same label, but not the same as tripfev)
|
||||
|
||||
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg
|
||||
ROM_LOAD( "wild_fruit_v-208us.u23", 0x000000, 0x80000, CRC(d43398f1) SHA1(ecc4bd5cb6da16b35c63b843cf7beec1ab84ed9d) ) // M27C4002
|
||||
|
@ -20323,36 +20323,36 @@ icescape // (c) 2006
|
||||
superkds
|
||||
|
||||
@source:igs/igs_m027.cpp
|
||||
amazoni2 // (c) 2002
|
||||
amazoni2 // (c) 2003
|
||||
amazonia // (c) 1999
|
||||
amazonkp // (c) 1999
|
||||
chessc2 // (c) 200?
|
||||
cjddz // (c) 200?
|
||||
cjddz215cn // (c) 200?
|
||||
cjddz217cn // (c) 200?
|
||||
cjddzlf // (c) 200?
|
||||
cjddzp // (c) 200?
|
||||
chessc2 // (c) 2002
|
||||
cjddz // (c) 2004
|
||||
cjddz215cn // (c) 2004
|
||||
cjddz217cn // (c) 2004
|
||||
cjddzlf // (c) 2005
|
||||
cjddzp // (c) 2004
|
||||
cjtljp // (c) 2005
|
||||
extradrw // (c) 200?
|
||||
extradrw // (c) 2001
|
||||
fruitpar // (c) 1999
|
||||
fruitpar206us // (c) 1999
|
||||
gonefsh2 // (c) 200?
|
||||
jking02 // (c) 200?
|
||||
jking02 // (c) 2001
|
||||
klxyj // (c) 200?
|
||||
lhdmg // (c) 1999
|
||||
lhdmgp // (c) 1999
|
||||
lhzb3 // (c) 200?
|
||||
lhzb3106c5m // (c) 200?
|
||||
lhzb3sjb // (c) 200?
|
||||
lhzb4 // (c) 200?
|
||||
lhzb4dhb // (c) 200?
|
||||
lhzb3 // (c) 1999
|
||||
lhzb3106c5m // (c) 1999
|
||||
lhzb3sjb // (c) 1999
|
||||
lhzb4 // (c) 2004
|
||||
lhzb4dhb // (c) 2004
|
||||
lthyp // (c) 1999
|
||||
luckycrs // (c) 200?
|
||||
mgcs3 // (c) 200?
|
||||
mgcs3 // (c) 2007
|
||||
mgzz // (c) 2003
|
||||
mgzz100cn // (c) 2003
|
||||
oceanpar //
|
||||
oceanpar101us //
|
||||
oceanpar // (c) 1999
|
||||
oceanpar101us // (c) 1999
|
||||
olympic5 // (c) 2005
|
||||
olympic5107us // (c) 2003
|
||||
tripslot // (c) 2007
|
||||
@ -41253,12 +41253,13 @@ raiden2eua // (c) 1993 Seibu Kaihatsu + Fabtek license
|
||||
raiden2eub // (c) 1993 Seibu Kaihatsu + Fabtek license
|
||||
raiden2f // (c) 1993 Seibu Kaihatsu
|
||||
raiden2g // (c) 1993 Seibu Kaihatsu + Tuning license
|
||||
raiden2gb // (c) 1993 Seibu Kaihatsu
|
||||
raiden2hk // (c) 1993 Seibu Kaihatsu + Metrotainment license
|
||||
raiden2i // (c) 1993 Seibu Kaihatsu
|
||||
raiden2j // (c) 1993 Seibu Kaihatsu
|
||||
raiden2k // (c) 1993 Seibu Kaihatsu
|
||||
raiden2nl // (c) 1993 Seibu Kaihatsu
|
||||
raiden2sw // (c) 1993 Seibu Kaihats
|
||||
raiden2sw // (c) 1993 Seibu Kaihatsu
|
||||
raiden2u // (c) 1993 Seibu Kaihatsu + Fabtek license
|
||||
raidendx // (c) 1994 Seibu Kaihatsu
|
||||
raidendxa1 // (c) 1994 Seibu Kaihatsu + Metrotainment license
|
||||
|
@ -1368,6 +1368,47 @@ ROM_START( raiden2g )
|
||||
ROM_LOAD( "raiden_2_pcm.u1018", 0x00000, 0x40000, CRC(8cf0d17e) SHA1(0fbe0b1e1ca5360c7c8329331408e3d799b4714c) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( raiden2gb ) // original board with serial number on sticker on u0212
|
||||
ROM_REGION( 0x200000, "maincpu", 0 ) /* v30 main cpu */
|
||||
ROM_LOAD16_BYTE("prg0.u0211", 0x000000, 0x80000, CRC(09475ec4) SHA1(05027f2d8f9e11fcbd485659eda68ada286dae32) )
|
||||
ROM_RELOAD(0x100000, 0x80000)
|
||||
ROM_LOAD16_BYTE("prg1.u0212", 0x000001, 0x80000, CRC(4b9e3024) SHA1(10f0384cff6acac5823c77277b3c75e83d34589c) )
|
||||
ROM_RELOAD(0x100001, 0x80000)
|
||||
|
||||
ROM_REGION( 0x20000, "audiocpu", ROMREGION_ERASEFF ) /* 64k code for sound Z80 */
|
||||
ROM_LOAD( "snd.u1110", 0x000000, 0x08000, CRC(f51a28f9) SHA1(7ae2e2ba0c8159a544a8fd2bb0c2c694ba849302) )
|
||||
ROM_CONTINUE(0x10000,0x8000)
|
||||
ROM_COPY( "audiocpu", 0x000000, 0x018000, 0x08000 )
|
||||
|
||||
ROM_REGION( 0x020000, "gfx1", 0 ) /* chars */
|
||||
ROM_LOAD( "seibu7.u0724", 0x000000, 0x020000, CRC(c9ec9469) SHA1(a29f480a1bee073be7a177096ef58e1887a5af24) ) /* PCB silkscreened FX0 */
|
||||
|
||||
ROM_REGION( 0x100000, "oki1", 0 ) /* ADPCM samples */
|
||||
ROM_LOAD( "seibu6.u1017", 0x00000, 0x40000, CRC(fb0fca23) SHA1(4b2217b121a66c5ab6015537609cf908ffedaf86) ) /* PCB silkscreened VOICE1 */
|
||||
|
||||
// Common Raiden II PALs below
|
||||
ROM_REGION( 0x10000, "pals", 0 ) /* PALS */
|
||||
ROM_LOAD( "jj4b02__ami18cv8-15.u0342", 0x0000, 0x155, CRC(057a9cdc) SHA1(8b46f6673ddf11efbc3394ae423ec89d4a1283bf) )
|
||||
ROM_LOAD( "jj4b01__mmipal16l8bcn.u0341", 0x0000, 0x117, CRC(20931f21) SHA1(95ce9cfbfb280dfc6a326e378684eff3c6f54701) )
|
||||
|
||||
// Common Raiden II soldered mask ROMs below
|
||||
ROM_REGION( 0x40000, "user2", 0 ) /* COPX */
|
||||
ROM_LOAD( "copx-d2.u0313", 0x00000, 0x40000, CRC(a6732ff9) SHA1(c4856ec77869d9098da24b1bb3d7d58bb74b4cda) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx2", 0 ) /* background gfx */
|
||||
ROM_LOAD( "raiden_2_seibu_bg-1.u0714", 0x000000, 0x200000, CRC(e61ad38e) SHA1(63b06cd38db946ad3fc5c1482dc863ef80b58fec) )
|
||||
ROM_LOAD( "raiden_2_seibu_bg-2.u075", 0x200000, 0x200000, CRC(a694a4bb) SHA1(39c2614d0effc899fe58f735604283097769df77) )
|
||||
|
||||
ROM_REGION32_LE( 0x800000, "gfx3", 0 ) /* sprite gfx (encrypted) */
|
||||
ROM_LOAD32_WORD( "raiden_2_seibu_obj-1.u0811", 0x000000, 0x200000, CRC(ff08ef0b) SHA1(a1858430e8171ca8bab785457ef60e151b5e5cf1) )
|
||||
ROM_LOAD32_WORD( "raiden_2_seibu_obj-2.u082", 0x000002, 0x200000, CRC(638eb771) SHA1(9774cc070e71668d7d1d20795502dccd21ca557b) )
|
||||
ROM_LOAD32_WORD( "raiden_2_seibu_obj-3.u0837", 0x400000, 0x200000, CRC(897a0322) SHA1(abb2737a2446da5b364fc2d96524b43d808f4126) )
|
||||
ROM_LOAD32_WORD( "raiden_2_seibu_obj-4.u0836", 0x400002, 0x200000, CRC(b676e188) SHA1(19cc838f1ccf9c4203cd0e5365e5d99ff3a4ff0f) )
|
||||
|
||||
ROM_REGION( 0x100000, "oki2", 0 ) /* ADPCM samples */
|
||||
ROM_LOAD( "raiden_2_pcm.u1018", 0x00000, 0x40000, CRC(8cf0d17e) SHA1(0fbe0b1e1ca5360c7c8329331408e3d799b4714c) )
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
|
||||
---------------------------------------
|
||||
@ -3193,6 +3234,7 @@ void raiden2_state::init_zeroteam()
|
||||
// code rev with first ROM having checksum 09475ec4
|
||||
GAME( 1993, raiden2, 0, raiden2, raiden2, raiden2_state, init_raiden2, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden II (US, set 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, raiden2g, raiden2, raiden2, raiden2, raiden2_state, init_raiden2, ROT270, "Seibu Kaihatsu (Tuning license)", "Raiden II (Germany)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, raiden2gb, raiden2, raiden2, raiden2, raiden2_state, init_raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (Great Britain)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, raiden2hk, raiden2, raiden2, raiden2, raiden2_state, init_raiden2, ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden II (Hong Kong)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, raiden2j, raiden2, raiden2, raiden2, raiden2_state, init_raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, raiden2sw, raiden2, raiden2, raiden2, raiden2_state, init_raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (Switzerland)", MACHINE_SUPPORTS_SAVE )
|
||||
|
Loading…
Reference in New Issue
Block a user