diff options
Diffstat (limited to 'src/mame/drivers/superwng.c')
-rw-r--r-- | src/mame/drivers/superwng.c | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/src/mame/drivers/superwng.c b/src/mame/drivers/superwng.c index aa37b42c02c..e54e73b2ae3 100644 --- a/src/mame/drivers/superwng.c +++ b/src/mame/drivers/superwng.c @@ -69,6 +69,10 @@ public: DECLARE_READ8_MEMBER(superwng_sound_byte_r); TILE_GET_INFO_MEMBER(get_bg_tile_info); TILE_GET_INFO_MEMBER(get_fg_tile_info); + virtual void machine_start(); + virtual void machine_reset(); + virtual void video_start(); + virtual void palette_init(); }; TILE_GET_INFO_MEMBER(superwng_state::get_bg_tile_info) @@ -100,13 +104,12 @@ TILE_GET_INFO_MEMBER(superwng_state::get_fg_tile_info) SET_TILE_INFO_MEMBER(0, code, attr & 0xf, flipx|flipy); } -static VIDEO_START( superwng ) +void superwng_state::video_start() { - superwng_state *state = machine.driver_data<superwng_state>(); - state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(superwng_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); - state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(superwng_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); + m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(superwng_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); + m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(superwng_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); - state->m_bg_tilemap->set_scrollx(0, 64); + m_bg_tilemap->set_scrollx(0, 64); } static SCREEN_UPDATE_IND16( superwng ) @@ -168,12 +171,12 @@ static const UINT8 superwng_colors[]= /* temporary */ 0x00, 0xc0, 0x07, 0x3f, 0x00, 0x1f, 0x3f, 0xff, 0x00, 0x86, 0x05, 0xff, 0x00, 0xc0, 0xe8, 0xff }; -PALETTE_INIT( superwng ) +void superwng_state::palette_init() { int i; const UINT8 * ptr=superwng_colors; - for (i = 0; i < machine.total_colors(); i++) + for (i = 0; i < machine().total_colors(); i++) { int bit0, bit1, bit2, r, g, b; @@ -191,7 +194,7 @@ PALETTE_INIT( superwng ) bit1 = BIT(*ptr, 7); b = 0x4f * bit0 + 0xa8 * bit1; - palette_set_color(machine,i,MAKE_RGB(r,g,b)); + palette_set_color(machine(),i,MAKE_RGB(r,g,b)); ++ptr; } } @@ -423,21 +426,19 @@ static GFXDECODE_START( superwng ) GFXDECODE_ENTRY( "gfx1", 0x0000, spritelayout, 0, 16 ) GFXDECODE_END -static MACHINE_START( superwng ) +void superwng_state::machine_start() { - superwng_state *state = machine.driver_data<superwng_state>(); - state->save_item(NAME(state->m_tile_bank)); - state->save_item(NAME(state->m_sound_byte)); - state->save_item(NAME(state->m_nmi_enable)); + save_item(NAME(m_tile_bank)); + save_item(NAME(m_sound_byte)); + save_item(NAME(m_nmi_enable)); } -static MACHINE_RESET( superwng ) +void superwng_state::machine_reset() { - superwng_state *state = machine.driver_data<superwng_state>(); - state->m_sound_byte = 0; - state->m_nmi_enable = 0; + m_sound_byte = 0; + m_nmi_enable = 0; } static const ay8910_interface ay8910_config_1 = @@ -471,8 +472,6 @@ static MACHINE_CONFIG_START( superwng, superwng_state ) MCFG_CPU_PROGRAM_MAP(superwng_sound_map) MCFG_CPU_PERIODIC_INT(superwng_sound_nmi_assert, 4*60) - MCFG_MACHINE_START(superwng) - MCFG_MACHINE_RESET(superwng) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -484,8 +483,6 @@ static MACHINE_CONFIG_START( superwng, superwng_state ) MCFG_GFXDECODE(superwng) MCFG_PALETTE_LENGTH(0x40) - MCFG_PALETTE_INIT(superwng) - MCFG_VIDEO_START(superwng) MCFG_SCREEN_UPDATE_STATIC(superwng) MCFG_SPEAKER_STANDARD_MONO("mono") |