From 3fb189284342b8dfdc6416fce1e6ae4324e0511b Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Wed, 11 Mar 2020 19:54:06 +0100 Subject: New working clones ------------------ Jungler (Olympia) [f205v] --- src/mame/drivers/rallyx.cpp | 351 ++++++++++++++++++++++++-------------------- src/mame/includes/rallyx.h | 87 ++++++----- src/mame/mame.lst | 1 + src/mame/video/rallyx.cpp | 122 ++++++--------- 4 files changed, 284 insertions(+), 277 deletions(-) diff --git a/src/mame/drivers/rallyx.cpp b/src/mame/drivers/rallyx.cpp index 617f114af34..abf9e18a39d 100644 --- a/src/mame/drivers/rallyx.cpp +++ b/src/mame/drivers/rallyx.cpp @@ -209,14 +209,14 @@ TODO: * *************************************/ -WRITE8_MEMBER(rallyx_state::rallyx_interrupt_vector_w) +void rallyx_state::rallyx_interrupt_vector_w(uint8_t data) { m_maincpu->set_input_line_vector(0, data); // Z80 m_maincpu->set_input_line(0, CLEAR_LINE); } -WRITE_LINE_MEMBER(rallyx_state::bang_w) +void rallyx_state::bang_w(int state) { if (state == 0 && m_last_bang != 0) m_samples->start(0, 0); @@ -225,14 +225,14 @@ WRITE_LINE_MEMBER(rallyx_state::bang_w) } -WRITE_LINE_MEMBER(rallyx_state::irq_mask_w) +void rallyx_state::irq_mask_w(int state) { m_main_irq_mask = state; if (!state) m_maincpu->set_input_line(0, CLEAR_LINE); } -WRITE_LINE_MEMBER(rallyx_state::nmi_mask_w) +void rallyx_state::nmi_mask_w(int state) { m_main_irq_mask = state; if (!state) @@ -240,32 +240,32 @@ WRITE_LINE_MEMBER(rallyx_state::nmi_mask_w) } -WRITE_LINE_MEMBER(rallyx_state::sound_on_w) +void rallyx_state::sound_on_w(int state) { - /* this doesn't work in New Rally X so I'm not supporting it */ + // this doesn't work in New Rally X so I'm not supporting it //m_namco_sound->pacman_sound_enable_w(state); } -WRITE_LINE_MEMBER(rallyx_state::flip_screen_w) +void rallyx_state::flip_screen_w(int state) { flip_screen_set(state); } -WRITE_LINE_MEMBER(rallyx_state::coin_lockout_w) +void rallyx_state::coin_lockout_w(int state) { machine().bookkeeping().coin_lockout_w(0, !state); } -WRITE_LINE_MEMBER(rallyx_state::coin_counter_1_w) +void rallyx_state::coin_counter_1_w(int state) { machine().bookkeeping().coin_counter_w(0, state); } -WRITE_LINE_MEMBER(rallyx_state::coin_counter_2_w) +void rallyx_state::coin_counter_2_w(int state) { machine().bookkeeping().coin_counter_w(1, state); } @@ -280,17 +280,17 @@ WRITE_LINE_MEMBER(rallyx_state::coin_counter_2_w) void rallyx_state::rallyx_map(address_map &map) { map(0x0000, 0x3fff).rom(); - map(0x8000, 0x8fff).ram().w(FUNC(rallyx_state::rallyx_videoram_w)).share("videoram"); + map(0x8000, 0x8fff).ram().w(FUNC(rallyx_state::videoram_w)).share(m_videoram); map(0x9800, 0x9fff).ram(); map(0xa000, 0xa000).portr("P1"); map(0xa080, 0xa080).portr("P2"); map(0xa100, 0xa100).portr("DSW"); - map(0xa000, 0xa00f).writeonly().share("radarattr"); + map(0xa000, 0xa00f).writeonly().share(m_radarattr); map(0xa080, 0xa080).w("watchdog", FUNC(watchdog_timer_device::reset_w)); map(0xa100, 0xa11f).w(m_namco_sound, FUNC(namco_device::pacman_sound_w)); - map(0xa130, 0xa130).w(FUNC(rallyx_state::rallyx_scrollx_w)); - map(0xa140, 0xa140).w(FUNC(rallyx_state::rallyx_scrolly_w)); - map(0xa170, 0xa170).nopw(); /* ? */ + map(0xa130, 0xa130).w(FUNC(rallyx_state::scrollx_w)); + map(0xa140, 0xa140).w(FUNC(rallyx_state::scrolly_w)); + map(0xa170, 0xa170).nopw(); // ? map(0xa180, 0xa187).w("mainlatch", FUNC(ls259_device::write_d0)); } @@ -304,17 +304,17 @@ void rallyx_state::io_map(address_map &map) void rallyx_state::jungler_map(address_map &map) { map(0x0000, 0x7fff).rom(); - map(0x8000, 0x8fff).ram().w(FUNC(rallyx_state::rallyx_videoram_w)).share("videoram"); + map(0x8000, 0x8fff).ram().w(FUNC(rallyx_state::videoram_w)).share(m_videoram); map(0x9800, 0x9fff).ram(); map(0xa000, 0xa000).portr("P1"); map(0xa080, 0xa080).portr("P2"); map(0xa100, 0xa100).portr("DSW1"); map(0xa180, 0xa180).portr("DSW2"); - map(0xa000, 0xa00f).mirror(0x00f0).writeonly().share("radarattr"); // jungler writes to a03x + map(0xa000, 0xa00f).mirror(0x00f0).writeonly().share(m_radarattr); // jungler writes to a03x map(0xa080, 0xa080).w("watchdog", FUNC(watchdog_timer_device::reset_w)); map(0xa100, 0xa100).w(m_timeplt_audio, FUNC(timeplt_audio_device::sound_data_w)); - map(0xa130, 0xa130).w(FUNC(rallyx_state::rallyx_scrollx_w)); /* only jungler and tactcian */ - map(0xa140, 0xa140).w(FUNC(rallyx_state::rallyx_scrolly_w)); /* only jungler and tactcian */ + map(0xa130, 0xa130).w(FUNC(rallyx_state::scrollx_w)); // only jungler and tactcian + map(0xa140, 0xa140).w(FUNC(rallyx_state::scrolly_w)); // only jungler and tactcian map(0xa180, 0xa187).w("mainlatch", FUNC(ls259_device::write_d0)); } @@ -480,11 +480,11 @@ static INPUT_PORTS_START( jungler ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - PORT_START("DSW1") /* Sound board */ + PORT_START("DSW1") // Sound board PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START("DSW2") /* CPU board */ + PORT_START("DSW2") // CPU board PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW2:1,2,3") PORT_DIPSETTING( 0x01, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) @@ -533,7 +533,7 @@ static INPUT_PORTS_START( locomotn ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - PORT_START("DSW1") /* Sound board */ + PORT_START("DSW1") // Sound board PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:5,6") @@ -552,7 +552,7 @@ static INPUT_PORTS_START( locomotn ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_START("DSW2") /* CPU board */ + PORT_START("DSW2") // CPU board PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW2:1,2,3,4") PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x0a, DEF_STR( 3C_1C ) ) @@ -587,7 +587,7 @@ static INPUT_PORTS_START( locomotn ) PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) ) PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) ) PORT_DIPSETTING( 0x00, "No Coin B" ) - /* "No Coin B" = coins produce sound, but no effect on coin counter */ + // "No Coin B" = coins produce sound, but no effect on coin counter INPUT_PORTS_END @@ -600,7 +600,7 @@ static INPUT_PORTS_START( tactcian ) PORT_MODIFY("P2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL - PORT_MODIFY("DSW1") /* Sound board */ + PORT_MODIFY("DSW1") // Sound board PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:5,6") PORT_DIPSETTING( 0x30, "255" ) PORT_DIPSETTING( 0x20, "5" ) @@ -619,7 +619,7 @@ static INPUT_PORTS_START( tactcian ) PORT_DIPSETTING( 0x00, "10k, 80k then every 100k" ) PORT_DIPSETTING( 0x01, "20k, 80k then every 100k" ) - PORT_MODIFY("DSW2") /* CPU board */ + PORT_MODIFY("DSW2") // CPU board PORT_DIPNAME( 0x01, 0x00, "Coin Mode" ) PORT_DIPLOCATION("DSW2:1") PORT_DIPSETTING( 0x00, "Mode 1" ) PORT_DIPSETTING( 0x01, "Mode 2" ) @@ -654,7 +654,7 @@ static INPUT_PORTS_START( commsega ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - PORT_START("DSW1") /* (sound board) */ + PORT_START("DSW1") // (sound board) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_DIPLOCATION("DSW1:7") PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "DSW1:6") @@ -672,7 +672,7 @@ static INPUT_PORTS_START( commsega ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_START("DSW2") /* (CPU board) */ + PORT_START("DSW2") // (CPU board) PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW2:1,2") PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) @@ -785,7 +785,7 @@ static const char *const rallyx_sample_names[] = { "*rallyx", "bang", - nullptr /* end of array */ + nullptr // end of array }; /************************************* @@ -801,13 +801,13 @@ MACHINE_START_MEMBER(rallyx_state,rallyx) save_item(NAME(m_main_irq_mask)); } -WRITE_LINE_MEMBER(rallyx_state::rallyx_vblank_irq) +void rallyx_state::rallyx_vblank_irq(int state) { if (state && m_main_irq_mask) m_maincpu->set_input_line(0, ASSERT_LINE); } -WRITE_LINE_MEMBER(rallyx_state::jungler_vblank_irq) +void rallyx_state::jungler_vblank_irq(int state) { if (state && m_main_irq_mask) m_maincpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE); @@ -815,8 +815,8 @@ WRITE_LINE_MEMBER(rallyx_state::jungler_vblank_irq) void rallyx_state::rallyx(machine_config &config) { - /* basic machine hardware */ - Z80(config, m_maincpu, MASTER_CLOCK/6); /* 3.072 MHz */ + // basic machine hardware + Z80(config, m_maincpu, MASTER_CLOCK/6); // 3.072 MHz m_maincpu->set_addrmap(AS_PROGRAM, &rallyx_state::rallyx_map); m_maincpu->set_addrmap(AS_IO, &rallyx_state::io_map); @@ -834,7 +834,7 @@ void rallyx_state::rallyx(machine_config &config) MCFG_MACHINE_START_OVERRIDE(rallyx_state,rallyx) - /* video hardware */ + // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_refresh_hz(60.606060); m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); @@ -851,10 +851,10 @@ void rallyx_state::rallyx(machine_config &config) MCFG_VIDEO_START_OVERRIDE(rallyx_state,rallyx) - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); - NAMCO(config, m_namco_sound, MASTER_CLOCK/6/32); /* 96 KHz */ + NAMCO(config, m_namco_sound, MASTER_CLOCK/6/32); // 96 KHz m_namco_sound->set_voices(3); m_namco_sound->add_route(ALL_OUTPUTS, "mono", 1.0); @@ -866,8 +866,8 @@ void rallyx_state::rallyx(machine_config &config) void rallyx_state::jungler(machine_config &config) { - /* basic machine hardware */ - Z80(config, m_maincpu, MASTER_CLOCK/6); /* 3.072 MHz */ + // basic machine hardware + Z80(config, m_maincpu, MASTER_CLOCK/6); // 3.072 MHz m_maincpu->set_addrmap(AS_PROGRAM, &rallyx_state::jungler_map); ls259_device &mainlatch(LS259(config, "mainlatch")); // 1C on Loco-Motion @@ -884,10 +884,10 @@ void rallyx_state::jungler(machine_config &config) MCFG_MACHINE_START_OVERRIDE(rallyx_state,rallyx) - /* video hardware */ + // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_refresh_hz(60); - m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); /* frames per second, vblank duration */ + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); // frames per second, vblank duration m_screen->set_size(36*8, 32*8); m_screen->set_visarea(0*8, 36*8-1, 2*8, 30*8-1); m_screen->set_screen_update(FUNC(rallyx_state::screen_update_jungler)); @@ -901,7 +901,7 @@ void rallyx_state::jungler(machine_config &config) MCFG_VIDEO_START_OVERRIDE(rallyx_state,jungler) - /* sound hardware */ + // sound hardware LOCOMOTN_AUDIO(config, "timeplt_audio"); } @@ -952,17 +952,17 @@ ROM_START( rallyx ) ROM_LOAD( "8e", 0x0000, 0x1000, CRC(277c1de5) SHA1(30bc57263e8dad870c501c76bce6f42d69ab9e00) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) /* Prom type: IM5623 - dots */ + ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) // Prom type: IM5623 - dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "rx1-1.11n", 0x0000, 0x0020, CRC(c7865434) SHA1(70c1c9610ba6f1ead77f347e7132958958bccb31) ) /* Prom type: M3-7603-5 - palette */ - ROM_LOAD( "rx1-7.8p", 0x0020, 0x0100, CRC(834d4fda) SHA1(617864d3df0917a513e8255ad8d96ae7a04da5a1) ) /* Prom type: IM5623 - lookup table */ - ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) /* Prom type: N82S123N - video layout (not used) */ - ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* Prom type: M3-7603-5 - video timing (not used) */ - - ROM_REGION( 0x0200, "namco", 0 ) /* sound proms */ - ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) /* Prom type: IM5623 */ - ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* Prom type: IM5623 - not used */ + ROM_LOAD( "rx1-1.11n", 0x0000, 0x0020, CRC(c7865434) SHA1(70c1c9610ba6f1ead77f347e7132958958bccb31) ) // Prom type: M3-7603-5 - palette + ROM_LOAD( "rx1-7.8p", 0x0020, 0x0100, CRC(834d4fda) SHA1(617864d3df0917a513e8255ad8d96ae7a04da5a1) ) // Prom type: IM5623 - lookup table + ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // Prom type: N82S123N - video layout (not used) + ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // Prom type: M3-7603-5 - video timing (not used) + + ROM_REGION( 0x0200, "namco", 0 ) // sound proms + ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) // Prom type: IM5623 + ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) // Prom type: IM5623 - not used ROM_END ROM_START( rallyxa ) @@ -981,17 +981,17 @@ ROM_START( rallyxa ) ROM_LOAD( "rx1_chg_2.8d", 0x0800, 0x0800, CRC(68dff552) SHA1(5dad38db45afbd79b5627a75b295fc920ad68856) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) /* Prom type: IM5623 - dots */ + ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) // Prom type: IM5623 - dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "rx1-1.11n", 0x0000, 0x0020, CRC(c7865434) SHA1(70c1c9610ba6f1ead77f347e7132958958bccb31) ) /* Prom type: M3-7603-5 - palette */ - ROM_LOAD( "rx1-7.8p", 0x0020, 0x0100, CRC(834d4fda) SHA1(617864d3df0917a513e8255ad8d96ae7a04da5a1) ) /* Prom type: IM5623 - lookup table */ - ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) /* Prom type: N82S123N - video layout (not used) */ - ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* Prom type: M3-7603-5 - video timing (not used) */ - - ROM_REGION( 0x0200, "namco", 0 ) /* sound proms */ - ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) /* Prom type: IM5623 */ - ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* Prom type: IM5623 - not used */ + ROM_LOAD( "rx1-1.11n", 0x0000, 0x0020, CRC(c7865434) SHA1(70c1c9610ba6f1ead77f347e7132958958bccb31) ) // Prom type: M3-7603-5 - palette + ROM_LOAD( "rx1-7.8p", 0x0020, 0x0100, CRC(834d4fda) SHA1(617864d3df0917a513e8255ad8d96ae7a04da5a1) ) // Prom type: IM5623 - lookup table + ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // Prom type: N82S123N - video layout (not used) + ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // Prom type: M3-7603-5 - video timing (not used) + + ROM_REGION( 0x0200, "namco", 0 ) // sound proms + ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) // Prom type: IM5623 + ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) // Prom type: IM5623 - not used ROM_END ROM_START( rallyxm ) @@ -1005,17 +1005,17 @@ ROM_START( rallyxm ) ROM_LOAD( "8e", 0x0000, 0x1000, CRC(277c1de5) SHA1(30bc57263e8dad870c501c76bce6f42d69ab9e00) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) /* Prom type: IM5623 - dots */ + ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) // Prom type: IM5623 - dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "rx1-1.11n", 0x0000, 0x0020, CRC(c7865434) SHA1(70c1c9610ba6f1ead77f347e7132958958bccb31) ) /* Prom type: M3-7603-5 - palette */ - ROM_LOAD( "rx1-7.8p", 0x0020, 0x0100, CRC(834d4fda) SHA1(617864d3df0917a513e8255ad8d96ae7a04da5a1) ) /* Prom type: IM5623 - lookup table */ - ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) /* Prom type: N82S123N - video layout (not used) */ - ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* Prom type: M3-7603-5 - video timing (not used) */ - - ROM_REGION( 0x0200, "namco", 0 ) /* sound proms */ - ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) /* Prom type: IM5623 */ - ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* Prom type: IM5623 - not used */ + ROM_LOAD( "rx1-1.11n", 0x0000, 0x0020, CRC(c7865434) SHA1(70c1c9610ba6f1ead77f347e7132958958bccb31) ) // Prom type: M3-7603-5 - palette + ROM_LOAD( "rx1-7.8p", 0x0020, 0x0100, CRC(834d4fda) SHA1(617864d3df0917a513e8255ad8d96ae7a04da5a1) ) // Prom type: IM5623 - lookup table + ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // Prom type: N82S123N - video layout (not used) + ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // Prom type: M3-7603-5 - video timing (not used) + + ROM_REGION( 0x0200, "namco", 0 ) // sound proms + ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) // Prom type: IM5623 + ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) // Prom type: IM5623 - not used ROM_END ROM_START( rallyxmr ) @@ -1034,17 +1034,17 @@ ROM_START( rallyxmr ) ROM_LOAD( "174.bin", 0x0800, 0x0800, CRC(68dff552) SHA1(5dad38db45afbd79b5627a75b295fc920ad68856) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) /* Prom type: IM5623 - dots */ + ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) // Prom type: IM5623 - dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "rx1-1.11n", 0x0000, 0x0020, CRC(c7865434) SHA1(70c1c9610ba6f1ead77f347e7132958958bccb31) ) /* Prom type: M3-7603-5 - palette */ - ROM_LOAD( "rx1-7.8p", 0x0020, 0x0100, CRC(834d4fda) SHA1(617864d3df0917a513e8255ad8d96ae7a04da5a1) ) /* Prom type: IM5623 - lookup table */ - ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) /* Prom type: N82S123N - video layout (not used) */ - ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* Prom type: M3-7603-5 - video timing (not used) */ - - ROM_REGION( 0x0200, "namco", 0 ) /* sound proms */ - ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) /* Prom type: IM5623 */ - ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* Prom type: IM5623 - not used */ + ROM_LOAD( "rx1-1.11n", 0x0000, 0x0020, CRC(c7865434) SHA1(70c1c9610ba6f1ead77f347e7132958958bccb31) ) // Prom type: M3-7603-5 - palette + ROM_LOAD( "rx1-7.8p", 0x0020, 0x0100, CRC(834d4fda) SHA1(617864d3df0917a513e8255ad8d96ae7a04da5a1) ) // Prom type: IM5623 - lookup table + ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // Prom type: N82S123N - video layout (not used) + ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // Prom type: M3-7603-5 - video timing (not used) + + ROM_REGION( 0x0200, "namco", 0 ) // sound proms */ + ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) // Prom type: IM5623 + ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) // Prom type: IM5623 - not used ROM_END ROM_START( dngrtrck ) // PROMs weren't dumped for this PCB, supposed to match @@ -1063,17 +1063,17 @@ ROM_START( dngrtrck ) // PROMs weren't dumped for this PCB, supposed to match ROM_LOAD( "8d-2716.bin", 0x0800, 0x0800, CRC(68dff552) SHA1(5dad38db45afbd79b5627a75b295fc920ad68856) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) /* Prom type: IM5623 - dots */ + ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) // Prom type: IM5623 - dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "rx1-1.11n", 0x0000, 0x0020, CRC(c7865434) SHA1(70c1c9610ba6f1ead77f347e7132958958bccb31) ) /* Prom type: M3-7603-5 - palette */ - ROM_LOAD( "rx1-7.8p", 0x0020, 0x0100, CRC(834d4fda) SHA1(617864d3df0917a513e8255ad8d96ae7a04da5a1) ) /* Prom type: IM5623 - lookup table */ - ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) /* Prom type: N82S123N - video layout (not used) */ - ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* Prom type: M3-7603-5 - video timing (not used) */ - - ROM_REGION( 0x0200, "namco", 0 ) /* sound proms */ - ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) /* Prom type: IM5623 */ - ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* Prom type: IM5623 - not used */ + ROM_LOAD( "rx1-1.11n", 0x0000, 0x0020, CRC(c7865434) SHA1(70c1c9610ba6f1ead77f347e7132958958bccb31) ) // Prom type: M3-7603-5 - palette + ROM_LOAD( "rx1-7.8p", 0x0020, 0x0100, CRC(834d4fda) SHA1(617864d3df0917a513e8255ad8d96ae7a04da5a1) ) // Prom type: IM5623 - lookup table + ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // Prom type: N82S123N - video layout (not used) + ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // Prom type: M3-7603-5 - video timing (not used) + + ROM_REGION( 0x0200, "namco", 0 ) // sound proms + ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) // Prom type: IM5623 + ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) // Prom type: IM5623 - not used ROM_END ROM_START( nrallyx ) @@ -1092,17 +1092,17 @@ ROM_START( nrallyx ) ROM_LOAD( "nrx_chg2.8d", 0x0800, 0x0800, CRC(85d9fffd) SHA1(12dff66d98a808b9dc952b2d87a56308b46a973e) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) /* Prom type: IM5623 - dots */ + ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) // Prom type: IM5623 - dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "nrx1-1.11n", 0x0000, 0x0020, CRC(a0a49017) SHA1(494c920a157e9f876d533c1b0146275a366c4989) ) /* Prom type: M3-7603-5 - palette */ - ROM_LOAD( "nrx1-7.8p", 0x0020, 0x0100, CRC(4e46f485) SHA1(3f013aafba96a76d410f2db16d1d24d2fb257aaf) ) /* Prom type: IM5623 - lookup table */ - ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) /* Prom type: N82S123N - video layout (not used) */ - ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* Prom type: M3-7603-5 - video timing (not used) */ - - ROM_REGION( 0x0200, "namco", 0 ) /* sound proms */ - ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) /* Prom type: IM5623 */ - ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* Prom type: IM5623 - not used */ + ROM_LOAD( "nrx1-1.11n", 0x0000, 0x0020, CRC(a0a49017) SHA1(494c920a157e9f876d533c1b0146275a366c4989) ) // Prom type: M3-7603-5 - palette + ROM_LOAD( "nrx1-7.8p", 0x0020, 0x0100, CRC(4e46f485) SHA1(3f013aafba96a76d410f2db16d1d24d2fb257aaf) ) // Prom type: IM5623 - lookup table + ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // Prom type: N82S123N - video layout (not used) + ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // Prom type: M3-7603-5 - video timing (not used) + + ROM_REGION( 0x0200, "namco", 0 ) // sound proms + ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) // Prom type: IM5623 + ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) // Prom type: IM5623 - not used ROM_END ROM_START( nrallyxb ) @@ -1116,17 +1116,17 @@ ROM_START( nrallyxb ) ROM_LOAD( "nrallyx.8e", 0x0000, 0x1000, CRC(ca7a174a) SHA1(dc553df18c45ba399661122be75b71d6cb54d6a2) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) /* Prom type: IM5623 - dots */ + ROM_LOAD( "rx1-6.8m", 0x0000, 0x0100, CRC(3c16f62c) SHA1(7a3800be410e306cf85753b9953ffc5575afbcd6) ) // Prom type: IM5623 - dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "nrx1-1.11n", 0x0000, 0x0020, CRC(a0a49017) SHA1(494c920a157e9f876d533c1b0146275a366c4989) ) /* Prom type: M3-7603-5 - palette */ - ROM_LOAD( "nrx1-7.8p", 0x0020, 0x0100, CRC(4e46f485) SHA1(3f013aafba96a76d410f2db16d1d24d2fb257aaf) ) /* Prom type: IM5623 - lookup table */ - ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) /* Prom type: N82S123N - video layout (not used) */ - ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* Prom type: M3-7603-5 - video timing (not used) */ - - ROM_REGION( 0x0200, "namco", 0 ) /* sound proms */ - ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) /* Prom type: IM5623 */ - ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* Prom type: IM5623 - not used */ + ROM_LOAD( "nrx1-1.11n", 0x0000, 0x0020, CRC(a0a49017) SHA1(494c920a157e9f876d533c1b0146275a366c4989) ) // Prom type: M3-7603-5 - palette + ROM_LOAD( "nrx1-7.8p", 0x0020, 0x0100, CRC(4e46f485) SHA1(3f013aafba96a76d410f2db16d1d24d2fb257aaf) ) // Prom type: IM5623 - lookup table + ROM_LOAD( "rx1-2.4n", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // Prom type: N82S123N - video layout (not used) + ROM_LOAD( "rx1-3.7k", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // Prom type: M3-7603-5 - video timing (not used) + + ROM_REGION( 0x0200, "namco", 0 ) // sound proms + ROM_LOAD( "rx1-5.3p", 0x0000, 0x0100, CRC(4bad7017) SHA1(3e6da9d798f5e07fa18d6ce7d0b148be98c766d5) ) // Prom type: IM5623 + ROM_LOAD( "rx1-4.2m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) // Prom type: IM5623 - not used ROM_END ROM_START( jungler ) @@ -1144,13 +1144,13 @@ ROM_START( jungler ) ROM_LOAD( "5m", 0x0800, 0x0800, CRC(131a08ac) SHA1(167a0710a2a153f7f7c6839d2340e5aa725ef039) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "82s129.10g", 0x0000, 0x0100, CRC(c59c51b7) SHA1(e8ac60fed9ba16c61a4c3c09e27f8c3f4e254014) ) /* dots */ + ROM_LOAD( "82s129.10g", 0x0000, 0x0100, CRC(c59c51b7) SHA1(e8ac60fed9ba16c61a4c3c09e27f8c3f4e254014) ) // dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "18s030.8b", 0x0000, 0x0020, CRC(55a7e6d1) SHA1(f9e4ff3b165235db2fd8dab94c43bc686c3ad29b) ) /* palette */ - ROM_LOAD( "tbp24s10.9d", 0x0020, 0x0100, CRC(d223f7b8) SHA1(87b62f09d4eda09c16d99d1554017d18e52b5886) ) /* loookup table */ - ROM_LOAD( "18s030.7a", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) /* video layout (not used) */ - ROM_LOAD( "6331-1.10a", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* video timing (not used) */ + ROM_LOAD( "18s030.8b", 0x0000, 0x0020, CRC(55a7e6d1) SHA1(f9e4ff3b165235db2fd8dab94c43bc686c3ad29b) ) // palette + ROM_LOAD( "tbp24s10.9d", 0x0020, 0x0100, CRC(d223f7b8) SHA1(87b62f09d4eda09c16d99d1554017d18e52b5886) ) // lookup table + ROM_LOAD( "18s030.7a", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // video layout (not used) + ROM_LOAD( "6331-1.10a", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // video timing (not used) ROM_END ROM_START( junglers ) @@ -1168,16 +1168,44 @@ ROM_START( junglers ) ROM_LOAD( "5m", 0x0800, 0x0800, CRC(131a08ac) SHA1(167a0710a2a153f7f7c6839d2340e5aa725ef039) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "82s129.10g", 0x0000, 0x0100, CRC(c59c51b7) SHA1(e8ac60fed9ba16c61a4c3c09e27f8c3f4e254014) ) /* dots */ + ROM_LOAD( "82s129.10g", 0x0000, 0x0100, CRC(c59c51b7) SHA1(e8ac60fed9ba16c61a4c3c09e27f8c3f4e254014) ) // dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "18s030.8b", 0x0000, 0x0020, CRC(55a7e6d1) SHA1(f9e4ff3b165235db2fd8dab94c43bc686c3ad29b) ) /* palette */ - ROM_LOAD( "tbp24s10.9d", 0x0020, 0x0100, CRC(d223f7b8) SHA1(87b62f09d4eda09c16d99d1554017d18e52b5886) ) /* loookup table */ - ROM_LOAD( "18s030.7a", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) /* video layout (not used) */ - ROM_LOAD( "6331-1.10a", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* video timing (not used) */ + ROM_LOAD( "18s030.8b", 0x0000, 0x0020, CRC(55a7e6d1) SHA1(f9e4ff3b165235db2fd8dab94c43bc686c3ad29b) ) // palette + ROM_LOAD( "tbp24s10.9d", 0x0020, 0x0100, CRC(d223f7b8) SHA1(87b62f09d4eda09c16d99d1554017d18e52b5886) ) // lookup table + ROM_LOAD( "18s030.7a", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // video layout (not used) + ROM_LOAD( "6331-1.10a", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // video timing (not used) ROM_END -ROM_START( jackler ) /* Board ID SL-HA-2061-21-B */ +// main PCB is marked: "OLYMPIA", "[C] 13-53", "Konami LICENSED", "CE" and "22 A" on solder side +// sound PCB is marked: "OLYMPIA", "[C] 15-82", "Konami LICENSED", "CE" and "22 B" on component side +ROM_START( junglero ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "j1.bin", 0x0000, 0x1000, CRC(5bd6ad15) SHA1(608de86e19c6726bb7d21e7dc0e936f00121a3f4) ) + ROM_LOAD( "j2.bin", 0x1000, 0x1000, CRC(dc99f1e3) SHA1(942405f6c7d816139e36289126fe883a6a9a0a08) ) + ROM_LOAD( "j3.bin", 0x2000, 0x1000, CRC(3dcc03da) SHA1(2c328a46511c4c9eec6515b9316a586de6503152) ) + ROM_LOAD( "j4.bin", 0x3000, 0x1000, CRC(f92e9940) SHA1(d72a4d0a0ab7c9a1dcbb7925eb8530052640a234) ) + + ROM_REGION( 0x10000, "timeplt_audio:tpsound", 0 ) + ROM_LOAD( "js1.bin", 0x0000, 0x1000, CRC(f86999c3) SHA1(4660bd7826219b1bad7d9178918823196d4fd8d6) ) + + ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_LOAD( "j5.bin", 0x0000, 0x800, CRC(4190c6c0) SHA1(ebd3b5b0e6660045f1ee84006536fa31cb3d5f8e) ) + ROM_IGNORE(0x800) + ROM_LOAD( "j6.bin", 0x0800, 0x800, CRC(5c001c66) SHA1(aab8342131f831cb9bab4258488a0f666c35ee4d) ) + ROM_IGNORE(0x800) + + ROM_REGION( 0x0100, "gfx2", 0 ) + ROM_LOAD( "am27s21dc.jn4", 0x0000, 0x0100, CRC(c59c51b7) SHA1(e8ac60fed9ba16c61a4c3c09e27f8c3f4e254014) ) // dots + + ROM_REGION( 0x0160, "proms", 0 ) + ROM_LOAD( "dm74s288n.jn2", 0x0000, 0x0020, CRC(55a7e6d1) SHA1(f9e4ff3b165235db2fd8dab94c43bc686c3ad29b) ) // palette + ROM_LOAD( "tbp24s10.jn5", 0x0020, 0x0100, CRC(d223f7b8) SHA1(87b62f09d4eda09c16d99d1554017d18e52b5886) ) // lookup table + ROM_LOAD( "dm74s288n.jn1", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // video layout (not used) + ROM_LOAD( "mb7051.jn3", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // video timing (not used) +ROM_END + +ROM_START( jackler ) // Board ID SL-HA-2061-21-B ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "jackler_j1.r1",0x0000, 0x1000, CRC(3fc0d149) SHA1(d2d8273d57e26ebc97158549d5c7dada78bf2ae4) ) ROM_LOAD( "jackler_j2.r2",0x1000, 0x1000, CRC(5f482c7d) SHA1(5111f114c8427271d4641a55c88e54853e82aa50) ) @@ -1192,13 +1220,13 @@ ROM_START( jackler ) /* Board ID SL-HA-2061-21-B */ ROM_LOAD( "jackler_j6.r10",0x0800, 0x1000, CRC(5c001c66) SHA1(aab8342131f831cb9bab4258488a0f666c35ee4d) ) // so mapped to overlap ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "82s129.10g", 0x0000, 0x0100, CRC(c59c51b7) SHA1(e8ac60fed9ba16c61a4c3c09e27f8c3f4e254014) ) /* dots */ + ROM_LOAD( "82s129.10g", 0x0000, 0x0100, CRC(c59c51b7) SHA1(e8ac60fed9ba16c61a4c3c09e27f8c3f4e254014) ) // dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "18s030.8b", 0x0000, 0x0020, CRC(55a7e6d1) SHA1(f9e4ff3b165235db2fd8dab94c43bc686c3ad29b) ) /* palette */ - ROM_LOAD( "tbp24s10.9d", 0x0020, 0x0100, CRC(d223f7b8) SHA1(87b62f09d4eda09c16d99d1554017d18e52b5886) ) /* loookup table */ - ROM_LOAD( "18s030.7a", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) /* video layout (not used) */ - ROM_LOAD( "6331-1.10a", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* video timing (not used) */ + ROM_LOAD( "18s030.8b", 0x0000, 0x0020, CRC(55a7e6d1) SHA1(f9e4ff3b165235db2fd8dab94c43bc686c3ad29b) ) // palette + ROM_LOAD( "tbp24s10.9d", 0x0020, 0x0100, CRC(d223f7b8) SHA1(87b62f09d4eda09c16d99d1554017d18e52b5886) ) // lookup table + ROM_LOAD( "18s030.7a", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // video layout (not used) + ROM_LOAD( "6331-1.10a", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // video timing (not used) ROM_END ROM_START( savanna ) @@ -1216,13 +1244,13 @@ ROM_START( savanna ) ROM_LOAD( "5m", 0x0800, 0x0800, CRC(131a08ac) SHA1(167a0710a2a153f7f7c6839d2340e5aa725ef039) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "82s129.10g", 0x0000, 0x0100, CRC(c59c51b7) SHA1(e8ac60fed9ba16c61a4c3c09e27f8c3f4e254014) ) /* dots */ + ROM_LOAD( "82s129.10g", 0x0000, 0x0100, CRC(c59c51b7) SHA1(e8ac60fed9ba16c61a4c3c09e27f8c3f4e254014) ) // dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "18s030.8b", 0x0000, 0x0020, CRC(55a7e6d1) SHA1(f9e4ff3b165235db2fd8dab94c43bc686c3ad29b) ) /* palette */ - ROM_LOAD( "tbp24s10.9d", 0x0020, 0x0100, CRC(d223f7b8) SHA1(87b62f09d4eda09c16d99d1554017d18e52b5886) ) /* loookup table */ - ROM_LOAD( "18s030.7a", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) /* video layout (not used) */ - ROM_LOAD( "6331-1.10a", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* video timing (not used) */ + ROM_LOAD( "18s030.8b", 0x0000, 0x0020, CRC(55a7e6d1) SHA1(f9e4ff3b165235db2fd8dab94c43bc686c3ad29b) ) // palette + ROM_LOAD( "tbp24s10.9d", 0x0020, 0x0100, CRC(d223f7b8) SHA1(87b62f09d4eda09c16d99d1554017d18e52b5886) ) // lookup table + ROM_LOAD( "18s030.7a", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // video layout (not used) + ROM_LOAD( "6331-1.10a", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // video timing (not used) ROM_END ROM_START( tactcian ) @@ -1243,13 +1271,13 @@ ROM_START( tactcian ) ROM_LOAD( "tacticia.c2", 0x1000, 0x1000, CRC(e8c59c4f) SHA1(e4881f2e2e08bb8af37cc679c4e2367528ac4804) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "tact6301.004", 0x0000, 0x0100, CRC(88b0b511) SHA1(785eded1ba761cdb59db579eb8a786516ff58152) ) /* dots */ // tac.a7 + ROM_LOAD( "tact6301.004", 0x0000, 0x0100, CRC(88b0b511) SHA1(785eded1ba761cdb59db579eb8a786516ff58152) ) // dots - tac.a7 ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "tact6331.002", 0x0000, 0x0020, CRC(b7ef83b7) SHA1(5ffab25c2dc5be0856a43a93711d39c4aec6660b) ) /* palette */ - ROM_LOAD( "tact6301.003", 0x0020, 0x0100, CRC(a92796f2) SHA1(0faab2dc0f868f4023a34ecfcf972d1c86a224a0) ) /* loookup table */ // tac.b4 - ROM_LOAD( "tact6331.001", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) /* video layout (not used) */ -// ROM_LOAD( "10a.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* video timing (not used) */ + ROM_LOAD( "tact6331.002", 0x0000, 0x0020, CRC(b7ef83b7) SHA1(5ffab25c2dc5be0856a43a93711d39c4aec6660b) ) // palette + ROM_LOAD( "tact6301.003", 0x0020, 0x0100, CRC(a92796f2) SHA1(0faab2dc0f868f4023a34ecfcf972d1c86a224a0) ) // lookup table - tac.b4 + ROM_LOAD( "tact6331.001", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // video layout (not used) +// ROM_LOAD( "10a.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // video timing (not used) ROM_END ROM_START( tactcian2 ) @@ -1262,7 +1290,7 @@ ROM_START( tactcian2 ) ROM_LOAD( "tan6", 0x5000, 0x1000, CRC(2b36a18d) SHA1(bea8f36ec98975438ab267509bd9d1d1eb605945) ) ROM_REGION( 0x10000, "timeplt_audio:tpsound", 0 ) - /* sound ROMs were missing - using the ones from the other set */ + // sound ROMs were missing - using the ones from the other set ROM_LOAD( "tacticia.s2", 0x0000, 0x1000, CRC(97d145a7) SHA1(7aee9004287590a25e153d45b95dfaac89fbe996) ) ROM_LOAD( "tacticia.s1", 0x1000, 0x1000, CRC(067f781b) SHA1(640bc7813c239e497644e53a080d81366fcd04df) ) @@ -1271,13 +1299,13 @@ ROM_START( tactcian2 ) ROM_LOAD( "c2", 0x1000, 0x1000, CRC(8e8861e8) SHA1(38728418b09df06356c1e45a26cf438b93517ce5) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "tact6301.004", 0x0000, 0x0100, CRC(88b0b511) SHA1(785eded1ba761cdb59db579eb8a786516ff58152) ) /* dots */ // tac.a7 + ROM_LOAD( "tact6301.004", 0x0000, 0x0100, CRC(88b0b511) SHA1(785eded1ba761cdb59db579eb8a786516ff58152) ) // dots - tac.a7 ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "tact6331.002", 0x0000, 0x0020, CRC(b7ef83b7) SHA1(5ffab25c2dc5be0856a43a93711d39c4aec6660b) ) /* palette */ - ROM_LOAD( "tact6301.003", 0x0020, 0x0100, CRC(a92796f2) SHA1(0faab2dc0f868f4023a34ecfcf972d1c86a224a0) ) /* loookup table */ // tac.b4 - ROM_LOAD( "tact6331.001", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) /* video layout (not used) */ -// ROM_LOAD( "10a.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* video timing (not used) */ + ROM_LOAD( "tact6331.002", 0x0000, 0x0020, CRC(b7ef83b7) SHA1(5ffab25c2dc5be0856a43a93711d39c4aec6660b) ) // palette + ROM_LOAD( "tact6301.003", 0x0020, 0x0100, CRC(a92796f2) SHA1(0faab2dc0f868f4023a34ecfcf972d1c86a224a0) ) // lookup table - tac.b4 + ROM_LOAD( "tact6331.001", 0x0120, 0x0020, CRC(8f574815) SHA1(4f84162db9d58b64742c67dc689eb665b9862fb3) ) // video layout (not used) +// ROM_LOAD( "10a.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // video timing (not used) ROM_END ROM_START( locomotn ) @@ -1296,13 +1324,13 @@ ROM_START( locomotn ) ROM_LOAD( "c2.cpu", 0x1000, 0x1000, CRC(c3035300) SHA1(ddb1d658a28b973b60e2ce72fd7662537e147860) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "10g.bpr", 0x0000, 0x0100, CRC(2ef89356) SHA1(5ed33386bab5d583358709c92f21ad9ad1a1bce9) ) /* dots */ + ROM_LOAD( "10g.bpr", 0x0000, 0x0100, CRC(2ef89356) SHA1(5ed33386bab5d583358709c92f21ad9ad1a1bce9) ) // dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "8b.bpr", 0x0000, 0x0020, CRC(75b05da0) SHA1(aee98f5389e42332f30a6882ee22ff23f37e0573) ) /* palette */ - ROM_LOAD( "9d.bpr", 0x0020, 0x0100, CRC(aa6cf063) SHA1(08c1c9ab03eb168954b0170d40e95eed81022acd) ) /* loookup table */ - ROM_LOAD( "7a.bpr", 0x0120, 0x0020, CRC(48c8f094) SHA1(61592209720fddc8991751edf08b6950388af42e) ) /* video layout (not used) */ - ROM_LOAD( "10a.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* video timing (not used) */ + ROM_LOAD( "8b.bpr", 0x0000, 0x0020, CRC(75b05da0) SHA1(aee98f5389e42332f30a6882ee22ff23f37e0573) ) // palette + ROM_LOAD( "9d.bpr", 0x0020, 0x0100, CRC(aa6cf063) SHA1(08c1c9ab03eb168954b0170d40e95eed81022acd) ) // lookup table + ROM_LOAD( "7a.bpr", 0x0120, 0x0020, CRC(48c8f094) SHA1(61592209720fddc8991751edf08b6950388af42e) ) // video layout (not used) + ROM_LOAD( "10a.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // video timing (not used) ROM_END ROM_START( gutangtn ) @@ -1321,13 +1349,13 @@ ROM_START( gutangtn ) ROM_LOAD( "5m_c2.bin", 0x1000, 0x1000, CRC(51c542fd) SHA1(1437f8cba15811361b2c5b46085587ea3598fc88) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "10g.bpr", 0x0000, 0x0100, CRC(2ef89356) SHA1(5ed33386bab5d583358709c92f21ad9ad1a1bce9) ) /* dots */ + ROM_LOAD( "10g.bpr", 0x0000, 0x0100, CRC(2ef89356) SHA1(5ed33386bab5d583358709c92f21ad9ad1a1bce9) ) // dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "8b.bpr", 0x0000, 0x0020, CRC(75b05da0) SHA1(aee98f5389e42332f30a6882ee22ff23f37e0573) ) /* palette */ - ROM_LOAD( "9d.bpr", 0x0020, 0x0100, CRC(aa6cf063) SHA1(08c1c9ab03eb168954b0170d40e95eed81022acd) ) /* loookup table */ - ROM_LOAD( "7a.bpr", 0x0120, 0x0020, CRC(48c8f094) SHA1(61592209720fddc8991751edf08b6950388af42e) ) /* video layout (not used) */ - ROM_LOAD( "10a.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* video timing (not used) */ + ROM_LOAD( "8b.bpr", 0x0000, 0x0020, CRC(75b05da0) SHA1(aee98f5389e42332f30a6882ee22ff23f37e0573) ) // palette + ROM_LOAD( "9d.bpr", 0x0020, 0x0100, CRC(aa6cf063) SHA1(08c1c9ab03eb168954b0170d40e95eed81022acd) ) // lookup table + ROM_LOAD( "7a.bpr", 0x0120, 0x0020, CRC(48c8f094) SHA1(61592209720fddc8991751edf08b6950388af42e) ) // video layout (not used) + ROM_LOAD( "10a.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // video timing (not used) ROM_END ROM_START( cottong ) @@ -1346,13 +1374,13 @@ ROM_START( cottong ) ROM_LOAD( "c6", 0x1000, 0x1000, CRC(0149ef46) SHA1(58f684a9b7b9410236b3c54ea6c0fa9853a078c5) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "5.bpr", 0x0000, 0x0100, CRC(21fb583f) SHA1(b8c65fbdd5d8b70bf51341cd60fc2efeaab8bb82) ) /* dots */ + ROM_LOAD( "5.bpr", 0x0000, 0x0100, CRC(21fb583f) SHA1(b8c65fbdd5d8b70bf51341cd60fc2efeaab8bb82) ) // dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "2.bpr", 0x0000, 0x0020, CRC(26f42e6f) SHA1(f51578216a5d588c4d0143ce7a23d695a15a3914) ) /* palette */ - ROM_LOAD( "3.bpr", 0x0020, 0x0100, CRC(4aecc0c8) SHA1(3c1086a598d84b4bcb277556b716fd18c76c4364) ) /* loookup table */ - ROM_LOAD( "7a.bpr", 0x0120, 0x0020, CRC(48c8f094) SHA1(61592209720fddc8991751edf08b6950388af42e) ) /* video layout (not used) */ - ROM_LOAD( "10a.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* video timing (not used) */ + ROM_LOAD( "2.bpr", 0x0000, 0x0020, CRC(26f42e6f) SHA1(f51578216a5d588c4d0143ce7a23d695a15a3914) ) // palette + ROM_LOAD( "3.bpr", 0x0020, 0x0100, CRC(4aecc0c8) SHA1(3c1086a598d84b4bcb277556b716fd18c76c4364) ) // lookup table + ROM_LOAD( "7a.bpr", 0x0120, 0x0020, CRC(48c8f094) SHA1(61592209720fddc8991751edf08b6950388af42e) ) // video layout (not used) + ROM_LOAD( "10a.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // video timing (not used) ROM_END ROM_START( locoboot ) @@ -1376,13 +1404,13 @@ ROM_START( locoboot ) ROM_LOAD( "c6", 0x1000, 0x1000, CRC(0149ef46) SHA1(58f684a9b7b9410236b3c54ea6c0fa9853a078c5) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "5.bpr", 0x0000, 0x0100, CRC(21fb583f) SHA1(b8c65fbdd5d8b70bf51341cd60fc2efeaab8bb82) ) /* dots */ + ROM_LOAD( "5.bpr", 0x0000, 0x0100, CRC(21fb583f) SHA1(b8c65fbdd5d8b70bf51341cd60fc2efeaab8bb82) ) // dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "2.bpr", 0x0000, 0x0020, CRC(26f42e6f) SHA1(f51578216a5d588c4d0143ce7a23d695a15a3914) ) /* palette */ - ROM_LOAD( "3.bpr", 0x0020, 0x0100, CRC(4aecc0c8) SHA1(3c1086a598d84b4bcb277556b716fd18c76c4364) ) /* loookup table */ - ROM_LOAD( "7a.bpr", 0x0120, 0x0020, CRC(48c8f094) SHA1(61592209720fddc8991751edf08b6950388af42e) ) /* video layout (not used) */ - ROM_LOAD( "10a.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* video timing (not used) */ + ROM_LOAD( "2.bpr", 0x0000, 0x0020, CRC(26f42e6f) SHA1(f51578216a5d588c4d0143ce7a23d695a15a3914) ) // palette + ROM_LOAD( "3.bpr", 0x0020, 0x0100, CRC(4aecc0c8) SHA1(3c1086a598d84b4bcb277556b716fd18c76c4364) ) // lookup table + ROM_LOAD( "7a.bpr", 0x0120, 0x0020, CRC(48c8f094) SHA1(61592209720fddc8991751edf08b6950388af42e) ) // video layout (not used) + ROM_LOAD( "10a.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // video timing (not used) ROM_END ROM_START( commsega ) @@ -1401,13 +1429,13 @@ ROM_START( commsega ) ROM_LOAD( "csega6", 0x1000, 0x1000, CRC(cf07fd5e) SHA1(4fe351c3d093f8f5fcf95e3e921a06e44d14d2a7) ) ROM_REGION( 0x0100, "gfx2", 0 ) - ROM_LOAD( "gg3.bpr", 0x0000, 0x0100, CRC(ae7fd962) SHA1(118359cffb2ad3fdf09456a484aa730cb1b85a5d) ) /* dots */ + ROM_LOAD( "gg3.bpr", 0x0000, 0x0100, CRC(ae7fd962) SHA1(118359cffb2ad3fdf09456a484aa730cb1b85a5d) ) // dots ROM_REGION( 0x0160, "proms", 0 ) - ROM_LOAD( "gg1.bpr", 0x0000, 0x0020, CRC(f69e585a) SHA1(248740b154732b6bc6f772d4bb19d654798c3739) ) /* palette */ - ROM_LOAD( "gg2.bpr", 0x0020, 0x0100, CRC(0b756e30) SHA1(8890e305547df8df108af0f89074fb1c8bed8e6c) ) /* loookup table */ - ROM_LOAD( "gg0.bpr", 0x0120, 0x0020, CRC(48c8f094) SHA1(61592209720fddc8991751edf08b6950388af42e) ) /* video layout (not used) */ - ROM_LOAD( "tt3.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) /* video timing (not used) */ + ROM_LOAD( "gg1.bpr", 0x0000, 0x0020, CRC(f69e585a) SHA1(248740b154732b6bc6f772d4bb19d654798c3739) ) // palette + ROM_LOAD( "gg2.bpr", 0x0020, 0x0100, CRC(0b756e30) SHA1(8890e305547df8df108af0f89074fb1c8bed8e6c) ) // lookup table + ROM_LOAD( "gg0.bpr", 0x0120, 0x0020, CRC(48c8f094) SHA1(61592209720fddc8991751edf08b6950388af42e) ) // video layout (not used) + ROM_LOAD( "tt3.bpr", 0x0140, 0x0020, CRC(b8861096) SHA1(26fad384ed7a1a1e0ba719b5578e2dbb09334a25) ) // video timing (not used) ROM_END @@ -1426,6 +1454,7 @@ GAME( 1981, nrallyx, 0, rallyx, nrallyx, rallyx_state, empty_init, RO GAME( 1981, nrallyxb, nrallyx, rallyx, nrallyx, rallyx_state, empty_init, ROT0, "Namco", "New Rally X (bootleg?)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) GAME( 1981, jungler, 0, jungler, jungler, rallyx_state, empty_init, ROT90, "Konami", "Jungler", MACHINE_SUPPORTS_SAVE ) GAME( 1981, junglers, jungler, jungler, jungler, rallyx_state, empty_init, ROT90, "Konami (Stern Electronics license)", "Jungler (Stern Electronics)", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, junglero, jungler, jungler, jungler, rallyx_state, empty_init, ROT90, "Konami (Olympia license)", "Jungler (Olympia)", MACHINE_SUPPORTS_SAVE ) GAME( 1982, jackler, jungler, jungler, jungler, rallyx_state, empty_init, ROT90, "bootleg", "Jackler (Jungler bootleg)", MACHINE_SUPPORTS_SAVE ) GAME( 1982, savanna, jungler, jungler, jungler, rallyx_state, empty_init, ROT90, "bootleg (Olympia)", "Savanna (Jungler bootleg)", MACHINE_SUPPORTS_SAVE ) // or licensed from Konami? GAME( 1982, tactcian, 0, tactcian, tactcian, rallyx_state, empty_init, ROT90, "Konami (Sega license)", "Tactician (set 1)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/includes/rallyx.h b/src/mame/includes/rallyx.h index 7ce65190614..5a03bcf1424 100644 --- a/src/mame/includes/rallyx.h +++ b/src/mame/includes/rallyx.h @@ -15,13 +15,6 @@ class rallyx_state : public driver_device { public: - struct jungler_star - { - int x, y, color; - }; - - static constexpr unsigned JUNGLER_MAX_STARS = 1000; - rallyx_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_videoram(*this, "videoram"), @@ -35,7 +28,14 @@ public: m_screen(*this, "screen") { } - /* memory pointers */ + void commsega(machine_config &config); + void jungler(machine_config &config); + void locomotn(machine_config &config); + void rallyx(machine_config &config); + void tactcian(machine_config &config); + +private: + // memory pointers required_shared_ptr m_videoram; required_shared_ptr m_radarattr; uint8_t * m_spriteram; @@ -43,19 +43,28 @@ public: uint8_t * m_radarx; uint8_t * m_radary; - /* video-related */ + // video-related tilemap_t *m_bg_tilemap; tilemap_t *m_fg_tilemap; - /* misc */ - int m_last_bang; - int m_spriteram_base; - int m_stars_enable; - int m_total_stars; - uint8_t m_drawmode_table[4]; + // misc + static constexpr unsigned JUNGLER_MAX_STARS = 1000; + + struct jungler_star + { + uint16_t x, y; + uint8_t color; + }; + + bool m_last_bang; + uint8_t m_spriteram_base; + bool m_stars_enable; + uint16_t m_total_stars; + uint8_t m_drawmode_table[4]; struct jungler_star m_stars[JUNGLER_MAX_STARS]; + bool m_main_irq_mask; - /* devices */ + // devices required_device m_maincpu; optional_device m_namco_sound; optional_device m_samples; @@ -64,41 +73,43 @@ public: required_device m_palette; required_device m_screen; - bool m_main_irq_mask; - DECLARE_WRITE8_MEMBER(rallyx_interrupt_vector_w); - DECLARE_WRITE_LINE_MEMBER(bang_w); - DECLARE_WRITE_LINE_MEMBER(irq_mask_w); - DECLARE_WRITE_LINE_MEMBER(nmi_mask_w); - DECLARE_WRITE_LINE_MEMBER(sound_on_w); - DECLARE_WRITE_LINE_MEMBER(flip_screen_w); - DECLARE_WRITE_LINE_MEMBER(coin_lockout_w); - DECLARE_WRITE_LINE_MEMBER(coin_counter_1_w); - DECLARE_WRITE_LINE_MEMBER(coin_counter_2_w); - DECLARE_WRITE8_MEMBER(rallyx_videoram_w); - DECLARE_WRITE8_MEMBER(rallyx_scrollx_w); - DECLARE_WRITE8_MEMBER(rallyx_scrolly_w); - DECLARE_WRITE_LINE_MEMBER(stars_enable_w); + void rallyx_interrupt_vector_w(uint8_t data); + void bang_w(int state); + void irq_mask_w(int state); + void nmi_mask_w(int state); + void sound_on_w(int state); + void flip_screen_w(int state); + void coin_lockout_w(int state); + void coin_counter_1_w(int state); + void coin_counter_2_w(int state); + void videoram_w(offs_t offset, uint8_t data); + void scrollx_w(uint8_t data); + void scrolly_w(uint8_t data); + void stars_enable_w(int state); + void rallyx_vblank_irq(int state); + void jungler_vblank_irq(int state); + TILEMAP_MAPPER_MEMBER(fg_tilemap_scan); TILE_GET_INFO_MEMBER(rallyx_bg_get_tile_info); TILE_GET_INFO_MEMBER(rallyx_fg_get_tile_info); TILE_GET_INFO_MEMBER(locomotn_bg_get_tile_info); TILE_GET_INFO_MEMBER(locomotn_fg_get_tile_info); + DECLARE_MACHINE_START(rallyx); DECLARE_VIDEO_START(rallyx); - void rallyx_palette(palette_device &palette) const; DECLARE_VIDEO_START(jungler); - void jungler_palette(palette_device &palette) const; DECLARE_VIDEO_START(locomotn); DECLARE_VIDEO_START(commsega); + + void rallyx_palette(palette_device &palette) const; + void jungler_palette(palette_device &palette) const; uint32_t screen_update_rallyx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_jungler(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_locomotn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - DECLARE_WRITE_LINE_MEMBER(rallyx_vblank_irq); - DECLARE_WRITE_LINE_MEMBER(jungler_vblank_irq); inline void rallyx_get_tile_info( tile_data &tileinfo, int tile_index, int ram_offs); inline void locomotn_get_tile_info(tile_data &tileinfo,int tile_index,int ram_offs); void calculate_star_field(); - void rallyx_video_start_common(); + void video_start_common(); void plot_star( bitmap_ind16 &bitmap, const rectangle &cliprect, int x, int y, int color ); void draw_stars( bitmap_ind16 &bitmap, const rectangle &cliprect ); void rallyx_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ); @@ -106,11 +117,7 @@ public: void rallyx_draw_bullets( bitmap_ind16 &bitmap, const rectangle &cliprect, bool transpen ); void jungler_draw_bullets( bitmap_ind16 &bitmap, const rectangle &cliprect, bool transpen ); void locomotn_draw_bullets( bitmap_ind16 &bitmap, const rectangle &cliprect, bool transpen ); - void commsega(machine_config &config); - void locomotn(machine_config &config); - void tactcian(machine_config &config); - void rallyx(machine_config &config); - void jungler(machine_config &config); + void io_map(address_map &map); void jungler_map(address_map &map); void rallyx_map(address_map &map); diff --git a/src/mame/mame.lst b/src/mame/mame.lst index af0cf007df1..3fadfdaa87c 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -34367,6 +34367,7 @@ dngrtrck // Petaco bootleg gutangtn // GX359 (c) 1982 Konami + Sega license jackler // 1 9 8 2 (Jungler Bootleg) jungler // GX327 (c) 1981 Konami +junglero // Olympia license junglers // GX327 (c) 1981 Stern locoboot // bootleg locomotn // GX359 (c) 1982 Konami + Centuri license diff --git a/src/mame/video/rallyx.cpp b/src/mame/video/rallyx.cpp index dd2107a15f0..081f07da6f1 100644 --- a/src/mame/video/rallyx.cpp +++ b/src/mame/video/rallyx.cpp @@ -207,7 +207,7 @@ void rallyx_state::jungler_palette(palette_device &palette) const ***************************************************************************/ -/* the video RAM has space for 32x32 tiles and is only partially used for the radar */ +// the video RAM has space for 32x32 tiles and is only partially used for the radar TILEMAP_MAPPER_MEMBER(rallyx_state::fg_tilemap_scan) { return col + (row << 5); @@ -267,22 +267,17 @@ TILE_GET_INFO_MEMBER(rallyx_state::locomotn_fg_get_tile_info) void rallyx_state::calculate_star_field( ) { - int generator; - int x, y; - - /* precalculate the star background */ + // precalculate the star background m_total_stars = 0; - generator = 0; + int generator = 0; - for (y = 0; y < 256; y++) + for (int y = 0; y < 256; y++) { - for (x = 0; x < 288; x++) + for (int x = 0; x < 288; x++) { - int bit1, bit2; - generator <<= 1; - bit1 = (~generator >> 17) & 1; - bit2 = (generator >> 5) & 1; + int bit1 = (~generator >> 17) & 1; + int bit2 = (generator >> 5) & 1; if (bit1 ^ bit2) generator |= 1; @@ -304,22 +299,20 @@ void rallyx_state::calculate_star_field( ) } } -void rallyx_state::rallyx_video_start_common( ) +void rallyx_state::video_start_common( ) { - int i; - m_spriteram = m_videoram + 0x00; m_spriteram2 = m_spriteram + 0x800; m_radarx = m_videoram + 0x20; m_radary = m_radarx + 0x800; - for (i = 0; i < 16; i++) + for (int i = 0; i < 16; i++) m_palette->shadow_table()[i] = i + 16; - for (i = 16; i < 32; i++) + for (int i = 16; i < 32; i++) m_palette->shadow_table()[i] = i; - for (i = 0; i < 3; i++) + for (int i = 0; i < 3; i++) m_drawmode_table[i] = DRAWMODE_SHADOW; m_drawmode_table[3] = DRAWMODE_NONE; @@ -330,12 +323,12 @@ VIDEO_START_MEMBER(rallyx_state,rallyx) m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(rallyx_state::rallyx_bg_get_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(rallyx_state::rallyx_fg_get_tile_info)), tilemap_mapper_delegate(*this, FUNC(rallyx_state::fg_tilemap_scan)), 8, 8, 8, 32); - /* the scrolling tilemap is slightly misplaced in Rally X */ + // the scrolling tilemap is slightly misplaced in Rally X m_bg_tilemap->set_scrolldx(3, 3); m_spriteram_base = 0x14; - rallyx_video_start_common(); + video_start_common(); } @@ -346,7 +339,7 @@ VIDEO_START_MEMBER(rallyx_state,jungler) m_spriteram_base = 0x14; - rallyx_video_start_common(); + video_start_common(); calculate_star_field(); } @@ -358,7 +351,7 @@ VIDEO_START_MEMBER(rallyx_state,locomotn) m_spriteram_base = 0x14; - rallyx_video_start_common(); + video_start_common(); calculate_star_field(); } @@ -368,10 +361,10 @@ VIDEO_START_MEMBER(rallyx_state,commsega) m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(rallyx_state::locomotn_bg_get_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(rallyx_state::locomotn_fg_get_tile_info)), tilemap_mapper_delegate(*this, FUNC(rallyx_state::fg_tilemap_scan)), 8, 8, 8, 32); - /* commsega has more sprites and bullets than the other games */ + // commsega has more sprites and bullets than the other games m_spriteram_base = 0x00; - rallyx_video_start_common(); + video_start_common(); calculate_star_field(); } @@ -382,7 +375,7 @@ VIDEO_START_MEMBER(rallyx_state,commsega) ***************************************************************************/ -WRITE8_MEMBER(rallyx_state::rallyx_videoram_w) +void rallyx_state::videoram_w(offs_t offset, uint8_t data) { m_videoram[offset] = data; if (offset & 0x400) @@ -391,17 +384,17 @@ WRITE8_MEMBER(rallyx_state::rallyx_videoram_w) m_fg_tilemap->mark_tile_dirty(offset & 0x3ff); } -WRITE8_MEMBER(rallyx_state::rallyx_scrollx_w) +void rallyx_state::scrollx_w(uint8_t data) { m_bg_tilemap->set_scrollx(0, data); } -WRITE8_MEMBER(rallyx_state::rallyx_scrolly_w) +void rallyx_state::scrolly_w(uint8_t data) { m_bg_tilemap->set_scrolly(0, data); } -WRITE_LINE_MEMBER(rallyx_state::stars_enable_w) +void rallyx_state::stars_enable_w(int state) { m_stars_enable = state; } @@ -424,9 +417,7 @@ void rallyx_state::plot_star( bitmap_ind16 &bitmap, const rectangle &cliprect, i void rallyx_state::draw_stars( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - int offs; - - for (offs = 0; offs < m_total_stars; offs++) + for (int offs = 0; offs < m_total_stars; offs++) { int x = m_stars[offs].x; int y = m_stars[offs].y; @@ -439,20 +430,16 @@ void rallyx_state::draw_stars( bitmap_ind16 &bitmap, const rectangle &cliprect ) void rallyx_state::rallyx_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ) { - uint8_t *spriteram = m_spriteram; - uint8_t *spriteram_2 = m_spriteram2; - int offs; - - for (offs = 0x20 - 2; offs >= m_spriteram_base; offs -= 2) + for (int offs = 0x20 - 2; offs >= m_spriteram_base; offs -= 2) { - int sx = spriteram[offs + 1] + ((spriteram_2[offs + 1] & 0x80) << 1); - int sy = 241 - spriteram_2[offs]; - int color = spriteram_2[offs + 1] & 0x3f; - int flipx = spriteram[offs] & 1; - int flipy = spriteram[offs] & 2; + int sx = m_spriteram[offs + 1] + ((m_spriteram2[offs + 1] & 0x80) << 1); + int sy = 241 - m_spriteram2[offs]; + int color = m_spriteram2[offs + 1] & 0x3f; + int flipx = m_spriteram[offs] & 1; + int flipy = m_spriteram[offs] & 2; m_gfxdecode->gfx(1)->prio_transmask(bitmap,cliprect, - (spriteram[offs] & 0xfc) >> 2, + (m_spriteram[offs] & 0xfc) >> 2, color, flipx,flipy, sx,sy, @@ -463,19 +450,15 @@ void rallyx_state::rallyx_draw_sprites( screen_device &screen, bitmap_ind16 &bit void rallyx_state::locomotn_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ) { - uint8_t *spriteram = m_spriteram; - uint8_t *spriteram_2 = m_spriteram2; - int offs; - - for (offs = 0x20 - 2; offs >= m_spriteram_base; offs -= 2) + for (int offs = 0x20 - 2; offs >= m_spriteram_base; offs -= 2) { - int sx = spriteram[offs + 1] + ((spriteram_2[offs + 1] & 0x80) << 1); - int sy = 241 - spriteram_2[offs]; - int color = spriteram_2[offs + 1] & 0x3f; - int flip = spriteram[offs] & 2; + int sx = m_spriteram[offs + 1] + ((m_spriteram2[offs + 1] & 0x80) << 1); + int sy = 241 - m_spriteram2[offs]; + int color = m_spriteram2[offs + 1] & 0x3f; + int flip = m_spriteram[offs] & 2; m_gfxdecode->gfx(1)->prio_transmask(bitmap,cliprect, - ((spriteram[offs] & 0x7c) >> 2) + 0x20*(spriteram[offs] & 0x01) + ((spriteram[offs] & 0x80) >> 1), + ((m_spriteram[offs] & 0x7c) >> 2) + 0x20*(m_spriteram[offs] & 0x01) + ((m_spriteram[offs] & 0x80) >> 1), color, flip,flip, sx,sy, @@ -486,14 +469,10 @@ void rallyx_state::locomotn_draw_sprites( screen_device &screen, bitmap_ind16 &b void rallyx_state::rallyx_draw_bullets( bitmap_ind16 &bitmap, const rectangle &cliprect, bool transpen ) { - int offs; - - for (offs = m_spriteram_base; offs < 0x20; offs++) + for (int offs = m_spriteram_base; offs < 0x20; offs++) { - int x, y; - - x = m_radarx[offs] + ((~m_radarattr[offs & 0x0f] & 0x01) << 8); - y = 253 - m_radary[offs]; + int x = m_radarx[offs] + ((~m_radarattr[offs & 0x0f] & 0x01) << 8); + int y = 253 - m_radary[offs]; if (flip_screen()) x -= 3; @@ -516,14 +495,10 @@ void rallyx_state::rallyx_draw_bullets( bitmap_ind16 &bitmap, const rectangle &c void rallyx_state::jungler_draw_bullets( bitmap_ind16 &bitmap, const rectangle &cliprect, bool transpen ) { - int offs; - - for (offs = m_spriteram_base; offs < 0x20; offs++) + for (int offs = m_spriteram_base; offs < 0x20; offs++) { - int x, y; - - x = m_radarx[offs] + ((~m_radarattr[offs & 0x0f] & 0x08) << 5); - y = 253 - m_radary[offs]; + int x = m_radarx[offs] + ((~m_radarattr[offs & 0x0f] & 0x08) << 5); + int y = 253 - m_radary[offs]; if (transpen) m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, @@ -544,13 +519,8 @@ void rallyx_state::jungler_draw_bullets( bitmap_ind16 &bitmap, const rectangle & void rallyx_state::locomotn_draw_bullets( bitmap_ind16 &bitmap, const rectangle &cliprect, bool transpen ) { - int offs; - - for (offs = m_spriteram_base; offs < 0x20; offs++) + for (int offs = m_spriteram_base; offs < 0x20; offs++) { - int x, y; - - /* it looks like in commsega the addresses used are a000-a003 a004-a00f 8020-8023 8034-803f @@ -558,8 +528,8 @@ void rallyx_state::locomotn_draw_bullets( bitmap_ind16 &bitmap, const rectangle so 8024-8033 and 8824-8833 are not used */ - x = m_radarx[offs] + ((~m_radarattr[offs & 0x0f] & 0x08) << 5); - y = 252 - m_radary[offs]; + int x = m_radarx[offs] + ((~m_radarattr[offs & 0x0f] & 0x08) << 5); + int y = 252 - m_radary[offs]; if (transpen) m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, @@ -632,7 +602,7 @@ uint32_t rallyx_state::screen_update_jungler(screen_device &screen, bitmap_ind16 screen.priority().fill(0, cliprect); - /* tile priority doesn't seem to be supported in Jungler */ + // tile priority doesn't seem to be supported in Jungler m_bg_tilemap->draw(screen, bitmap, bg_clip, 0, 0); m_fg_tilemap->draw(screen, bitmap, fg_clip, 0, 0); m_bg_tilemap->draw(screen, bitmap, bg_clip, 1, 0); @@ -658,7 +628,7 @@ uint32_t rallyx_state::screen_update_locomotn(screen_device &screen, bitmap_ind1 if (flip_screen()) { - /* handle reduced visible area in some games */ + // handle reduced visible area in some games if (screen.visible_area().max_x == 32 * 8 - 1) { bg_clip.min_x = 4 * 8; -- cgit v1.2.3