diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2018-08-31 12:51:22 -0400 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2018-08-31 13:11:10 -0400 |
commit | 2b610f7ca13fd30cae8028ce0c6d0c6cf1550f55 (patch) | |
tree | 2d9b827ca962c2a97110ae1eb79143139cc382ed | |
parent | c133d8017311301209618f38b586b5cca0b61733 (diff) |
New working clones
------------------
Mandanga (bootleg of Mandinga on Galaxian hardware, set 1) [Ivan Vangelista, Dumping Union]
Mandanga (bootleg of Mandinga on Galaxian hardware, set 2) [Ivan Vangelista, Dumping Union]
galaxian.cpp: Start moving memory stuff out of init functions and into address maps (nw)
-rw-r--r-- | src/mame/drivers/galaxian.cpp | 305 | ||||
-rw-r--r-- | src/mame/includes/galaxian.h | 21 | ||||
-rw-r--r-- | src/mame/mame.lst | 2 |
3 files changed, 237 insertions, 91 deletions
diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp index 933a902c3ed..0282aa817e7 100644 --- a/src/mame/drivers/galaxian.cpp +++ b/src/mame/drivers/galaxian.cpp @@ -1584,6 +1584,26 @@ void galaxian_state::galaxian_map(address_map &map) galaxian_map_discrete(map); } +void galaxian_state::frogg_map(address_map &map) +{ + galaxian_map(map); + map(0x4000, 0x47ff).ram(); // needs a full 2k of RAM +} + +void galaxian_state::mandingarf_map(address_map &map) +{ + galaxian_map(map); + map(0x4000, 0x47ff).ram(); // needs a full 2k of RAM + map(0xc000, 0xc7ff).rom().region("maincpu", 0xc000); // extend ROM +} + +void galaxian_state::victoryc_map(address_map &map) +{ + galaxian_map(map); + map(0x7004, 0x7004).mirror(0x07f8).nopw(); // disable the stars + map(0x8000, 0x87ff).ram(); // needs a full 2k of RAM +} + /* map derived from schematics */ void galaxian_state::mooncrst_map_discrete(address_map &map) @@ -1626,6 +1646,48 @@ void galaxian_state::mooncrst_map(address_map &map) mooncrst_map_discrete(map); } +void galaxian_state::froggermc_map(address_map &map) +{ + mooncrst_map_base(map); // no discrete sound + map(0x8000, 0x87ff).ram(); // actually needs 2k of RAM + map(0xa800, 0xa800).mirror(0x7ff).w(m_soundlatch, FUNC(generic_latch_8_device::write)); + map(0xb001, 0xb001).mirror(0x7f8).w(FUNC(galaxian_state::froggermc_sound_control_w)); +} + +void galaxian_state::thepitm_map(address_map &map) +{ + mooncrst_map(map); + map(0x0000, 0x47ff).rom().region("maincpu", 0); // extend ROM + map(0xb000, 0xb000).mirror(0x7f8).nopw(); // interrupt enable moved + map(0xb001, 0xb001).mirror(0x7f8).w(FUNC(galaxian_state::irq_enable_w)); + map(0xb004, 0xb004).mirror(0x7f8).nopw(); // disable the stars +} + +void galaxian_state::skybase_map(address_map &map) +{ + mooncrst_map(map); + map(0x0000, 0x5fff).rom().region("maincpu", 0); // extend ROM + map(0x8000, 0x87ff).ram(); // needs a full 2k of RAM + map(0xa002, 0xa002).mirror(0x7f8).w(FUNC(galaxian_state::galaxian_gfxbank_w)); // coin lockout replaced by graphics bank +} + +void galaxian_state::kong_map(address_map &map) +{ + mooncrst_map(map); + map(0x0000, 0x7fff).rom().region("maincpu", 0); // extend ROM + map(0x8000, 0x87ff).ram(); // needs a full 2k of RAM +} + +void galaxian_state::scorpnmc_map(address_map &map) +{ + mooncrst_map(map); + map(0x4000, 0x47ff).ram(); + map(0x5000, 0x67ff).rom().region("maincpu", 0x5000); // extra ROM + map(0x8000, 0x87ff).unmaprw(); // doesn't appear to use original RAM + map(0xb000, 0xb000).mirror(0x7f8).nopw(); // interrupt enable moved + map(0xb001, 0xb001).mirror(0x7f8).w(FUNC(galaxian_state::irq_enable_w)); +} + void galaxian_state::fantastc_map(address_map &map) { @@ -4592,6 +4654,68 @@ static INPUT_PORTS_START( amidars ) INPUT_PORTS_END +static INPUT_PORTS_START( mandingarf ) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) // unused? + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + /* the rest appear to be unused, except for Lives? */ + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0xc0, "2" ) + PORT_DIPSETTING( 0x40, "3" ) // skips the self test checks? + PORT_DIPSETTING( 0x80, "4" ) + PORT_DIPSETTING( 0x00, "255 (Cheat)" ) // skips the self test checks? + + /* these two are reversed for some reason... */ + PORT_START("IN2") + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPSETTING( 0x00, "30000 70000" ) + PORT_DIPSETTING( 0x02, "50000 80000" ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x00, "A 1/1 B 1/6" ) + PORT_DIPSETTING( 0x04, "A 2/1 B 1/3" ) + /* the rest appear to be unused? */ + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +INPUT_PORTS_END + + static INPUT_PORTS_START( theend ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -5896,6 +6020,12 @@ MACHINE_CONFIG_START(galaxian_state::galaxian) galaxian_audio(config); MACHINE_CONFIG_END +MACHINE_CONFIG_START(galaxian_state::victoryc) + galaxian(config); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(victoryc_map) +MACHINE_CONFIG_END + MACHINE_CONFIG_START(galaxian_state::spactrai) galaxian(config); /* strange memory map with RAM in the middle of ROM, there's a large block on the ROM board */ @@ -5903,6 +6033,17 @@ MACHINE_CONFIG_START(galaxian_state::spactrai) MCFG_DEVICE_PROGRAM_MAP(spactrai_map) MACHINE_CONFIG_END +MACHINE_CONFIG_START(galaxian_state::frogg) + galaxian(config); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(frogg_map) +MACHINE_CONFIG_END + +MACHINE_CONFIG_START(galaxian_state::mandingarf) + galaxian(config); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(mandingarf_map) +MACHINE_CONFIG_END MACHINE_CONFIG_START(galaxian_state::pacmanbl) galaxian(config); @@ -5969,6 +6110,30 @@ MACHINE_CONFIG_START(galaxian_state::moonqsr) MCFG_DEVICE_OPCODES_MAP(moonqsr_decrypted_opcodes_map) MACHINE_CONFIG_END +MACHINE_CONFIG_START(galaxian_state::thepitm) + mooncrst(config); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(thepitm_map) +MACHINE_CONFIG_END + +MACHINE_CONFIG_START(galaxian_state::skybase) + mooncrst(config); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(skybase_map) +MACHINE_CONFIG_END + +MACHINE_CONFIG_START(galaxian_state::kong) + mooncrst(config); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(kong_map) +MACHINE_CONFIG_END + +MACHINE_CONFIG_START(galaxian_state::scorpnmc) + mooncrst(config); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(scorpnmc_map) +MACHINE_CONFIG_END + MACHINE_CONFIG_START(galaxian_state::fantastc) galaxian_base(config); @@ -6118,7 +6283,7 @@ MACHINE_CONFIG_START(galaxian_state::froggermc) /* alternate memory map */ MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(mooncrst_map_base) /* no discrete sound ! */ + MCFG_DEVICE_PROGRAM_MAP(froggermc_map) MCFG_DEVICE_MODIFY("audiocpu") MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE(DEVICE_SELF, galaxian_state, froggermc_audiocpu_irq_ack) @@ -6809,33 +6974,15 @@ void galaxian_state::init_batman2() void galaxian_state::init_frogg() { - address_space &space = m_maincpu->space(AS_PROGRAM); - - /* same as galaxian... */ common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::frogger_draw_background, &galaxian_state::frogger_extend_tile_info, &galaxian_state::frogger_extend_sprite_info); - - /* ...but needs a full 2k of RAM */ - space.install_ram(0x4000, 0x47ff); } -void galaxian_state::init_victoryc() -{ - init_victorycb(); - - decode_victoryc(); -} -void galaxian_state::init_victorycb() +void galaxian_state::init_victoryc() { init_galaxian(); - address_space &space = m_maincpu->space(AS_PROGRAM); - - /* needs a full 2k of RAM */ - space.install_ram(0x8000, 0x87ff); - - /* disable the stars */ - space.unmap_write(0x7004, 0x7004, 0x7f8); + decode_victoryc(); } /************************************* @@ -7085,34 +7232,15 @@ void galaxian_state::init_dingoe() void galaxian_state::init_skybase() { - address_space &space = m_maincpu->space(AS_PROGRAM); - /* video extensions */ common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::pisces_extend_tile_info, &galaxian_state::pisces_extend_sprite_info); - - /* coin lockout replaced by graphics bank */ - space.install_write_handler(0xa002, 0xa002, 0, 0x7f8, 0, write8_delegate(FUNC(galaxian_state::galaxian_gfxbank_w),this)); - - /* needs a full 2k of RAM */ - space.install_ram(0x8000, 0x87ff); - - /* extend ROM */ - space.install_rom(0x0000, 0x5fff, memregion("maincpu")->base()); } void galaxian_state::init_kong() { - address_space &space = m_maincpu->space(AS_PROGRAM); - /* video extensions */ common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, &galaxian_state::upper_extend_sprite_info); - - /* needs a full 2k of RAM */ - space.install_ram(0x8000, 0x87ff); - - /* extend ROM */ - space.install_rom(0x0000, 0x7fff, memregion("maincpu")->base()); } @@ -7257,41 +7385,8 @@ void galaxian_state::init_kingball() void galaxian_state::init_scorpnmc() { - address_space &space = m_maincpu->space(AS_PROGRAM); - /* video extensions */ common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::batman2_extend_tile_info, &galaxian_state::upper_extend_sprite_info); - - /* move the interrupt enable from $b000 to $b001 */ - space.unmap_write(0xb000, 0xb000, 0x7f8); - space.install_write_handler(0xb001, 0xb001, 0, 0x7f8, 0, write8_delegate(FUNC(galaxian_state::irq_enable_w),this)); - - /* extra ROM */ - space.install_rom(0x5000, 0x67ff, memregion("maincpu")->base() + 0x5000); - - /* install RAM at $4000-$4800 */ - space.install_ram(0x4000, 0x47ff); - - /* doesn't appear to use original RAM */ - space.unmap_readwrite(0x8000, 0x87ff); -} - -void galaxian_state::init_thepitm() -{ - address_space &space = m_maincpu->space(AS_PROGRAM); - - /* video extensions */ - common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::mooncrst_extend_tile_info, &galaxian_state::mooncrst_extend_sprite_info); - - /* move the interrupt enable from $b000 to $b001 */ - space.unmap_write(0xb000, 0xb000, 0x7f8); - space.install_write_handler(0xb001, 0xb001, 0, 0x7f8, 0, write8_delegate(FUNC(galaxian_state::irq_enable_w),this)); - - /* disable the stars */ - space.unmap_write(0xb004, 0xb004, 0x7f8); - - /* extend ROM */ - space.install_rom(0x0000, 0x47ff, memregion("maincpu")->base()); } /************************************* @@ -7429,17 +7524,9 @@ void galaxian_state::init_quaak() void galaxian_state::init_froggermc() { - address_space &space = m_maincpu->space(AS_PROGRAM); - /* video extensions */ common_init(nullptr, &galaxian_state::frogger_draw_background, &galaxian_state::frogger_extend_tile_info, &galaxian_state::frogger_extend_sprite_info); - space.install_write_handler(0xa800, 0xa800, 0, 0x7ff, 0, write8_delegate(FUNC(generic_latch_8_device::write), (generic_latch_8_device*)m_soundlatch)); - space.install_write_handler(0xb001, 0xb001, 0, 0x7f8, 0, write8_delegate(FUNC(galaxian_state::froggermc_sound_control_w),this)); - - /* actually needs 2k of RAM */ - space.install_ram(0x8000, 0x87ff); - /* decrypt */ decode_froggermc_sound(); } @@ -10877,6 +10964,46 @@ ROM_START( mandinga ) ROM_LOAD( "6e.bin", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // 82s123 ROM_END +ROM_START( mandingarf ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "2716-mg1.bin", 0x0000, 0x0800, CRC(a684a494) SHA1(76885bb3bdab09f46c7daa25164a2fdaa744742f) ) // 2716 + ROM_LOAD( "2716-mg2.bin", 0x0800, 0x0800, CRC(f4038373) SHA1(8823b9816fc4ea03b92e08776c13610980f5ea7a) ) // 2716 + ROM_LOAD( "2716-mg3.bin", 0x1000, 0x0800, CRC(96842877) SHA1(043ce4ed2628a209ca21cc42516c02366cd9f1fa) ) // 2716 + ROM_LOAD( "2716-mg4.bin", 0x1800, 0x0800, CRC(29873461) SHA1(7d0ee9a82f02163b4cc6a7097e88ae34e96ebf58) ) // 2716 + ROM_LOAD( "2716-mg5.bin", 0x2000, 0x0800, CRC(400cf1bb) SHA1(06c891f7581b0c1036f6845ea847cd20b6f5dedc) ) // 2716 + ROM_LOAD( "2716-mg6.bin", 0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) ) // 2716 + ROM_LOAD( "2716-mg7.bin", 0x3000, 0x0800, CRC(e78d0c6d) SHA1(947ac20463384ca0721875954d59ec4ae15b0670) ) // 2716 + ROM_LOAD( "2716-mg8.bin", 0x3800, 0x0800, CRC(8a4018ae) SHA1(9aba6f4527c59b0b016038236d5a6074e65966f6) ) // 2716 + ROM_LOAD( "2716-mg11.bin", 0xc000, 0x0800, BAD_DUMP CRC(d8bf57e7) SHA1(421a0fa02fccbc52d460fafec6437bd2b7564056) ) // 2716(?), taken from mandingac + + ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_LOAD( "2716-mg9.bin", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) // 2716 + ROM_LOAD( "2716-mg10.bin", 0x0800, 0x0800, CRC(1891fc68) SHA1(6d03f5092fd73462c9d81c1a64e39120d9f10aea) ) // 2716 + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "6e.bin", 0x0000, 0x0020, BAD_DUMP CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // not present, using mandinga PROM +ROM_END + +ROM_START( mandingac ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "2716-4.bin", 0x0000, 0x0800, CRC(a684a494) SHA1(76885bb3bdab09f46c7daa25164a2fdaa744742f) ) // 2716 + ROM_LOAD( "2716-3.bin", 0x0800, 0x0800, CRC(f4038373) SHA1(8823b9816fc4ea03b92e08776c13610980f5ea7a) ) // 2716 + ROM_LOAD( "2716-1.bin", 0x1000, 0x0800, CRC(96842877) SHA1(043ce4ed2628a209ca21cc42516c02366cd9f1fa) ) // 2716 + ROM_LOAD( "2716-9.bin", 0x1800, 0x0800, CRC(b69f9f71) SHA1(cb781d61a481c493e89605bc0edc6a092d8b4d56) ) // 2716 + ROM_LOAD( "2716-8.bin", 0x2000, 0x0800, CRC(400cf1bb) SHA1(06c891f7581b0c1036f6845ea847cd20b6f5dedc) ) // 2716 + ROM_LOAD( "2716-7.bin", 0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) ) // 2716 + ROM_LOAD( "2716-6.bin", 0x3000, 0x0800, CRC(c4e63305) SHA1(e03aed5ad89305ffc243cff8ff147ec82419c7bc) ) // 2716 + ROM_LOAD( "2716-5.bin", 0x3800, 0x0800, CRC(8a4018ae) SHA1(9aba6f4527c59b0b016038236d5a6074e65966f6) ) // 2716 + ROM_LOAD( "2716-2.bin", 0xc000, 0x0800, CRC(d8bf57e7) SHA1(421a0fa02fccbc52d460fafec6437bd2b7564056) ) // 2716 + + ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_LOAD( "2716-10.bin", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) // 2716 + ROM_LOAD( "2716-11.bin", 0x0800, 0x0800, CRC(1891fc68) SHA1(6d03f5092fd73462c9d81c1a64e39120d9f10aea) ) // 2716 + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "82s123.bin", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // 82s123 +ROM_END + ROM_START( theend ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ic13_1t.bin", 0x0000, 0x0800, CRC(93e555ba) SHA1(f684927cecabfbd7544f7549a6152c0a6a436019) ) @@ -12163,8 +12290,8 @@ GAME( 1982, catacomb, 0, galaxian, catacomb, galaxian_state, init_ GAME( 19??, omegab, theend, galaxian, omegab, galaxian_state, init_galaxian, ROT270, "bootleg?", "Omega (bootleg?)", MACHINE_SUPPORTS_SAVE ) /* basic hardware + extra RAM */ -GAME( 1982, victoryc, 0, galaxian, victoryc, galaxian_state, init_victoryc, ROT270, "Comsoft", "Victory (Comsoft)", MACHINE_SUPPORTS_SAVE ) -GAME( 1982, victorycb, victoryc, galaxian, victoryc, galaxian_state, init_victorycb, ROT270, "bootleg", "Victory (Comsoft) (bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, victoryc, 0, victoryc, victoryc, galaxian_state, init_victoryc, ROT270, "Comsoft", "Victory (Comsoft)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, victorycb, victoryc, victoryc, victoryc, galaxian_state, init_galaxian, ROT270, "bootleg", "Victory (Comsoft) (bootleg)", MACHINE_SUPPORTS_SAVE ) /* these games require the coin lockout mechanism to be disabled */ GAME( 1981, warofbug, 0, galaxian, warofbug, galaxian_state, init_nolock, ROT90, "Armenia / Food and Fun Corp", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze", MACHINE_SUPPORTS_SAVE ) @@ -12272,11 +12399,11 @@ GAME( 1980, moonal2, 0, mooncrst, moonal2, galaxian_state, init_ GAME( 1980, moonal2b, moonal2, mooncrst, moonal2, galaxian_state, init_galaxian, ROT90, "Namco / Nichibutsu", "Moon Alien Part 2 (older version)", MACHINE_SUPPORTS_SAVE ) /* larger romspace, interrupt enable moved */ -GAME( 198?, thepitm, thepit, mooncrst, thepitm, galaxian_state, init_thepitm, ROT90, "bootleg (KZH)", "The Pit (bootleg on Moon Quasar hardware)", MACHINE_SUPPORTS_SAVE ) // on an original MQ-2FJ pcb, even if the memory map appears closer to Moon Cresta +GAME( 198?, thepitm, thepit, thepitm, thepitm, galaxian_state, init_mooncrsu, ROT90, "bootleg (KZH)", "The Pit (bootleg on Moon Quasar hardware)", MACHINE_SUPPORTS_SAVE ) // on an original MQ-2FJ pcb, even if the memory map appears closer to Moon Cresta /* other games on basic mooncrst hardware */ -GAME( 1982, skybase, 0, mooncrst, skybase, galaxian_state, init_skybase, ROT90, "Omori Electric Co., Ltd.", "Sky Base", MACHINE_SUPPORTS_SAVE ) -GAME( 198?, kong, 0, mooncrst, kong, galaxian_state, init_kong, ROT90, "Taito do Brasil", "Kong (Donkey Kong conversion on Galaxian hardware)", MACHINE_SUPPORTS_SAVE | MACHINE_WRONG_COLORS ) // rewrite of Donkey Kong (!) not a clone +GAME( 1982, skybase, 0, skybase, skybase, galaxian_state, init_skybase, ROT90, "Omori Electric Co., Ltd.", "Sky Base", MACHINE_SUPPORTS_SAVE ) +GAME( 198?, kong, 0, kong, kong, galaxian_state, init_kong, ROT90, "Taito do Brasil", "Kong (Donkey Kong conversion on Galaxian hardware)", MACHINE_SUPPORTS_SAVE | MACHINE_WRONG_COLORS ) // rewrite of Donkey Kong (!) not a clone /* larger romspace, 2*AY8910, based on Super Star Crest board? */ // there may be an alternate version called "Fantasy" according to flyers; is it the same? @@ -12350,6 +12477,8 @@ GAME( 1982, amigo, amidar, turtles, amidaru, galaxian_state, init_ GAME( 1982, amigo2, amidar, amigo2, amidaru, galaxian_state, init_turtles, ROT90, "bootleg", "Amigo (bootleg of Amidar, set 2)", MACHINE_SUPPORTS_SAVE ) GAME( 1982, amidars, amidar, scramble, amidars, galaxian_state, init_scramble, ROT90, "Konami", "Amidar (Scramble hardware)", MACHINE_SUPPORTS_SAVE ) GAME( 1982, mandinga, amidar, scramble, amidars, galaxian_state, init_mandinga, ROT90, "bootleg (Artemi)", "Mandinga (bootleg of Amidar)", MACHINE_NO_SOUND | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // sound ROMs have identical halves, reference for color http://www.youtube.com/watch?v=6uGK4AZxV2U +GAME( 1982, mandingarf, amidar, mandingarf, mandingarf, galaxian_state, init_galaxian, ROT90, "bootleg (Recreativos Franco S.A.)", "Mandanga (bootleg of Mandinga on Galaxian hardware, set 1)", MACHINE_NO_COCKTAIL | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // assume same issue as mandinga +GAME( 1982, mandingac, amidar, mandingarf, mandingarf, galaxian_state, init_galaxian, ROT90, "bootleg (Centromatic)", "Mandanga (bootleg of Mandinga on Galaxian hardware, set 2)", MACHINE_NO_COCKTAIL | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // assume same issue as mandinga /* The End/Scramble based hardware */ @@ -12383,8 +12512,8 @@ GAME( 1981, jungsub, jungler, jungsub, jungsub, galaxian_state, init_ GAME( 1982, scorpion, 0, scorpion, scorpion, galaxian_state, init_scorpion, ROT90, "Zaccaria", "Scorpion (set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE) GAME( 1982, scorpiona, scorpion, scorpion, scorpion, galaxian_state, init_scorpion, ROT90, "Zaccaria", "Scorpion (set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE) GAME( 1982, scorpionb, scorpion, scorpion, scorpion, galaxian_state, init_scorpion, ROT90, "Zaccaria", "Scorpion (set 3)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE) -GAME( 19??, scorpionmc, scorpion, mooncrst, scorpnmc, galaxian_state, init_scorpnmc, ROT90, "bootleg? (Dorneer)", "Scorpion (Moon Cresta hardware)", MACHINE_SUPPORTS_SAVE ) -GAME( 19??, aracnis, scorpion, mooncrst, aracnis, galaxian_state, init_scorpnmc, ROT90, "bootleg", "Aracnis (bootleg of Scorpion on Moon Cresta hardware)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) +GAME( 19??, scorpionmc, scorpion, scorpnmc, scorpnmc, galaxian_state, init_scorpnmc, ROT90, "bootleg? (Dorneer)", "Scorpion (Moon Cresta hardware)", MACHINE_SUPPORTS_SAVE ) +GAME( 19??, aracnis, scorpion, scorpnmc, aracnis, galaxian_state, init_scorpnmc, ROT90, "bootleg", "Aracnis (bootleg of Scorpion on Moon Cresta hardware)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) /* SF-X hardware; based on Scramble with extra Z80 and 8255 driving a DAC-based sample player */ GAME( 1983, sfx, 0, sfx, sfx, galaxian_state, init_sfx, ORIENTATION_FLIP_X, "Nichibutsu", "SF-X", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/includes/galaxian.h b/src/mame/includes/galaxian.h index d4eda2a5d11..80a71d3aba4 100644 --- a/src/mame/includes/galaxian.h +++ b/src/mame/includes/galaxian.h @@ -185,7 +185,6 @@ public: void init_timefgtr(); void init_kingball(); void init_scorpnmc(); - void init_thepitm(); void init_theend(); void init_scramble(); void init_explorer(); @@ -211,7 +210,6 @@ public: void init_warofbugg(); void init_jungsub(); void init_victoryc(); - void init_victorycb(); TILE_GET_INFO_MEMBER(bg_get_tile_info); DECLARE_PALETTE_INIT(galaxian); DECLARE_PALETTE_INIT(moonwar); @@ -317,8 +315,18 @@ public: void zigzag(machine_config &config); void checkman(machine_config &config); void jungsub(machine_config &config); + void victoryc(machine_config &config); + void frogg(machine_config &config); + void mandingarf(machine_config &config); + void thepitm(machine_config &config); + void skybase(machine_config &config); + void kong(machine_config &config); + void scorpnmc(machine_config &config); + void galaxian_audio(machine_config &config); void mooncrst_audio(machine_config &config); + +protected: void amigo2_map(address_map &map); void anteaterg_map(address_map &map); void anteatergg_map(address_map &map); @@ -329,10 +337,12 @@ public: void explorer_map(address_map &map); void fantastc_map(address_map &map); void frogf_map(address_map &map); + void frogg_map(address_map &map); void frogger_map(address_map &map); void frogger_sound_map(address_map &map); void frogger_sound_portmap(address_map &map); void froggeram_map(address_map &map); + void froggermc_map(address_map &map); void galaxian_map(address_map &map); void galaxian_map_base(address_map &map); void galaxian_map_discrete(address_map &map); @@ -343,6 +353,8 @@ public: void kingball_sound_portmap(address_map &map); void konami_sound_map(address_map &map); void konami_sound_portmap(address_map &map); + void kong_map(address_map &map); + void mandingarf_map(address_map &map); void monsterz_map(address_map &map); void mooncrst_map(address_map &map); void mooncrst_map_base(address_map &map); @@ -352,21 +364,24 @@ public: void mshuttle_map(address_map &map); void mshuttle_portmap(address_map &map); void scobra_map(address_map &map); + void scorpnmc_map(address_map &map); void sfx_map(address_map &map); void sfx_sample_map(address_map &map); void sfx_sample_portmap(address_map &map); + void skybase_map(address_map &map); void spactrai_map(address_map &map); void takeoff_sound_map(address_map &map); void takeoff_sound_portmap(address_map &map); void tenspot_select_map(address_map &map); void theend_map(address_map &map); + void thepitm_map(address_map &map); void timefgtr_map(address_map &map); void turpins_map(address_map &map); void turpins_sound_map(address_map &map); void turtles_map(address_map &map); + void victoryc_map(address_map &map); void zigzag_map(address_map &map); -protected: virtual void machine_start() override { m_lamps.resolve(); } virtual void video_start() override; diff --git a/src/mame/mame.lst b/src/mame/mame.lst index e8af15c3b32..1c23f7bbd27 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -13336,6 +13336,8 @@ losttomb // (c) 1982 Stern losttombh // (c) 1982 Stern luctoday // 1980 Sigma mandinga // bootleg (Artemi) +mandingarf // bootleg (Recreativos Franco S.A.) +mandingac // bootleg (Centromatic) mltiwars // bootleg (Gayton Games) monsterz // (c) 1982 Nihon (Arcade TV Game List - P.102, Left, 20 from top) moonal2 // [1980] Nichibutsu |