diff options
Diffstat (limited to 'src/mame/drivers/jollyjgr.c')
-rw-r--r-- | src/mame/drivers/jollyjgr.c | 51 |
1 files changed, 24 insertions, 27 deletions
diff --git a/src/mame/drivers/jollyjgr.c b/src/mame/drivers/jollyjgr.c index c6342ce4a79..1856db7ae6e 100644 --- a/src/mame/drivers/jollyjgr.c +++ b/src/mame/drivers/jollyjgr.c @@ -135,6 +135,10 @@ public: DECLARE_WRITE8_MEMBER(jollyjgr_misc_w); DECLARE_WRITE8_MEMBER(jollyjgr_coin_lookout_w); TILE_GET_INFO_MEMBER(get_bg_tile_info); + virtual void machine_start(); + virtual void machine_reset(); + virtual void video_start(); + virtual void palette_init(); }; @@ -401,9 +405,9 @@ INPUT_PORTS_END * *************************************/ -static PALETTE_INIT( jollyjgr ) +void jollyjgr_state::palette_init() { - const UINT8 *color_prom = machine.root_device().memregion("proms")->base(); + const UINT8 *color_prom = machine().root_device().memregion("proms")->base(); int i; /* tilemap / sprites palette */ @@ -426,13 +430,13 @@ static PALETTE_INIT( jollyjgr ) bit1 = BIT(*color_prom, 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)); color_prom++; } /* bitmap palette */ for (i = 0;i < 8;i++) - palette_set_color_rgb(machine, 32 + i, pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2)); + palette_set_color_rgb(machine(), 32 + i, pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2)); } /* Tilemap is the same as in Galaxian */ @@ -443,13 +447,12 @@ TILE_GET_INFO_MEMBER(jollyjgr_state::get_bg_tile_info) SET_TILE_INFO_MEMBER(region, m_videoram[tile_index], color, 0); } -static VIDEO_START( jollyjgr ) +void jollyjgr_state::video_start() { - jollyjgr_state *state = machine.driver_data<jollyjgr_state>(); - state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jollyjgr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); + m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jollyjgr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); - state->m_bg_tilemap->set_transparent_pen(0); - state->m_bg_tilemap->set_scroll_cols(32); + m_bg_tilemap->set_transparent_pen(0); + m_bg_tilemap->set_scroll_cols(32); } static void draw_bitmap( running_machine &machine, bitmap_ind16 &bitmap ) @@ -626,26 +629,24 @@ static INTERRUPT_GEN( jollyjgr_interrupt ) } -static MACHINE_START( jollyjgr ) +void jollyjgr_state::machine_start() { - jollyjgr_state *state = machine.driver_data<jollyjgr_state>(); - state->save_item(NAME(state->m_nmi_enable)); - state->save_item(NAME(state->m_flip_x)); - state->save_item(NAME(state->m_flip_y)); - state->save_item(NAME(state->m_bitmap_disable)); - state->save_item(NAME(state->m_tilemap_bank)); + save_item(NAME(m_nmi_enable)); + save_item(NAME(m_flip_x)); + save_item(NAME(m_flip_y)); + save_item(NAME(m_bitmap_disable)); + save_item(NAME(m_tilemap_bank)); } -static MACHINE_RESET( jollyjgr ) +void jollyjgr_state::machine_reset() { - jollyjgr_state *state = machine.driver_data<jollyjgr_state>(); - state->m_nmi_enable = 0; - state->m_flip_x = 0; - state->m_flip_y = 0; - state->m_bitmap_disable = 0; - state->m_tilemap_bank = 0; + m_nmi_enable = 0; + m_flip_x = 0; + m_flip_y = 0; + m_bitmap_disable = 0; + m_tilemap_bank = 0; } static MACHINE_CONFIG_START( jollyjgr, jollyjgr_state ) @@ -655,8 +656,6 @@ static MACHINE_CONFIG_START( jollyjgr, jollyjgr_state ) MCFG_CPU_PROGRAM_MAP(jollyjgr_map) MCFG_CPU_VBLANK_INT("screen", jollyjgr_interrupt) - MCFG_MACHINE_START(jollyjgr) - MCFG_MACHINE_RESET(jollyjgr) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -669,8 +668,6 @@ static MACHINE_CONFIG_START( jollyjgr, jollyjgr_state ) MCFG_GFXDECODE(jollyjgr) MCFG_PALETTE_LENGTH(32+8) /* 32 for tilemap and sprites + 8 for the bitmap */ - MCFG_PALETTE_INIT(jollyjgr) - MCFG_VIDEO_START(jollyjgr) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") |