diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/galaxian.cpp | 45 | ||||
-rw-r--r-- | src/mame/drivers/r2dx_v33.cpp | 33 | ||||
-rw-r--r-- | src/mame/includes/galaxian.h | 1 | ||||
-rw-r--r-- | src/mame/mame.lst | 2 |
4 files changed, 80 insertions, 1 deletions
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/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 @@ -1008,6 +1008,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/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 8994092bd8d..548a6637bc3 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -12647,6 +12647,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 @@ -31140,6 +31141,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 |