From 9c2ca87c820fcde1271c30b8cd9ac720f8c09f93 Mon Sep 17 00:00:00 2001 From: David Haywood Date: Wed, 17 Aug 2016 20:56:26 +0100 Subject: [PATCH 1/2] new clones (NOT WORKING) Jungler (Subelectro, bootleg on Scramble hardware) [Andrew Welburn] unique / interesting bootleg, CPU code is encrypted, and unfortunately one gfx rom is bad and can't easily be reconstructed (see note) if anybody out there has the same bootleg then it would be helpful to dump it. --- src/mame/drivers/galaxian.cpp | 45 +++++++++++++++++++++++++++++++++++ src/mame/includes/galaxian.h | 1 + src/mame/mame.lst | 1 + 3 files changed, 47 insertions(+) diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp index 160005298f6..c4f92dc5eba 100644 --- a/src/mame/drivers/galaxian.cpp +++ b/src/mame/drivers/galaxian.cpp @@ -7268,6 +7268,15 @@ DRIVER_INIT_MEMBER( galaxian_state, froggrs ) +DRIVER_INIT_MEMBER(galaxian_state,jungsub) +{ + /* todo, decrypt program rom */ + // seems slightly address dependent based on text strings + + /* video extensions */ + common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::scramble_draw_background, nullptr, nullptr); +} + /************************************* * * ROM definitions @@ -11484,6 +11493,39 @@ ROM_START( superbon ) ROM_LOAD( "82s123.6e", 0x0000, 0x0020, BAD_DUMP CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) ) ROM_END +ROM_START( jungsub ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "J1.2B", 0x0000, 0x1000, CRC(15735d45) SHA1(3546154dcd3cf9ce47e921b9b687c00b3b550ccb) ) + ROM_LOAD( "J2.2D", 0x1000, 0x1000, CRC(7147a43d) SHA1(3f82da4b61626737f02e32db75c437cafcd5e5e3) ) + ROM_LOAD( "J3.3B", 0x2000, 0x1000, CRC(f65484ee) SHA1(b971a9c857813f0c83f5d73a2a3842d91569170d) ) + ROM_LOAD( "JC4.3D", 0x3000, 0x1000, CRC(16d23732) SHA1(ca4327709f1af5d4c97ae64e377022055595c215) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "J13.1C", 0x0000, 0x0800, CRC(414b011e) SHA1(2f714ce4266f192ff4e86c347f90811bcc896429) ) + ROM_LOAD( "J14.1D", 0x0800, 0x0800, CRC(1f8c6a58) SHA1(e07ae7e4968ac8ec3c22a30ebd1e9f75abeec776) ) + + /* There is twice as much GFX data here as an original 'Jungler' + + This appears to be because the Rally X / Jungler hardware supports both X and Y tile flipping, a feature + which Jungler needs. Galaxian / Scramble hardware does not support tile flipping. + + Adding flipped copies of all the tiles would require 4x ROM capacity (normal, Flip X, Flip Y, Flip XY) + but instead of doing this Subelectro worked out which tiles needed flipped copies and managed to squeeze + them into twice the space instead. Unfortunately this means constructing data to replace the bad rom + is NOT a process that can be automated. */ + ROM_REGION( 0x2000, "gfx1", 0 ) + ROM_LOAD( "J9.4B", 0x0000, 0x0800, CRC(230e6b60) SHA1(9f0dd68bf760567f0e56455ac72e819b3e677743) ) + ROM_LOAD( "J10.4C", 0x0800, 0x0800, CRC(4b32a431) SHA1(701a4e2dfa7686de50bdec7c7f9182192ec25159) ) + ROM_LOAD( "JC11.4D", 0x1000, 0x0800, BAD_DUMP CRC(5dee4e2d) SHA1(86b98e55602ef2a740f978bb2fcc4b3f81fcc61a) ) // rom is bad, dump entirely garbage + ROM_LOAD( "JC12.4F", 0x1800, 0x0800, CRC(6de4827a) SHA1(ffd04abb9f64f88adea81892caa919f84c68ced5) ) + + ROM_REGION( 0x0020, "cpuprom", 0 ) + ROM_LOAD( "KAP.CPU", 0x0000, 0x0020, CRC(27efa693) SHA1(b2ad3b52c254193a7492fe5e6785c167326ce866) ) + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "PROM.6E", 0x0000, 0x0020, CRC(2430f47c) SHA1(f7725f4768cb57717feb18891766642f6d7cbcde) ) +ROM_END + /************************************* * @@ -11740,6 +11782,9 @@ GAME( 198?, bomber, scramble, scramble, scramble, galaxian_state, scram GAME( 1981, atlantis, 0, theend, atlantis, galaxian_state, atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 1)", MACHINE_SUPPORTS_SAVE ) GAME( 1981, atlantis2, atlantis, theend, atlantis, galaxian_state, atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 2)", MACHINE_SUPPORTS_SAVE ) +// Konami L-1200-2 base board with custom Subelectro 113 rom board +GAME( 1981, jungsub, jungler, scramble, scramble, galaxian_state, jungsub, ROT90, "bootleg (Subelectro)", "Jungler (Subelectro, bootleg on Scramble hardware)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) + /* Scorpion hardware; based on Scramble but with a 3rd AY-8910 and a speech chip */ GAME( 1982, scorpion, 0, scorpion, scorpion, galaxian_state, scorpion, ROT90, "Zaccaria", "Scorpion (set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE) GAME( 1982, scorpiona, scorpion, scorpion, scorpion, galaxian_state, scorpion, ROT90, "Zaccaria", "Scorpion (set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE) diff --git a/src/mame/includes/galaxian.h b/src/mame/includes/galaxian.h index f7b546289df..c55c82cfb52 100644 --- a/src/mame/includes/galaxian.h +++ b/src/mame/includes/galaxian.h @@ -267,6 +267,7 @@ public: DECLARE_DRIVER_INIT(ghostmun); DECLARE_DRIVER_INIT(froggrs); DECLARE_DRIVER_INIT(warofbugg); + DECLARE_DRIVER_INIT(jungsub); TILE_GET_INFO_MEMBER(bg_get_tile_info); virtual void video_start() override; DECLARE_PALETTE_INIT(galaxian); diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 994d928326c..49d7c573032 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -12635,6 +12635,7 @@ gteikokb // bootleg gteikoku // (c) Irem jumpbug // (c) 1981 Rock-ola jumpbugb // (c) 1981 Sega +jungsub // bootleg kamakazi3 // Video Games (UK) Ltd., hack or bootleg? kingball // (c) 1980 Namco kingballj // (c) 1980 Namco From eae4dcdcdd5e0ddf357a01e6b4993475a3f5ca6e Mon Sep 17 00:00:00 2001 From: David Haywood Date: Thu, 18 Aug 2016 20:01:21 +0100 Subject: [PATCH 2/2] mew clones New Zero Team (V33 SYSTEM TYPE_B hardware) [caius] existing set was licensed, now marked as 'China?' --- src/mame/drivers/r2dx_v33.cpp | 33 ++++++++++++++++++++++++++++++++- src/mame/mame.lst | 1 + 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/mame/drivers/r2dx_v33.cpp b/src/mame/drivers/r2dx_v33.cpp index 630edeac44a..86e37a4c494 100644 --- a/src/mame/drivers/r2dx_v33.cpp +++ b/src/mame/drivers/r2dx_v33.cpp @@ -1007,6 +1007,35 @@ ROM_END // uses dipswitches ROM_START( nzeroteam ) /* V33 SYSTEM TYPE_B hardware, uses SEI333 (AKA COPX-D3) for protection */ + ROM_REGION( 0x100000, "maincpu", 0 ) /* v30 main cpu */ + ROM_LOAD16_BYTE("SEIBU_1.U0224", 0x000000, 0x80000, CRC(ce1bcaf4) SHA1(1c340575e440b716caca8605cc5e1221060e3714) ) + ROM_LOAD16_BYTE("SEIBU_2.U0226", 0x000001, 0x80000, CRC(03f6e32d) SHA1(5363f20d515ff84346aa15f7b9d95c5805d81285) ) + + ROM_REGION( 0x20000, "math", 0 ) /* SEI333 (AKA COPX-D3) data */ + ROM_LOAD( "copx-d3.bin", 0x00000, 0x20000, CRC(fa2cf3ad) SHA1(13eee40704d3333874b6e3da9ee7d969c6dc662a) ) /* Not from this set, but same data as Zero Team 2000 & Raiden II New */ + + ROM_REGION( 0x20000, "audiocpu", 0 ) /* 64k code for sound Z80 */ + ROM_LOAD( "SEIBU_3.U01019", 0x000000, 0x08000, CRC(7ec1fbc3) SHA1(48299d6530f641b18764cc49e283c347d0918a47) ) /* Same as some of other Zero Team sets */ + ROM_CONTINUE( 0x010000, 0x08000 ) /* banked stuff */ + ROM_COPY( "audiocpu", 0x0000, 0x018000, 0x08000 ) + + ROM_REGION( 0x020000, "gfx1", 0 ) /* chars */ + ROM_LOAD16_BYTE( "SEIBU_5.U0616", 0x000000, 0x010000, CRC(ce68ba3c) SHA1(52830533711ec906bf4fe9d06e065ec80b25b4da) ) + ROM_LOAD16_BYTE( "SEIBU_6.U0617", 0x000001, 0x010000, CRC(cf44aea7) SHA1(e8d622fd5c10133fa563402daf0690fdff297f94) ) + + ROM_REGION( 0x400000, "gfx2", 0 ) /* background gfx */ + ROM_LOAD( "back-1", 0x000000, 0x100000, CRC(8b7f9219) SHA1(3412b6f8a4fe245e521ddcf185a53f2f4520eb57) ) /* Same as "MUSHA BACK-1" of other Zero Team sets */ + ROM_LOAD( "back-2", 0x100000, 0x080000, CRC(ce61c952) SHA1(52a843c8ba428b121fab933dd3b313b2894d80ac) ) /* Same as "MUSHA BACK-2" of other Zero Team sets */ + + ROM_REGION32_LE( 0x800000, "gfx3", 0 ) /* sprite gfx (encrypted) */ + ROM_LOAD32_WORD( "obj-1", 0x000000, 0x200000, CRC(45be8029) SHA1(adc164f9dede9a86b96a4d709e9cba7d2ad0e564) ) /* Same as "MUSHA OBJ-1" of other Zero Team sets */ + ROM_LOAD32_WORD( "obj-2", 0x000002, 0x200000, CRC(cb61c19d) SHA1(151a2ce9c32f3321a974819e9b165dddc31c8153) ) /* Same as "MUSHA OBJ-2" of other Zero Team sets */ + + ROM_REGION( 0x100000, "oki", 0 ) /* ADPCM samples */ + ROM_LOAD( "SEIBU_4.U099", 0x00000, 0x40000, CRC(48be32b1) SHA1(969d2191a3c46871ee8bf93088b3cecce3eccf0c) ) /* Same as other Zero Team sets */ +ROM_END + +ROM_START( nzeroteama ) /* V33 SYSTEM TYPE_B hardware, uses SEI333 (AKA COPX-D3) for protection */ ROM_REGION( 0x100000, "maincpu", 0 ) /* v30 main cpu */ ROM_LOAD16_BYTE("prg1", 0x000000, 0x80000, CRC(3c7d9410) SHA1(25f2121b6c2be73f11263934266901ed5d64d2ee) ) ROM_LOAD16_BYTE("prg2", 0x000001, 0x80000, CRC(6cba032d) SHA1(bf5d488cd578fff09e62e3650efdee7658033e3f) ) @@ -1035,6 +1064,7 @@ ROM_START( nzeroteam ) /* V33 SYSTEM TYPE_B hardware, uses SEI333 (AKA COPX-D3) ROM_LOAD( "6.pcm", 0x00000, 0x40000, CRC(48be32b1) SHA1(969d2191a3c46871ee8bf93088b3cecce3eccf0c) ) /* Same as other Zero Team sets */ ROM_END + // uses a 93c46a eeprom ROM_START( zerotm2k ) /* V33 SYSTEM TYPE_C VER2 hardware, uses SEI333 (AKA COPX-D3) for protection */ ROM_REGION( 0x100000, "maincpu", 0 ) /* v30 main cpu */ @@ -1073,7 +1103,8 @@ GAME( 1996, r2dx_v33, 0, rdx_v33, rdx_v33, r2dx_v33_state, rdx_v33 GAME( 1996, r2dx_v33_r2, r2dx_v33, rdx_v33, rdx_v33, r2dx_v33_state, rdx_v33, ROT270, "Seibu Kaihatsu", "Raiden II New / Raiden DX (newer V33 PCB) (Raiden II EEPROM)", MACHINE_SUPPORTS_SAVE) // 'V33 system type_b' - uses V33 CPU, COPX-D3 external protection rom, but still has the proper sound system, DSW for settings -GAME( 1997, nzeroteam, zeroteam, nzerotea, nzerotea, r2dx_v33_state, nzerotea, ROT0, "Seibu Kaihatsu (Haoyunlai Trading Company license)", "New Zero Team (V33 SYSTEM TYPE_B hardware)", MACHINE_SUPPORTS_SAVE) // license text translated from title screen +GAME( 1997, nzeroteam, zeroteam, nzerotea, nzerotea, r2dx_v33_state, nzerotea, ROT0, "Seibu Kaihatsu", "New Zero Team (V33 SYSTEM TYPE_B hardware)", MACHINE_SUPPORTS_SAVE) +GAME( 1997, nzeroteama,zeroteam, nzerotea, nzerotea, r2dx_v33_state, nzerotea, ROT0, "Seibu Kaihatsu (Haoyunlai Trading Company license)", "New Zero Team (V33 SYSTEM TYPE_B hardware, China?)", MACHINE_SUPPORTS_SAVE) // license text translated from title screen // 'V33 SYSTEM TYPE_C' - uses V33 CPU, basically the same board as TYPE_C VER2 // there is a version of New Zero Team on "V33 SYSTEM TYPE_C" board with EEPROM rather than dipswitches like Zero Team 2000 diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 49d7c573032..f16f7d2b0fe 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -31112,6 +31112,7 @@ r2dtank // (c) 1980 Sigma Ent. Inc. @source:r2dx_v33.cpp nzeroteam // (c) 1997 Seibu Kaihatsu +nzeroteama // r2dx_v33 // (c) 1996 Seibu Kaihatsu r2dx_v33_r2 // (c) 1996 Seibu Kaihatsu zerotm2k // (c) 2000 Seibu Kaihatsu