diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2012-09-24 14:09:14 +0000 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2012-09-24 14:09:14 +0000 |
commit | ef6f5d0a52b1cbbc1418a248da72122e6958a958 (patch) | |
tree | 4dd325f2232bb5f4f9349599555846552d360d6c /src/mame/machine/irobot.c | |
parent | 7a7fa028bdc4fe10253488ffb180fc113eb2a14a (diff) |
Introducing TIMER_CALLBACK_MEMBER and modernization part 1 (no whatsnew)
Diffstat (limited to 'src/mame/machine/irobot.c')
-rw-r--r-- | src/mame/machine/irobot.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/mame/machine/irobot.c b/src/mame/machine/irobot.c index 966ebdc6654..9924c0c85b3 100644 --- a/src/mame/machine/irobot.c +++ b/src/mame/machine/irobot.c @@ -150,21 +150,20 @@ WRITE8_MEMBER(irobot_state::irobot_rom_banksel_w) set_led_status(machine(), 1,data & 0x20); } -static TIMER_CALLBACK( scanline_callback ) +TIMER_CALLBACK_MEMBER(irobot_state::scanline_callback) { - irobot_state *state = machine.driver_data<irobot_state>(); int scanline = param; - if (scanline == 0) state->m_irvg_vblank=0; - if (scanline == 224) state->m_irvg_vblank=1; + if (scanline == 0) m_irvg_vblank=0; + if (scanline == 224) m_irvg_vblank=1; logerror("SCANLINE CALLBACK %d\n",scanline); /* set the IRQ line state based on the 32V line state */ - machine.device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, (scanline & 32) ? ASSERT_LINE : CLEAR_LINE); + machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, (scanline & 32) ? ASSERT_LINE : CLEAR_LINE); /* set a callback for the next 32-scanline increment */ scanline += 32; if (scanline >= 256) scanline = 0; - machine.scheduler().timer_set(machine.primary_screen->time_until_pos(scanline), FUNC(scanline_callback), scanline); + machine().scheduler().timer_set(machine().primary_screen->time_until_pos(scanline), timer_expired_delegate(FUNC(irobot_state::scanline_callback),this), scanline); } void irobot_state::machine_reset() @@ -184,7 +183,7 @@ void irobot_state::machine_reset() m_irmb_timer = machine().device<timer_device>("irmb_timer"); /* set an initial timer to go off on scanline 0 */ - machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), FUNC(scanline_callback)); + machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), timer_expired_delegate(FUNC(irobot_state::scanline_callback),this)); irobot_rom_banksel_w(machine().device("maincpu")->memory().space(AS_PROGRAM),0,0); irobot_out0_w(machine().device("maincpu")->memory().space(AS_PROGRAM),0,0); |