summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/gottlieb.cpp208
-rw-r--r--src/mame/includes/gottlieb.h18
2 files changed, 165 insertions, 61 deletions
diff --git a/src/mame/drivers/gottlieb.cpp b/src/mame/drivers/gottlieb.cpp
index 71d55ea1697..cca3748d405 100644
--- a/src/mame/drivers/gottlieb.cpp
+++ b/src/mame/drivers/gottlieb.cpp
@@ -268,6 +268,17 @@ 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;
+ }
+ }
}
@@ -776,7 +787,13 @@ void gottlieb_state::reactor_map(address_map &map)
void gottlieb_state::gottlieb_map(address_map &map)
{
map.global_mask(0xffff);
- map(0x0000, 0x2fff).ram().share("nvram");
+ 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 */
@@ -903,6 +920,14 @@ 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
@@ -957,6 +982,14 @@ 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
@@ -1008,6 +1041,14 @@ 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
@@ -1063,6 +1104,14 @@ 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
@@ -1116,6 +1165,14 @@ 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
@@ -1169,6 +1226,14 @@ 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
@@ -1213,6 +1278,14 @@ 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
@@ -1273,6 +1346,14 @@ 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
@@ -1332,6 +1413,14 @@ 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
@@ -1386,6 +1475,14 @@ 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
@@ -1440,6 +1537,14 @@ 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 )
@@ -1493,6 +1598,14 @@ 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
@@ -1538,6 +1651,14 @@ 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
@@ -1604,6 +1725,14 @@ 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
@@ -1655,6 +1784,14 @@ 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
@@ -1707,6 +1844,14 @@ 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
@@ -1762,7 +1907,7 @@ void gottlieb_state::gottlieb_core(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &gottlieb_state::gottlieb_map);
m_maincpu->set_vblank_int("screen", FUNC(gottlieb_state::interrupt));
- NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
+ NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
WATCHDOG_TIMER(config, "watchdog").set_vblank_count(m_screen, 16);
@@ -1912,9 +2057,6 @@ ROM_END
ROM_START( qbert )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_FILL( 0x1000, 0x2000, 0x00)
-
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "qb-rom2.bin", 0xa000, 0x2000, CRC(fe434526) SHA1(4cfc5d52dd6c82163e035af82d6112c0c93a3797) )
ROM_LOAD( "qb-rom1.bin", 0xc000, 0x2000, CRC(55635447) SHA1(ca6acdef1c9e06b33efe1f0a2df2dfb03723cfbe) )
@@ -1937,9 +2079,6 @@ ROM_START( qbert )
ROM_END
ROM_START( qberta )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_FILL( 0x1000, 0x2000, 0x00)
-
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "qrom_2.bin", 0xa000, 0x2000, CRC(b54a8ffc) SHA1(5e19690f141d3db8f3bfa6c7de75026256758c1f) )
ROM_LOAD( "qrom_1.bin", 0xc000, 0x2000, CRC(19d924e3) SHA1(af55ecb5b650e7b069d8be67eb9a9d0f3e69e3f1) )
@@ -1961,9 +2100,6 @@ ROM_START( qberta )
ROM_END
ROM_START( qbertj )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_FILL( 0x1000, 0x2000, 0x00)
-
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "qbj-rom2.bin", 0xa000, 0x2000, CRC(67bb1cb2) SHA1(23a7f8c86d6db9220a98b3f630c5d000e80f2d53) )
ROM_LOAD( "qbj-rom1.bin", 0xc000, 0x2000, CRC(c61216e7) SHA1(e727b85dddc2963e33af6c02b675243f6fbe2710) )
@@ -1985,9 +2121,6 @@ ROM_START( qbertj )
ROM_END
ROM_START( myqbert )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_FILL( 0x1000, 0x2000, 0x00)
-
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "mqb-rom2.bin", 0xa000, 0x2000, CRC(6860f957) SHA1(ebd68aeb6d54868295bd20cf64ee0187a52df0e3) )
ROM_LOAD( "mqb-rom1.bin", 0xc000, 0x2000, CRC(11f0a4e4) SHA1(a805e51c40042fae209ace277abd9b35a990905b) )
@@ -2009,9 +2142,6 @@ ROM_START( myqbert )
ROM_END
ROM_START( qberttst )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_FILL( 0x1000, 0x2000, 0x00)
-
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "qbtst2.bin", 0xa000, 0x2000, CRC(55307b02) SHA1(8a41820211093779d9010b4c9e7d667ad3a31f23) )
ROM_LOAD( "qbtst1.bin", 0xc000, 0x2000, CRC(e97fdd78) SHA1(98dd07043a72273240c593650aa9947199347870) )
@@ -2034,9 +2164,6 @@ ROM_END
/* test rom, not a game */
ROM_START( qbtrktst )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_FILL( 0x1000, 0x2000, 0x00)
-
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "qb-rom2.bin", 0xa000, 0x2000, CRC(fe434526) SHA1(4cfc5d52dd6c82163e035af82d6112c0c93a3797) )
ROM_LOAD( "qb-rom1.bin", 0xc000, 0x2000, CRC(55635447) SHA1(ca6acdef1c9e06b33efe1f0a2df2dfb03723cfbe) )
@@ -2059,9 +2186,6 @@ ROM_END
ROM_START( insector )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_FILL( 0x1000, 0x2000, 0x00)
-
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "rom3", 0x8000, 0x2000, CRC(640881fd) SHA1(2832183e41ae7e631b61e4845fa68ce1c49edf29) )
ROM_LOAD( "rom2", 0xa000, 0x2000, CRC(456bc3f4) SHA1(b61a56a65639f97399a8a3a4293ac2292edfd159) )
@@ -2084,9 +2208,6 @@ ROM_END
ROM_START( tylz )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_FILL( 0x1000, 0x2000, 0x00)
-
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "tylz.s4t", 0x8000, 0x2000, CRC(28ed146d) SHA1(52d72503b456b1411cd91724c6d524b78ca6fe03) )
ROM_LOAD( "tylz.s4b", 0xa000, 0x2000, CRC(18ee09f9) SHA1(632896bfe7e14f93665671dbcc17b7cabc754a98) )
@@ -2109,11 +2230,9 @@ ROM_END
ROM_START( argusg )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
+ ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "arg_ram2_2732.c7", 0x1000, 0x1000, CRC(5d35b83e) SHA1(5a1c3b2ae138d5509b8daaf03036f000bd09d0fc) )
ROM_LOAD( "arg_ram4_2732.c9c10", 0x2000, 0x1000, CRC(7180e823) SHA1(47124925d863b9b3784c0c990d4a4344e8d09372) )
-
- ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "arg_rom4_2764.c16", 0x6000, 0x2000, CRC(2f48bd78) SHA1(b625a03b5a4989b67d5180fca7e9f6b7a24e6d2c) )
ROM_LOAD( "arg_rom3_2764.c14c15", 0x8000, 0x2000, CRC(4dc2914c) SHA1(8ca0fd2ce1fc9f00afd30a638ff2f8787ef7e3d4) )
ROM_LOAD( "arg_rom2_2764.c13c14", 0xa000, 0x2000, CRC(b5e9ee77) SHA1(dbdc176e3ca6be17b78eb98c07d5a9b5eaa28ba1) )
@@ -2136,9 +2255,6 @@ ROM_END
ROM_START( mplanets )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_FILL( 0x1000, 0x2000, 0x00)
-
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "rom4.c16", 0x6000, 0x2000, CRC(5402077f) SHA1(f4e8699ab3c6dfc0f86b6df86d2a5b35caf2ca73) )
ROM_LOAD( "rom3.c14-15", 0x8000, 0x2000, CRC(5d18d740) SHA1(30307d98704c49dec5aecd0a1ec2f06f1869a5d2) )
@@ -2164,9 +2280,6 @@ ROM_START( mplanets )
ROM_END
ROM_START( mplanetsuk )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_FILL( 0x1000, 0x2000, 0x00)
-
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "mpt_rom4.bin", 0x6000, 0x2000, CRC(cd88e23c) SHA1(03222e2600f7fb1c6844340d4a56eedfcdeaa3c8) )
ROM_LOAD( "mpt_rom3.bin", 0x8000, 0x2000, CRC(dc355b2d) SHA1(ae3e376afc7a8cb049d0dd28bf3959cb76780999) )
@@ -2191,11 +2304,9 @@ ROM_END
ROM_START( krull )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
+ ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "gv-105_ram_2.c7", 0x1000, 0x1000, CRC(302feadf) SHA1(9d70de35e4f0490dc4e601070993ad146f250dea) )
ROM_LOAD( "gv-105_ram_4.c9-10", 0x2000, 0x1000, CRC(79355a60) SHA1(57ad5c904b9ac4bf7c7d828bf755bbcbba6a4fd7) )
-
- ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "gv-105_rom_4.c16", 0x6000, 0x2000, CRC(2b696394) SHA1(b18270f4ad97743f6ff8c4cbc93e523c77a8e794) )
ROM_LOAD( "gv-105_rom_3.c14-15", 0x8000, 0x2000, CRC(14b0ee42) SHA1(276c4008a013806b3989c529f41cbc358ec49fd6) )
ROM_LOAD( "gv-105_rom_2.c13-14", 0xa000, 0x2000, CRC(b5fad94a) SHA1(1bae895fbdd658cfb56c53cc2139282cc1e778de) )
@@ -2218,9 +2329,6 @@ ROM_END
ROM_START( kngtmare )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_FILL( 0x1000, 0x2000, 0x00)
-
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "gv112_rom3_2764.c14c15", 0x8000, 0x2000, CRC(47351270) SHA1(e6ca0b27b8f703cf73aad5f82d3b986823fbda88) )
ROM_LOAD( "gv112_rom2_2764.c13c14", 0xa000, 0x2000, CRC(53e01f97) SHA1(0fbb92789609ba1df6e4ae56b2fc77a004e3a4ea) )
@@ -2243,9 +2351,6 @@ ROM_END
ROM_START( sqbert )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_FILL( 0x1000, 0x2000, 0x00)
-
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "qb-rom2.bin", 0xa000, 0x2000, CRC(1e3d4038) SHA1(d4402c5d16c0aa55efbceb83f0b30082b8434df7) )
ROM_LOAD( "qb-rom1.bin", 0xc000, 0x2000, CRC(eaf3076c) SHA1(749a87b3c40ba0a2ecd2ca962786e066daf63e30) )
@@ -2268,9 +2373,6 @@ ROM_END
ROM_START( qbertqub )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_FILL( 0x1000, 0x2000, 0x00)
-
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "qq-rom3.bin", 0x8000, 0x2000, CRC(c4dbdcd7) SHA1(34aaa4762073680e2b4d024ce7106315ffc6bcf3) )
ROM_LOAD( "qq-rom2.bin", 0xa000, 0x2000, CRC(21a6c6cc) SHA1(6d4d81d9ad85be3792584e39dbeaf0dfeeda1503) )
@@ -2512,10 +2614,8 @@ ROM_END
ROM_START( 3stooges )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_LOAD( "gv113ram.4", 0x2000, 0x1000, CRC(533bff2a) SHA1(58d0be8add4b02dc3e27cf6b17a05baf4304f3ce) )
-
ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "gv113ram.4", 0x2000, 0x1000, CRC(533bff2a) SHA1(58d0be8add4b02dc3e27cf6b17a05baf4304f3ce) )
ROM_LOAD( "gv113rom.4", 0x6000, 0x2000, CRC(8b6e52b8) SHA1(6e17e11afce92a7fa1735a724f0c0faf9375ac89) )
ROM_LOAD( "gv113rom.3", 0x8000, 0x2000, CRC(b816d8c4) SHA1(86e16888492390034ac04e3f6a9f56422575c778) )
ROM_LOAD( "gv113rom.2", 0xa000, 0x2000, CRC(b45b2a79) SHA1(7d0b19bec462ab67f518361afdf4b6982829ed07) )
@@ -2541,10 +2641,8 @@ ROM_END
ROM_START( 3stoogesa )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_LOAD( "gv113ram4.bin", 0x2000, 0x1000, CRC(a00365be) SHA1(a151e1dfd8a251e6558968ea1df5a8516286d2c1) ) /* Came from PCB with low serial # */
-
ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "gv113ram4.bin", 0x2000, 0x1000, CRC(a00365be) SHA1(a151e1dfd8a251e6558968ea1df5a8516286d2c1) ) /* Came from PCB with low serial # */
ROM_LOAD( "gv113rom4.bin", 0x6000, 0x2000, CRC(a8f9d51d) SHA1(c9b18e31fea6fd01171528dd583b4d4f9b9078ed) )
ROM_LOAD( "gv113rom3.bin", 0x8000, 0x2000, CRC(60bda7b6) SHA1(7dd7633397d3ccdbd7885a5436f422f575ecd0cc) )
ROM_LOAD( "gv113rom2.bin", 0xa000, 0x2000, CRC(9bb95798) SHA1(91cf203cf59c5a96ed5de8f4c5743bd91350c16f) )
@@ -2570,10 +2668,8 @@ ROM_END
ROM_START( vidvince )
- ROM_REGION( 0x3000, "nvram", ROMREGION_ERASEFF)
- ROM_LOAD( "gv132_ram4_2732.c9c10", 0x2000, 0x1000, CRC(67a4927b) SHA1(41dfd13ea24bb3b0f8f917f4af5f6b33af1bc2e7) )
-
ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "gv132_ram4_2732.c9c10", 0x2000, 0x1000, CRC(67a4927b) SHA1(41dfd13ea24bb3b0f8f917f4af5f6b33af1bc2e7) )
ROM_LOAD( "gv132_rom4_2764.c16", 0x6000, 0x2000, CRC(3c5f39f5) SHA1(3722c30bcd60fc0c1c4ca4dd800a3654fba67599) )
ROM_LOAD( "gv132_rom3_2764.c14c15", 0x8000, 0x2000, CRC(3983cb79) SHA1(3c527ed2428b8cb86a6896a74c873317a9f7b411) )
ROM_LOAD( "gv132_rom2_2764.c13c14", 0xa000, 0x2000, CRC(0f5ebab9) SHA1(680874b9857565857375096d05203997669a7215) )
diff --git a/src/mame/includes/gottlieb.h b/src/mame/includes/gottlieb.h
index 7d539c85cdb..b9683b14cc2 100644
--- a/src/mame/includes/gottlieb.h
+++ b/src/mame/includes/gottlieb.h
@@ -46,7 +46,10 @@ 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);
@@ -72,6 +75,12 @@ public:
template <int N> DECLARE_CUSTOM_INPUT_MEMBER(track_delta_r);
DECLARE_CUSTOM_INPUT_MEMBER(stooges_joystick_r);
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
enum
{
@@ -116,11 +125,6 @@ private:
void gottlieb_map(address_map &map);
void reactor_map(address_map &map);
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-
// devices
required_device<cpu_device> m_maincpu;
optional_device<pioneer_pr8210_device> m_laserdisc;
@@ -139,8 +143,12 @@ 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];