summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/galaxian.cpp45
-rw-r--r--src/mame/drivers/r2dx_v33.cpp33
-rw-r--r--src/mame/includes/galaxian.h1
-rw-r--r--src/mame/mame.lst2
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