diff options
Diffstat (limited to 'src/mame/video/psikyo.c')
-rw-r--r-- | src/mame/video/psikyo.c | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/src/mame/video/psikyo.c b/src/mame/video/psikyo.c index d7408f8083d..e5db59d9d2b 100644 --- a/src/mame/video/psikyo.c +++ b/src/mame/video/psikyo.c @@ -71,24 +71,22 @@ Offset: ***************************************************************************/ -static TILE_GET_INFO( get_tile_info_0 ) +TILE_GET_INFO_MEMBER(psikyo_state::get_tile_info_0) { - psikyo_state *state = machine.driver_data<psikyo_state>(); - UINT16 code = ((UINT16 *)state->m_vram_0.target())[BYTE_XOR_BE(tile_index)]; - SET_TILE_INFO( + UINT16 code = ((UINT16 *)m_vram_0.target())[BYTE_XOR_BE(tile_index)]; + SET_TILE_INFO_MEMBER( 1, - (code & 0x1fff) + 0x2000 * state->m_tilemap_0_bank, + (code & 0x1fff) + 0x2000 * m_tilemap_0_bank, (code >> 13) & 7, 0); } -static TILE_GET_INFO( get_tile_info_1 ) +TILE_GET_INFO_MEMBER(psikyo_state::get_tile_info_1) { - psikyo_state *state = machine.driver_data<psikyo_state>(); - UINT16 code = ((UINT16 *)state->m_vram_1.target())[BYTE_XOR_BE(tile_index)]; - SET_TILE_INFO( + UINT16 code = ((UINT16 *)m_vram_1.target())[BYTE_XOR_BE(tile_index)]; + SET_TILE_INFO_MEMBER( 1, - (code & 0x1fff) + 0x2000 * state->m_tilemap_1_bank, + (code & 0x1fff) + 0x2000 * m_tilemap_1_bank, ((code >> 13) & 7) + 0x40, // So we only have to decode the gfx once. 0); } @@ -166,15 +164,15 @@ VIDEO_START( psikyo ) /* The Hardware is Capable of Changing the Dimensions of the Tilemaps, its safer to create the various sized tilemaps now as opposed to later */ - state->m_tilemap_0_size0 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80); - state->m_tilemap_0_size1 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40); - state->m_tilemap_0_size2 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20); - state->m_tilemap_0_size3 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10); + state->m_tilemap_0_size0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80); + state->m_tilemap_0_size1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40); + state->m_tilemap_0_size2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20); + state->m_tilemap_0_size3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10); - state->m_tilemap_1_size0 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80); - state->m_tilemap_1_size1 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40); - state->m_tilemap_1_size2 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20); - state->m_tilemap_1_size3 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10); + state->m_tilemap_1_size0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80); + state->m_tilemap_1_size1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40); + state->m_tilemap_1_size2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20); + state->m_tilemap_1_size3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10); state->m_spritebuf1 = auto_alloc_array(machine, UINT32, 0x2000 / 4); state->m_spritebuf2 = auto_alloc_array(machine, UINT32, 0x2000 / 4); |