diff options
Diffstat (limited to 'src/mame/drivers/igs017.c')
-rw-r--r-- | src/mame/drivers/igs017.c | 90 |
1 files changed, 37 insertions, 53 deletions
diff --git a/src/mame/drivers/igs017.c b/src/mame/drivers/igs017.c index 0068669fd65..87504342119 100644 --- a/src/mame/drivers/igs017.c +++ b/src/mame/drivers/igs017.c @@ -150,6 +150,11 @@ public: DECLARE_DRIVER_INIT(mgdha); TILE_GET_INFO_MEMBER(get_fg_tile_info); TILE_GET_INFO_MEMBER(get_bg_tile_info); + virtual void video_start(); + virtual void video_reset(); + DECLARE_MACHINE_RESET(iqblocka); + DECLARE_MACHINE_RESET(mgcs); + DECLARE_MACHINE_RESET(lhzb2a); }; @@ -171,10 +176,9 @@ WRITE16_MEMBER(igs017_state::video_disable_lsb_w) video_disable_w(space,offset,data); } -static VIDEO_RESET( igs017 ) +void igs017_state::video_reset() { - igs017_state *state = machine.driver_data<igs017_state>(); - state->m_video_disable = 0; + m_video_disable = 0; } @@ -261,20 +265,19 @@ static void expand_sprites(running_machine &machine) } } -static VIDEO_START( igs017 ) +void igs017_state::video_start() { - igs017_state *state = machine.driver_data<igs017_state>(); - state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs017_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32); - state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs017_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32); + m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs017_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32); + m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs017_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32); - state->m_fg_tilemap->set_transparent_pen(0xf); - state->m_bg_tilemap->set_transparent_pen(0xf); + m_fg_tilemap->set_transparent_pen(0xf); + m_bg_tilemap->set_transparent_pen(0xf); - state->m_toggle = 0; - state->m_debug_addr = 0; - state->m_debug_width = 512; + m_toggle = 0; + m_debug_addr = 0; + m_debug_width = 512; - expand_sprites(machine); + expand_sprites(machine()); } /*************************************************************************** @@ -3243,12 +3246,11 @@ static I8255A_INTERFACE( iqblocka_ppi8255_intf ) }; -static MACHINE_RESET( iqblocka ) +MACHINE_RESET_MEMBER(igs017_state,iqblocka) { - igs017_state *state = machine.driver_data<igs017_state>(); - state->m_nmi_enable = 0; - state->m_irq_enable = 0; - state->m_input_select = 0; + m_nmi_enable = 0; + m_irq_enable = 0; + m_input_select = 0; } static MACHINE_CONFIG_START( iqblocka, igs017_state ) @@ -3259,7 +3261,7 @@ static MACHINE_CONFIG_START( iqblocka, igs017_state ) MCFG_I8255A_ADD( "ppi8255", iqblocka_ppi8255_intf ) - MCFG_MACHINE_RESET(iqblocka) + MCFG_MACHINE_RESET_OVERRIDE(igs017_state,iqblocka) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -3272,8 +3274,6 @@ static MACHINE_CONFIG_START( iqblocka, igs017_state ) MCFG_GFXDECODE(igs017) MCFG_PALETTE_LENGTH(0x100*2) - MCFG_VIDEO_START(igs017) - MCFG_VIDEO_RESET(igs017) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -3300,14 +3300,13 @@ static TIMER_DEVICE_CALLBACK( mgcs_interrupt ) state->m_maincpu->set_input_line(2, HOLD_LINE); } -static MACHINE_RESET( mgcs ) +MACHINE_RESET_MEMBER(igs017_state,mgcs) { - igs017_state *state = machine.driver_data<igs017_state>(); - MACHINE_RESET_CALL( iqblocka ); - state->m_irq1_enable = 0; - state->m_irq2_enable = 0; - state->m_scramble_data = 0; - memset(state->m_igs_magic, 0, sizeof(state->m_igs_magic)); + MACHINE_RESET_CALL_MEMBER( iqblocka ); + m_irq1_enable = 0; + m_irq2_enable = 0; + m_scramble_data = 0; + memset(m_igs_magic, 0, sizeof(m_igs_magic)); } static I8255A_INTERFACE( mgcs_ppi8255_intf ) @@ -3325,7 +3324,7 @@ static MACHINE_CONFIG_START( mgcs, igs017_state ) MCFG_CPU_PROGRAM_MAP(mgcs) MCFG_TIMER_ADD_SCANLINE("scantimer", mgcs_interrupt, "screen", 0, 1) - MCFG_MACHINE_RESET(mgcs) + MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs) MCFG_I8255A_ADD( "ppi8255", mgcs_ppi8255_intf ) @@ -3340,8 +3339,6 @@ static MACHINE_CONFIG_START( mgcs, igs017_state ) MCFG_GFXDECODE(igs017_flipped) MCFG_PALETTE_LENGTH(0x100*2) - MCFG_VIDEO_START(igs017) - MCFG_VIDEO_RESET(igs017) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -3367,7 +3364,7 @@ static MACHINE_CONFIG_START( lhzb2, igs017_state ) MCFG_CPU_PROGRAM_MAP(lhzb2) MCFG_TIMER_ADD_SCANLINE("scantimer", mgcs_interrupt, "screen", 0, 1) - MCFG_MACHINE_RESET(mgcs) + MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs) MCFG_I8255A_ADD( "ppi8255", lhzb2_ppi8255_intf ) @@ -3382,8 +3379,6 @@ static MACHINE_CONFIG_START( lhzb2, igs017_state ) MCFG_GFXDECODE(igs017_swapped) MCFG_PALETTE_LENGTH(0x100*2) - MCFG_VIDEO_START(igs017) - MCFG_VIDEO_RESET(igs017) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -3395,11 +3390,10 @@ MACHINE_CONFIG_END // lhzb2a -static MACHINE_RESET( lhzb2a ) +MACHINE_RESET_MEMBER(igs017_state,lhzb2a) { - igs017_state *state = machine.driver_data<igs017_state>(); - MACHINE_RESET_CALL( mgcs ); - state->lhzb2a_input_addr_w(*state->m_maincpu->space(AS_PROGRAM), 0, 0xf0); + MACHINE_RESET_CALL_MEMBER( mgcs ); + lhzb2a_input_addr_w(*m_maincpu->space(AS_PROGRAM), 0, 0xf0); } static MACHINE_CONFIG_START( lhzb2a, igs017_state ) @@ -3407,7 +3401,7 @@ static MACHINE_CONFIG_START( lhzb2a, igs017_state ) MCFG_CPU_PROGRAM_MAP(lhzb2a) MCFG_TIMER_ADD_SCANLINE("scantimer", mgcs_interrupt, "screen", 0, 1) - MCFG_MACHINE_RESET(lhzb2a) + MCFG_MACHINE_RESET_OVERRIDE(igs017_state,lhzb2a) // MCFG_I8255A_ADD( "ppi8255", sdmg2_ppi8255_intf ) @@ -3422,8 +3416,6 @@ static MACHINE_CONFIG_START( lhzb2a, igs017_state ) MCFG_GFXDECODE(igs017_swapped) MCFG_PALETTE_LENGTH(0x100*2) - MCFG_VIDEO_START(igs017) - MCFG_VIDEO_RESET(igs017) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -3440,7 +3432,7 @@ static MACHINE_CONFIG_START( slqz2, igs017_state ) MCFG_CPU_PROGRAM_MAP(slqz2) MCFG_TIMER_ADD_SCANLINE("scantimer", mgcs_interrupt, "screen", 0, 1) - MCFG_MACHINE_RESET(mgcs) + MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs) MCFG_I8255A_ADD( "ppi8255", lhzb2_ppi8255_intf ) @@ -3455,8 +3447,6 @@ static MACHINE_CONFIG_START( slqz2, igs017_state ) MCFG_GFXDECODE(igs017) MCFG_PALETTE_LENGTH(0x100*2) - MCFG_VIDEO_START(igs017) - MCFG_VIDEO_RESET(igs017) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -3482,7 +3472,7 @@ static MACHINE_CONFIG_START( sdmg2, igs017_state ) MCFG_CPU_PROGRAM_MAP(sdmg2) MCFG_TIMER_ADD_SCANLINE("scantimer", mgcs_interrupt, "screen", 0, 1) - MCFG_MACHINE_RESET(mgcs) + MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs) MCFG_I8255A_ADD( "ppi8255", sdmg2_ppi8255_intf ) @@ -3497,8 +3487,6 @@ static MACHINE_CONFIG_START( sdmg2, igs017_state ) MCFG_GFXDECODE(igs017) MCFG_PALETTE_LENGTH(0x100*2) - MCFG_VIDEO_START(igs017) - MCFG_VIDEO_RESET(igs017) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -3536,7 +3524,7 @@ static MACHINE_CONFIG_START( mgdha, igs017_state ) MCFG_CPU_PROGRAM_MAP(mgdha_map) MCFG_TIMER_ADD_SCANLINE("scantimer", mgdh_interrupt, "screen", 0, 1) - MCFG_MACHINE_RESET(mgcs) + MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs) MCFG_I8255A_ADD( "ppi8255", mgdh_ppi8255_intf ) @@ -3551,8 +3539,6 @@ static MACHINE_CONFIG_START( mgdha, igs017_state ) MCFG_GFXDECODE(igs017_swapped) MCFG_PALETTE_LENGTH(0x100*2) - MCFG_VIDEO_START(igs017) - MCFG_VIDEO_RESET(igs017) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -3571,7 +3557,7 @@ static MACHINE_CONFIG_START( tjsb, igs017_state ) MCFG_I8255A_ADD( "ppi8255", iqblocka_ppi8255_intf ) - MCFG_MACHINE_RESET(iqblocka) + MCFG_MACHINE_RESET_OVERRIDE(igs017_state,iqblocka) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -3584,8 +3570,6 @@ static MACHINE_CONFIG_START( tjsb, igs017_state ) MCFG_GFXDECODE(igs017) MCFG_PALETTE_LENGTH(0x100*2) - MCFG_VIDEO_START(igs017) - MCFG_VIDEO_RESET(igs017) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") |