mirror of
https://github.com/holub/mame
synced 2025-05-29 17:13:05 +03:00
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)
This commit is contained in:
parent
c133d80173
commit
2b610f7ca1
@ -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()
|
||||
{
|
||||
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 )
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user