summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/irobot.c
diff options
context:
space:
mode:
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
commitef6f5d0a52b1cbbc1418a248da72122e6958a958 (patch)
tree4dd325f2232bb5f4f9349599555846552d360d6c /src/mame/machine/irobot.c
parent7a7fa028bdc4fe10253488ffb180fc113eb2a14a (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.c13
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);