diff options
Diffstat (limited to 'src/mame/drivers/rallyx.c')
-rw-r--r-- | src/mame/drivers/rallyx.c | 60 |
1 files changed, 28 insertions, 32 deletions
diff --git a/src/mame/drivers/rallyx.c b/src/mame/drivers/rallyx.c index ee893a66c86..f8202893e90 100644 --- a/src/mame/drivers/rallyx.c +++ b/src/mame/drivers/rallyx.c @@ -204,28 +204,25 @@ TODO: * *************************************/ -static WRITE8_HANDLER( rallyx_interrupt_vector_w ) +WRITE8_MEMBER(rallyx_state::rallyx_interrupt_vector_w) { - rallyx_state *state = space->machine().driver_data<rallyx_state>(); - device_set_input_line_vector(state->m_maincpu, 0, data); - device_set_input_line(state->m_maincpu, 0, CLEAR_LINE); + device_set_input_line_vector(m_maincpu, 0, data); + device_set_input_line(m_maincpu, 0, CLEAR_LINE); } -static WRITE8_HANDLER( rallyx_bang_w ) +WRITE8_MEMBER(rallyx_state::rallyx_bang_w) { - rallyx_state *state = space->machine().driver_data<rallyx_state>(); - if (data == 0 && state->m_last_bang != 0) - state->m_samples->start(0, 0); + if (data == 0 && m_last_bang != 0) + m_samples->start(0, 0); - state->m_last_bang = data; + m_last_bang = data; } -static WRITE8_HANDLER( rallyx_latch_w ) +WRITE8_MEMBER(rallyx_state::rallyx_latch_w) { - rallyx_state *state = space->machine().driver_data<rallyx_state>(); int bit = data & 1; switch (offset) @@ -235,53 +232,52 @@ static WRITE8_HANDLER( rallyx_latch_w ) break; case 0x01: /* INT ON */ - state->m_main_irq_mask = bit; + m_main_irq_mask = bit; if (!bit) - device_set_input_line(state->m_maincpu, 0, CLEAR_LINE); + device_set_input_line(m_maincpu, 0, CLEAR_LINE); break; case 0x02: /* SOUND ON */ /* this doesn't work in New Rally X so I'm not supporting it */ -// pacman_sound_enable_w(space->machine().device("namco"), bit); +// pacman_sound_enable_w(machine().device("namco"), bit); break; case 0x03: /* FLIP */ - flip_screen_set_no_update(space->machine(), bit); - space->machine().tilemap().set_flip_all(bit * (TILEMAP_FLIPX | TILEMAP_FLIPY)); + flip_screen_set_no_update(machine(), bit); + machine().tilemap().set_flip_all(bit * (TILEMAP_FLIPX | TILEMAP_FLIPY)); break; case 0x04: - set_led_status(space->machine(), 0, bit); + set_led_status(machine(), 0, bit); break; case 0x05: - set_led_status(space->machine(), 1, bit); + set_led_status(machine(), 1, bit); break; case 0x06: - coin_lockout_w(space->machine(), 0, !bit); + coin_lockout_w(machine(), 0, !bit); break; case 0x07: - coin_counter_w(space->machine(), 0, bit); + coin_counter_w(machine(), 0, bit); break; } } -static WRITE8_HANDLER( locomotn_latch_w ) +WRITE8_MEMBER(rallyx_state::locomotn_latch_w) { - rallyx_state *state = space->machine().driver_data<rallyx_state>(); int bit = data & 1; switch (offset) { case 0x00: /* SOUNDON */ - timeplt_sh_irqtrigger_w(space,0,bit); + timeplt_sh_irqtrigger_w(&space,0,bit); break; case 0x01: /* INTST */ - state->m_main_irq_mask = bit; + m_main_irq_mask = bit; break; case 0x02: /* MUT */ @@ -289,23 +285,23 @@ static WRITE8_HANDLER( locomotn_latch_w ) break; case 0x03: /* FLIP */ - flip_screen_set_no_update(space->machine(), bit); - space->machine().tilemap().set_flip_all(bit * (TILEMAP_FLIPX | TILEMAP_FLIPY)); + flip_screen_set_no_update(machine(), bit); + machine().tilemap().set_flip_all(bit * (TILEMAP_FLIPX | TILEMAP_FLIPY)); break; case 0x04: /* OUT1 */ - coin_counter_w(space->machine(), 0, bit); + coin_counter_w(machine(), 0, bit); break; case 0x05: /* OUT2 */ break; case 0x06: /* OUT3 */ - coin_counter_w(space->machine(), 1,bit); + coin_counter_w(machine(), 1,bit); break; case 0x07: /* STARSON */ - tactcian_starson_w(space, offset, bit); + tactcian_starson_w(&space, offset, bit); break; } } @@ -330,12 +326,12 @@ static ADDRESS_MAP_START( rallyx_map, AS_PROGRAM, 8, rallyx_state ) AM_RANGE(0xa130, 0xa130) AM_WRITE_LEGACY(rallyx_scrollx_w) AM_RANGE(0xa140, 0xa140) AM_WRITE_LEGACY(rallyx_scrolly_w) AM_RANGE(0xa170, 0xa170) AM_WRITENOP /* ? */ - AM_RANGE(0xa180, 0xa187) AM_WRITE_LEGACY(rallyx_latch_w) + AM_RANGE(0xa180, 0xa187) AM_WRITE(rallyx_latch_w) ADDRESS_MAP_END static ADDRESS_MAP_START( io_map, AS_IO, 8, rallyx_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0, 0) AM_WRITE_LEGACY(rallyx_interrupt_vector_w) + AM_RANGE(0, 0) AM_WRITE(rallyx_interrupt_vector_w) ADDRESS_MAP_END @@ -352,7 +348,7 @@ static ADDRESS_MAP_START( jungler_map, AS_PROGRAM, 8, rallyx_state ) AM_RANGE(0xa100, 0xa100) AM_WRITE_LEGACY(soundlatch_w) AM_RANGE(0xa130, 0xa130) AM_WRITE_LEGACY(rallyx_scrollx_w) /* only jungler and tactcian */ AM_RANGE(0xa140, 0xa140) AM_WRITE_LEGACY(rallyx_scrolly_w) /* only jungler and tactcian */ - AM_RANGE(0xa180, 0xa187) AM_WRITE_LEGACY(locomotn_latch_w) + AM_RANGE(0xa180, 0xa187) AM_WRITE(locomotn_latch_w) ADDRESS_MAP_END |