diff options
Diffstat (limited to 'src/mame/video/deniam.c')
-rw-r--r-- | src/mame/video/deniam.c | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/src/mame/video/deniam.c b/src/mame/video/deniam.c index a93987d4258..409d2c91cbc 100644 --- a/src/mame/video/deniam.c +++ b/src/mame/video/deniam.c @@ -54,41 +54,38 @@ DRIVER_INIT_MEMBER(deniam_state,karianx) ***************************************************************************/ -static TILEMAP_MAPPER( scan_pages ) +TILEMAP_MAPPER_MEMBER(deniam_state::scan_pages) { /* logical (col,row) -> memory offset */ return (col & 0x3f) + ((row & 0x1f) << 6) + ((col & 0x40) << 5) + ((row & 0x20) << 7); } -static TILE_GET_INFO( get_bg_tile_info ) +TILE_GET_INFO_MEMBER(deniam_state::get_bg_tile_info) { - deniam_state *state = machine.driver_data<deniam_state>(); int page = tile_index >> 11; - UINT16 attr = state->m_videoram[state->m_bg_page[page] * 0x0800 + (tile_index & 0x7ff)]; - SET_TILE_INFO( + UINT16 attr = m_videoram[m_bg_page[page] * 0x0800 + (tile_index & 0x7ff)]; + SET_TILE_INFO_MEMBER( 0, attr, (attr & 0x1fc0) >> 6, 0); } -static TILE_GET_INFO( get_fg_tile_info ) +TILE_GET_INFO_MEMBER(deniam_state::get_fg_tile_info) { - deniam_state *state = machine.driver_data<deniam_state>(); int page = tile_index >> 11; - UINT16 attr = state->m_videoram[state->m_fg_page[page] * 0x0800 + (tile_index & 0x7ff)]; - SET_TILE_INFO( + UINT16 attr = m_videoram[m_fg_page[page] * 0x0800 + (tile_index & 0x7ff)]; + SET_TILE_INFO_MEMBER( 0, attr, (attr & 0x1fc0) >> 6, 0); } -static TILE_GET_INFO( get_tx_tile_info ) +TILE_GET_INFO_MEMBER(deniam_state::get_tx_tile_info) { - deniam_state *state = machine.driver_data<deniam_state>(); - UINT16 attr = state->m_textram[tile_index]; - SET_TILE_INFO( + UINT16 attr = m_textram[tile_index]; + SET_TILE_INFO_MEMBER( 0, attr & 0xf1ff, (attr & 0x0e00) >> 9, @@ -106,9 +103,9 @@ static TILE_GET_INFO( get_tx_tile_info ) VIDEO_START( deniam ) { deniam_state *state = machine.driver_data<deniam_state>(); - state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, scan_pages, 8, 8, 128, 64); - state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, scan_pages, 8, 8, 128, 64); - state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32); + state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(deniam_state::scan_pages),state), 8, 8, 128, 64); + state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(deniam_state::scan_pages),state), 8, 8, 128, 64); + state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); state->m_fg_tilemap->set_transparent_pen(0); state->m_tx_tilemap->set_transparent_pen(0); |