summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/igs017.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/igs017.c')
-rw-r--r--src/mame/drivers/igs017.c90
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")