diff options
author | 2021-02-13 19:20:19 +0100 | |
---|---|---|
committer | 2021-02-13 19:20:19 +0100 | |
commit | 576534b7675e7f16fca93232bf90d13a264d137a (patch) | |
tree | 1df74f674eda899d90b02e330de2496d670c130e /src | |
parent | 9967ab0524b1a2542469af2d7bd0dd66a26618be (diff) |
gottlieb.cpp: fixed MT07874
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/gottlieb.cpp | 208 | ||||
-rw-r--r-- | src/mame/includes/gottlieb.h | 18 |
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]; |