diff options
Diffstat (limited to 'src/mame/drivers/sbrkout.c')
-rw-r--r-- | src/mame/drivers/sbrkout.c | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/src/mame/drivers/sbrkout.c b/src/mame/drivers/sbrkout.c index cf2eec69962..12eec0a6b24 100644 --- a/src/mame/drivers/sbrkout.c +++ b/src/mame/drivers/sbrkout.c @@ -63,6 +63,9 @@ public: DECLARE_READ8_MEMBER(sync2_r); DECLARE_WRITE8_MEMBER(sbrkout_videoram_w); TILE_GET_INFO_MEMBER(get_bg_tile_info); + virtual void machine_start(); + virtual void machine_reset(); + virtual void video_start(); }; @@ -96,24 +99,22 @@ static TIMER_CALLBACK( pot_trigger_callback ); * *************************************/ -static MACHINE_START( sbrkout ) +void sbrkout_state::machine_start() { - sbrkout_state *state = machine.driver_data<sbrkout_state>(); - UINT8 *videoram = state->m_videoram; - state->membank("bank1")->set_base(&videoram[0x380]); - state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(scanline_callback)); - state->m_pot_timer = machine.scheduler().timer_alloc(FUNC(pot_trigger_callback)); + UINT8 *videoram = m_videoram; + membank("bank1")->set_base(&videoram[0x380]); + m_scanline_timer = machine().scheduler().timer_alloc(FUNC(scanline_callback)); + m_pot_timer = machine().scheduler().timer_alloc(FUNC(pot_trigger_callback)); - state->save_item(NAME(state->m_sync2_value)); - state->save_item(NAME(state->m_pot_mask)); - state->save_item(NAME(state->m_pot_trigger)); + save_item(NAME(m_sync2_value)); + save_item(NAME(m_pot_mask)); + save_item(NAME(m_pot_trigger)); } -static MACHINE_RESET( sbrkout ) +void sbrkout_state::machine_reset() { - sbrkout_state *state = machine.driver_data<sbrkout_state>(); - state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(0)); + m_scanline_timer->adjust(machine().primary_screen->time_until_pos(0)); } @@ -305,10 +306,9 @@ TILE_GET_INFO_MEMBER(sbrkout_state::get_bg_tile_info) } -static VIDEO_START( sbrkout ) +void sbrkout_state::video_start() { - sbrkout_state *state = machine.driver_data<sbrkout_state>(); - state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sbrkout_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); + m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sbrkout_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); } @@ -506,8 +506,6 @@ static MACHINE_CONFIG_START( sbrkout, sbrkout_state ) MCFG_CPU_ADD("maincpu", M6502,MAIN_CLOCK/16) /* 375 KHz? Should be 750KHz? */ MCFG_CPU_PROGRAM_MAP(main_map) - MCFG_MACHINE_START(sbrkout) - MCFG_MACHINE_RESET(sbrkout) MCFG_WATCHDOG_VBLANK_INIT(8) /* video hardware */ @@ -519,7 +517,6 @@ static MACHINE_CONFIG_START( sbrkout, sbrkout_state ) MCFG_SCREEN_UPDATE_STATIC(sbrkout) MCFG_PALETTE_INIT(black_and_white) - MCFG_VIDEO_START(sbrkout) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") |