diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/gottlieb.cpp | 242 | ||||
-rw-r--r-- | src/mame/includes/gottlieb.h | 14 |
2 files changed, 73 insertions, 183 deletions
diff --git a/src/mame/drivers/gottlieb.cpp b/src/mame/drivers/gottlieb.cpp index cca3748d405..65149c633e9 100644 --- a/src/mame/drivers/gottlieb.cpp +++ b/src/mame/drivers/gottlieb.cpp @@ -268,17 +268,6 @@ void gottlieb_state::machine_reset() /* if we have a laserdisc, reset our philips code callback for the next line 17 */ if (m_laserdisc != nullptr) m_laserdisc_philips_timer->adjust(m_screen->time_until_pos(17), 17); - - if (m_ramrom_config) - { - switch (m_ramrom_config->read() & 0x03) - { - case 0x00: m_view_1000.select(0); m_view_2000.select(0); break; - case 0x01: m_view_1000.select(0); m_view_2000.select(1); break; - case 0x02: m_view_1000.select(1); m_view_2000.select(0); break; // no sets uses this but physically possible - case 0x03: m_view_1000.select(1); m_view_2000.select(1); break; - } - } } @@ -784,16 +773,10 @@ void gottlieb_state::reactor_map(address_map &map) } -void gottlieb_state::gottlieb_map(address_map &map) +void gottlieb_state::gottlieb_base_map(address_map &map) { map.global_mask(0xffff); map(0x0000, 0x0fff).ram().share("nvram"); - map(0x1000, 0x1fff).view(m_view_1000); - m_view_1000[0](0x1000, 0x1fff).ram(); - m_view_1000[1](0x1000, 0x1fff).rom().region("maincpu", 0x1000); - map(0x2000, 0x2fff).view(m_view_2000); - m_view_2000[0](0x2000, 0x2fff).ram(); - m_view_2000[1](0x2000, 0x2fff).rom().region("maincpu", 0x2000); map(0x3000, 0x30ff).mirror(0x0700).writeonly().share("spriteram"); /* FRSEL */ map(0x3800, 0x3bff).mirror(0x0400).ram().w(FUNC(gottlieb_state::videoram_w)).share("videoram"); /* BRSEL */ map(0x4000, 0x4fff).ram().w(FUNC(gottlieb_state::charram_w)).share("charram"); /* BOJRSEL1 */ @@ -812,6 +795,31 @@ void gottlieb_state::gottlieb_map(address_map &map) } +void gottlieb_state::gottlieb_ram_map(address_map &map) +{ + gottlieb_base_map(map); + + map(0x1000, 0x2fff).ram(); +} + + +void gottlieb_state::gottlieb_ram_rom_map(address_map &map) +{ + gottlieb_base_map(map); + + map(0x1000, 0x1fff).ram(); + map(0x2000, 0x2fff).rom().region("maincpu", 0x2000); +} + + +void gottlieb_state::gottlieb_rom_map(address_map &map) +{ + gottlieb_base_map(map); + + map(0x1000, 0x2fff).rom().region("maincpu", 0x1000); +} + + /************************************* * @@ -920,14 +928,6 @@ static INPUT_PORTS_START( qbert ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x00, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -982,14 +982,6 @@ static INPUT_PORTS_START( insector ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x00, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1041,14 +1033,6 @@ static INPUT_PORTS_START( tylz ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x00, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1104,14 +1088,6 @@ static INPUT_PORTS_START( argusg ) PORT_START("TRACKY") PORT_BIT( 0xff, 0, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(15) PORT_KEYDELTA(20) - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x03, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1165,14 +1141,6 @@ static INPUT_PORTS_START( mplanets ) PORT_START("TRACKY") PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(5) PORT_KEYDELTA(10) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x00, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1226,14 +1194,6 @@ static INPUT_PORTS_START( krull ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x03, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1278,14 +1238,6 @@ static INPUT_PORTS_START( kngtmare ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START2 ) - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x00, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1346,14 +1298,6 @@ static INPUT_PORTS_START( qbertqub ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x00, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1413,14 +1357,6 @@ static INPUT_PORTS_START( curvebal ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Bunt") PORT_PLAYER(1) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x00, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1475,14 +1411,6 @@ static INPUT_PORTS_START( screwloo ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Start 1P") PORT_PLAYER(1) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x00, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1537,14 +1465,6 @@ static INPUT_PORTS_START( mach3 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x00, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END static INPUT_PORTS_START( cobram3 ) @@ -1598,14 +1518,6 @@ static INPUT_PORTS_START( cobram3 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x00, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1651,14 +1563,6 @@ static INPUT_PORTS_START( usvsthem ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x00, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1725,14 +1629,6 @@ static INPUT_PORTS_START( 3stooges ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3) - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x01, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1784,14 +1680,6 @@ static INPUT_PORTS_START( vidvince ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x01, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1844,14 +1732,6 @@ static INPUT_PORTS_START( wizwarz ) PORT_START("TRACKY") PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(15) PORT_KEYDELTA(15) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) - - PORT_START("ROMRAM_CONFIG") - PORT_CONFNAME( 0x03, 0x00, "ROM/RAM configuration" ) - PORT_CONFSETTING( 0x00, "RAM/RAM" ) - PORT_CONFSETTING( 0x01, "RAM/ROM" ) - PORT_CONFSETTING( 0x02, "ROM/RAM" ) - PORT_CONFSETTING( 0x03, "ROM/ROM" ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -1904,7 +1784,7 @@ void gottlieb_state::gottlieb_core(machine_config &config) { /* basic machine hardware */ I8088(config, m_maincpu, CPU_CLOCK/3); - m_maincpu->set_addrmap(AS_PROGRAM, &gottlieb_state::gottlieb_map); + m_maincpu->set_addrmap(AS_PROGRAM, &gottlieb_state::gottlieb_ram_map); m_maincpu->set_vblank_int("screen", FUNC(gottlieb_state::interrupt)); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); @@ -1929,12 +1809,24 @@ void gottlieb_state::gottlieb1(machine_config &config) GOTTLIEB_SOUND_REV1(config, m_r1_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); } +void gottlieb_state::gottlieb1_rom(machine_config &config) +{ + gottlieb1(config); + m_maincpu->set_addrmap(AS_PROGRAM, &gottlieb_state::gottlieb_rom_map); +} + void gottlieb_state::gottlieb2(machine_config &config) { gottlieb_core(config); GOTTLIEB_SOUND_REV2(config, m_r2_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); } +void gottlieb_state::gottlieb2_ram_rom(machine_config &config) +{ + gottlieb2(config); + m_maincpu->set_addrmap(AS_PROGRAM, &gottlieb_state::gottlieb_ram_rom_map); +} + void gottlieb_state::g2laser(machine_config &config) { gottlieb_core(config); @@ -2783,33 +2675,33 @@ void gottlieb_state::init_vidvince() *************************************/ /* games using rev 1 sound board */ -GAME( 1982, reactor, 0, reactor, reactor, gottlieb_state, init_ramtiles, ROT0, "Gottlieb", "Reactor", MACHINE_IMPERFECT_SOUND ) -GAME( 1982, qbert, 0, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Gottlieb", "Q*bert (US set 1)", MACHINE_IMPERFECT_SOUND ) -GAME( 1982, qberta, qbert, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Gottlieb", "Q*bert (US set 2)", MACHINE_IMPERFECT_SOUND ) -GAME( 1982, qbertj, qbert, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Gottlieb (Konami license)", "Q*bert (Japan)", MACHINE_IMPERFECT_SOUND ) -GAME( 1982, myqbert, qbert, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Gottlieb", "Mello Yello Q*bert", MACHINE_IMPERFECT_SOUND ) -GAME( 1982, qberttst, qbert, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Gottlieb", "Q*bert (early test version)", MACHINE_IMPERFECT_SOUND ) -GAME( 1982, qbtrktst, qbert, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Gottlieb", "Q*bert Board Input Test Rom", MACHINE_IMPERFECT_SOUND ) -GAME( 1982, insector, 0, gottlieb1, insector, gottlieb_state, init_romtiles, ROT0, "Gottlieb", "Insector (prototype)", 0 ) -GAME( 1982, tylz, 0, tylz, tylz, gottlieb_state, init_romtiles, ROT0, "Mylstar", "Tylz (prototype)", MACHINE_IMPERFECT_SOUND ) // modified sound hw? -GAME( 1984, argusg, 0, gottlieb1, argusg, gottlieb_state, init_ramtiles, ROT0, "Gottlieb", "Argus (Gottlieb, prototype)" , 0) // aka Guardian / Protector? -GAME( 1983, mplanets, 0, gottlieb1, mplanets, gottlieb_state, init_romtiles, ROT270, "Gottlieb", "Mad Planets", 0 ) -GAME( 1983, mplanetsuk, mplanets, gottlieb1, mplanets, gottlieb_state, init_romtiles, ROT270, "Gottlieb (Taitel license)", "Mad Planets (UK)", 0 ) -GAME( 1983, krull, 0, gottlieb1, krull, gottlieb_state, init_ramtiles, ROT270, "Gottlieb", "Krull", 0 ) -GAME( 1983, kngtmare, 0, gottlieb1, kngtmare, gottlieb_state, init_romtiles, ROT0, "Gottlieb", "Knightmare (prototype)", MACHINE_NO_SOUND ) // Missing sound ROMs -GAME( 1983, sqbert, 0, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Mylstar", "Faster, Harder, More Challenging Q*bert (prototype)", MACHINE_IMPERFECT_SOUND ) -GAME( 1983, qbertqub, 0, qbert, qbertqub, gottlieb_state, init_qbertqub, ROT270, "Mylstar", "Q*bert's Qubes", MACHINE_IMPERFECT_SOUND ) -GAME( 1984, curvebal, 0, gottlieb1, curvebal, gottlieb_state, init_romtiles, ROT270, "Mylstar", "Curve Ball", 0 ) +GAME( 1982, reactor, 0, reactor, reactor, gottlieb_state, init_ramtiles, ROT0, "Gottlieb", "Reactor", MACHINE_IMPERFECT_SOUND ) +GAME( 1982, qbert, 0, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Gottlieb", "Q*bert (US set 1)", MACHINE_IMPERFECT_SOUND ) +GAME( 1982, qberta, qbert, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Gottlieb", "Q*bert (US set 2)", MACHINE_IMPERFECT_SOUND ) +GAME( 1982, qbertj, qbert, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Gottlieb (Konami license)", "Q*bert (Japan)", MACHINE_IMPERFECT_SOUND ) +GAME( 1982, myqbert, qbert, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Gottlieb", "Mello Yello Q*bert", MACHINE_IMPERFECT_SOUND ) +GAME( 1982, qberttst, qbert, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Gottlieb", "Q*bert (early test version)", MACHINE_IMPERFECT_SOUND ) +GAME( 1982, qbtrktst, qbert, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Gottlieb", "Q*bert Board Input Test Rom", MACHINE_IMPERFECT_SOUND ) +GAME( 1982, insector, 0, gottlieb1, insector, gottlieb_state, init_romtiles, ROT0, "Gottlieb", "Insector (prototype)", 0 ) +GAME( 1982, tylz, 0, tylz, tylz, gottlieb_state, init_romtiles, ROT0, "Mylstar", "Tylz (prototype)", MACHINE_IMPERFECT_SOUND ) // modified sound hw? +GAME( 1984, argusg, 0, gottlieb1_rom, argusg, gottlieb_state, init_ramtiles, ROT0, "Gottlieb", "Argus (Gottlieb, prototype)" , 0) // aka Guardian / Protector? +GAME( 1983, mplanets, 0, gottlieb1, mplanets, gottlieb_state, init_romtiles, ROT270, "Gottlieb", "Mad Planets", 0 ) +GAME( 1983, mplanetsuk, mplanets, gottlieb1, mplanets, gottlieb_state, init_romtiles, ROT270, "Gottlieb (Taitel license)", "Mad Planets (UK)", 0 ) +GAME( 1983, krull, 0, gottlieb1_rom, krull, gottlieb_state, init_ramtiles, ROT270, "Gottlieb", "Krull", 0 ) +GAME( 1983, kngtmare, 0, gottlieb1, kngtmare, gottlieb_state, init_romtiles, ROT0, "Gottlieb", "Knightmare (prototype)", MACHINE_NO_SOUND ) // Missing sound ROMs +GAME( 1983, sqbert, 0, qbert, qbert, gottlieb_state, init_qbert, ROT270, "Mylstar", "Faster, Harder, More Challenging Q*bert (prototype)", MACHINE_IMPERFECT_SOUND ) +GAME( 1983, qbertqub, 0, qbert, qbertqub, gottlieb_state, init_qbertqub, ROT270, "Mylstar", "Q*bert's Qubes", MACHINE_IMPERFECT_SOUND ) +GAME( 1984, curvebal, 0, gottlieb1, curvebal, gottlieb_state, init_romtiles, ROT270, "Mylstar", "Curve Ball", 0 ) /* games using rev 2 sound board */ -GAME( 1983, screwloo, 0, screwloo, screwloo, gottlieb_state, init_screwloo, ROT0, "Mylstar", "Screw Loose (prototype)", 0 ) -GAME( 1983, mach3, 0, g2laser, mach3, gottlieb_state, init_romtiles, ROT0, "Mylstar", "M.A.C.H. 3 (set 1)", 0 ) -GAME( 1983, mach3a, mach3, g2laser, mach3, gottlieb_state, init_romtiles, ROT0, "Mylstar", "M.A.C.H. 3 (set 2)", 0 ) -GAME( 1983, mach3b, mach3, g2laser, mach3, gottlieb_state, init_romtiles, ROT0, "Mylstar", "M.A.C.H. 3 (set 3)", 0 ) -GAME( 1984, cobram3, cobra, cobram3, cobram3, gottlieb_state, init_romtiles, ROT0, "Data East", "Cobra Command (M.A.C.H. 3 hardware, set 1)", 0 ) -GAME( 1984, cobram3a, cobra, cobram3, cobram3, gottlieb_state, init_romtiles, ROT0, "Data East", "Cobra Command (M.A.C.H. 3 hardware, set 2)", 0 ) -GAME( 1984, usvsthem, 0, g2laser, usvsthem, gottlieb_state, init_romtiles, ROT0, "Mylstar", "Us vs. Them", 0 ) -GAME( 1984, 3stooges, 0, gottlieb2, 3stooges, gottlieb_state, init_stooges, ROT0, "Mylstar", "The Three Stooges In Brides Is Brides (set 1)", 0 ) -GAME( 1984, 3stoogesa, 3stooges, gottlieb2, 3stooges, gottlieb_state, init_stooges, ROT0, "Mylstar", "The Three Stooges In Brides Is Brides (set 2)", 0 ) -GAME( 1984, vidvince, 0, gottlieb2, vidvince, gottlieb_state, init_vidvince, ROT0, "Mylstar", "Video Vince and the Game Factory (prototype)", MACHINE_IMPERFECT_GRAPHICS ) // sprite wrapping issues -GAME( 1984, wizwarz, 0, gottlieb2, wizwarz, gottlieb_state, init_romtiles, ROT0, "Mylstar", "Wiz Warz (prototype)", 0 ) +GAME( 1983, screwloo, 0, screwloo, screwloo, gottlieb_state, init_screwloo, ROT0, "Mylstar", "Screw Loose (prototype)", 0 ) +GAME( 1983, mach3, 0, g2laser, mach3, gottlieb_state, init_romtiles, ROT0, "Mylstar", "M.A.C.H. 3 (set 1)", 0 ) +GAME( 1983, mach3a, mach3, g2laser, mach3, gottlieb_state, init_romtiles, ROT0, "Mylstar", "M.A.C.H. 3 (set 2)", 0 ) +GAME( 1983, mach3b, mach3, g2laser, mach3, gottlieb_state, init_romtiles, ROT0, "Mylstar", "M.A.C.H. 3 (set 3)", 0 ) +GAME( 1984, cobram3, cobra, cobram3, cobram3, gottlieb_state, init_romtiles, ROT0, "Data East", "Cobra Command (M.A.C.H. 3 hardware, set 1)", 0 ) +GAME( 1984, cobram3a, cobra, cobram3, cobram3, gottlieb_state, init_romtiles, ROT0, "Data East", "Cobra Command (M.A.C.H. 3 hardware, set 2)", 0 ) +GAME( 1984, usvsthem, 0, g2laser, usvsthem, gottlieb_state, init_romtiles, ROT0, "Mylstar", "Us vs. Them", 0 ) +GAME( 1984, 3stooges, 0, gottlieb2_ram_rom, 3stooges, gottlieb_state, init_stooges, ROT0, "Mylstar", "The Three Stooges In Brides Is Brides (set 1)", 0 ) +GAME( 1984, 3stoogesa, 3stooges, gottlieb2_ram_rom, 3stooges, gottlieb_state, init_stooges, ROT0, "Mylstar", "The Three Stooges In Brides Is Brides (set 2)", 0 ) +GAME( 1984, vidvince, 0, gottlieb2_ram_rom, vidvince, gottlieb_state, init_vidvince, ROT0, "Mylstar", "Video Vince and the Game Factory (prototype)", MACHINE_IMPERFECT_GRAPHICS ) // sprite wrapping issues +GAME( 1984, wizwarz, 0, gottlieb2, wizwarz, gottlieb_state, init_romtiles, ROT0, "Mylstar", "Wiz Warz (prototype)", 0 ) diff --git a/src/mame/includes/gottlieb.h b/src/mame/includes/gottlieb.h index b9683b14cc2..5e2af434618 100644 --- a/src/mame/includes/gottlieb.h +++ b/src/mame/includes/gottlieb.h @@ -46,22 +46,21 @@ public: , m_paletteram(*this, "paletteram") , m_track_x(*this, "TRACKX") , m_track_y(*this, "TRACKY") - , m_ramrom_config(*this, "ROMRAM_CONFIG") , m_leds(*this, "led%u", 0U) - , m_view_1000(*this, "view_1000") - , m_view_2000(*this, "view_2000") { } void gottlieb_core(machine_config &config); void cobram3(machine_config &config); void screwloo(machine_config &config); void gottlieb2(machine_config &config); + void gottlieb2_ram_rom(machine_config &config); void reactor(machine_config &config); void tylz(machine_config &config); void g2laser(machine_config &config); void qbert(machine_config &config); void qbert_knocker(machine_config &config); void gottlieb1(machine_config &config); + void gottlieb1_rom(machine_config &config); void gottlieb1_votrax(machine_config &config); void init_romtiles(); @@ -122,7 +121,10 @@ private: void audio_handle_zero_crossing(const attotime &zerotime, bool logit); void laserdisc_audio_process(int samplerate, int samples, const int16_t *ch0, const int16_t *ch1); - void gottlieb_map(address_map &map); + void gottlieb_base_map(address_map &map); + void gottlieb_ram_map(address_map &map); + void gottlieb_ram_rom_map(address_map &map); + void gottlieb_rom_map(address_map &map); void reactor_map(address_map &map); // devices @@ -143,12 +145,8 @@ private: optional_ioport m_track_x; optional_ioport m_track_y; - optional_ioport m_ramrom_config; output_finder<3> m_leds; // only used by reactor - memory_view m_view_1000; - memory_view m_view_2000; - u8 m_knocker_prev; u8 m_joystick_select; u8 m_track[2]; |