summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/madalien.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/madalien.c')
-rw-r--r--src/mame/video/madalien.c57
1 files changed, 28 insertions, 29 deletions
diff --git a/src/mame/video/madalien.c b/src/mame/video/madalien.c
index ca71a648f15..8f5d740380c 100644
--- a/src/mame/video/madalien.c
+++ b/src/mame/video/madalien.c
@@ -14,13 +14,13 @@
#define PIXEL_CLOCK (MADALIEN_MAIN_CLOCK / 2)
-static PALETTE_INIT( madalien )
+PALETTE_INIT_MEMBER(madalien_state,madalien)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
for (i = 0; i < 0x20; i++)
{
@@ -41,11 +41,11 @@ static PALETTE_INIT( madalien )
if (BIT(color_prom[i], 5))
b += 0xc0;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
for (i = 0; i < 0x10; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
for (i = 0x10; i < 0x20; i++)
{
@@ -57,11 +57,11 @@ static PALETTE_INIT( madalien )
if (BIT((i - 0x10), 2))
ctabentry = ctabentry ^ 0x06;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
for (i = 0x20; i < 0x30; i++)
- colortable_entry_set_value(machine.colortable, i, (i - 0x20) | 0x10);
+ colortable_entry_set_value(machine().colortable, i, (i - 0x20) | 0x10);
}
@@ -117,17 +117,16 @@ WRITE8_MEMBER(madalien_state::madalien_videoram_w)
}
-static VIDEO_START( madalien )
+VIDEO_START_MEMBER(madalien_state,madalien)
{
- madalien_state *state = machine.driver_data<madalien_state>();
int i;
static const tilemap_mapper_delegate scan_functions[4] =
{
- tilemap_mapper_delegate(FUNC(madalien_state::scan_mode0),state),
- tilemap_mapper_delegate(FUNC(madalien_state::scan_mode1),state),
- tilemap_mapper_delegate(FUNC(madalien_state::scan_mode2),state),
- tilemap_mapper_delegate(FUNC(madalien_state::scan_mode3),state)
+ tilemap_mapper_delegate(FUNC(madalien_state::scan_mode0),this),
+ tilemap_mapper_delegate(FUNC(madalien_state::scan_mode1),this),
+ tilemap_mapper_delegate(FUNC(madalien_state::scan_mode2),this),
+ tilemap_mapper_delegate(FUNC(madalien_state::scan_mode3),this)
};
static const int tilemap_cols[4] =
@@ -135,28 +134,28 @@ static VIDEO_START( madalien )
16, 16, 32, 32
};
- state->m_tilemap_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_FG),state), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
- state->m_tilemap_fg->set_transparent_pen(0);
- state->m_tilemap_fg->set_scrolldx(0, 0x50);
- state->m_tilemap_fg->set_scrolldy(0, 0x20);
+ m_tilemap_fg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_FG),this), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
+ m_tilemap_fg->set_transparent_pen(0);
+ m_tilemap_fg->set_scrolldx(0, 0x50);
+ m_tilemap_fg->set_scrolldy(0, 0x20);
for (i = 0; i < 4; i++)
{
- state->m_tilemap_edge1[i] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_1),state), scan_functions[i], 16, 16, tilemap_cols[i], 8);
- state->m_tilemap_edge1[i]->set_scrolldx(0, 0x50);
- state->m_tilemap_edge1[i]->set_scrolldy(0, 0x20);
+ m_tilemap_edge1[i] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_1),this), scan_functions[i], 16, 16, tilemap_cols[i], 8);
+ m_tilemap_edge1[i]->set_scrolldx(0, 0x50);
+ m_tilemap_edge1[i]->set_scrolldy(0, 0x20);
- state->m_tilemap_edge2[i] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_2),state), scan_functions[i], 16, 16, tilemap_cols[i], 8);
- state->m_tilemap_edge2[i]->set_scrolldx(0, 0x50);
- state->m_tilemap_edge2[i]->set_scrolldy(0, machine.primary_screen->height() - 256);
+ m_tilemap_edge2[i] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_2),this), scan_functions[i], 16, 16, tilemap_cols[i], 8);
+ m_tilemap_edge2[i]->set_scrolldx(0, 0x50);
+ m_tilemap_edge2[i]->set_scrolldy(0, machine().primary_screen->height() - 256);
}
- state->m_headlight_bitmap = auto_bitmap_ind16_alloc(machine, 128, 128);
+ m_headlight_bitmap = auto_bitmap_ind16_alloc(machine(), 128, 128);
- machine.gfx[0]->set_source(state->m_charram);
+ machine().gfx[0]->set_source(m_charram);
- drawgfx_opaque(*state->m_headlight_bitmap, state->m_headlight_bitmap->cliprect(), machine.gfx[2], 0, 0, 0, 0, 0x00, 0x00);
- drawgfx_opaque(*state->m_headlight_bitmap, state->m_headlight_bitmap->cliprect(), machine.gfx[2], 0, 0, 0, 1, 0x00, 0x40);
+ drawgfx_opaque(*m_headlight_bitmap, m_headlight_bitmap->cliprect(), machine().gfx[2], 0, 0, 0, 0, 0x00, 0x00);
+ drawgfx_opaque(*m_headlight_bitmap, m_headlight_bitmap->cliprect(), machine().gfx[2], 0, 0, 0, 1, 0x00, 0x40);
}
@@ -401,8 +400,8 @@ MACHINE_CONFIG_FRAGMENT( madalien_video )
MCFG_GFXDECODE(madalien)
MCFG_PALETTE_LENGTH(0x30)
- MCFG_PALETTE_INIT(madalien)
- MCFG_VIDEO_START(madalien)
+ MCFG_PALETTE_INIT_OVERRIDE(madalien_state,madalien)
+ MCFG_VIDEO_START_OVERRIDE(madalien_state,madalien)
MCFG_MC6845_ADD("crtc", MC6845, PIXEL_CLOCK / 8, mc6845_intf)
MACHINE_CONFIG_END