diff options
Diffstat (limited to 'src/mame/video/snk68.cpp')
-rw-r--r-- | src/mame/video/snk68.cpp | 60 |
1 files changed, 27 insertions, 33 deletions
diff --git a/src/mame/video/snk68.cpp b/src/mame/video/snk68.cpp index 597b36d00fd..2898fecf302 100644 --- a/src/mame/video/snk68.cpp +++ b/src/mame/video/snk68.cpp @@ -24,17 +24,17 @@ Notes: ***************************************************************************/ -TILE_GET_INFO_MEMBER(snk68_state::get_pow_tile_info) +TILE_GET_INFO_MEMBER(snk68_state::get_tile_info) { - int tile = m_fg_tile_offset + (m_pow_fg_videoram[2*tile_index] & 0xff); - int color = m_pow_fg_videoram[2*tile_index+1] & 0x07; + int tile = m_fg_tile_offset + (m_fg_videoram[2*tile_index] & 0xff); + int color = m_fg_videoram[2*tile_index+1] & 0x07; SET_TILE_INFO_MEMBER(0, tile, color, 0); } -TILE_GET_INFO_MEMBER(snk68_state::get_searchar_tile_info) +TILE_GET_INFO_MEMBER(searchar_state::get_tile_info) { - int data = m_pow_fg_videoram[2*tile_index]; + int data = m_fg_videoram[2*tile_index]; int tile = data & 0x7ff; int color = (data & 0x7000) >> 12; @@ -58,7 +58,7 @@ void snk68_state::common_video_start() void snk68_state::video_start() { - m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk68_state::get_pow_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32); + m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk68_state::get_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32); m_fg_tile_offset = 0; common_video_start(); @@ -66,11 +66,11 @@ void snk68_state::video_start() save_item(NAME(m_fg_tile_offset)); } -VIDEO_START_MEMBER(snk68_state,searchar) +void searchar_state::video_start() { - m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk68_state::get_searchar_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32); + m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(searchar_state::get_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32); - common_video_start(); + snk68_state::common_video_start(); } /*************************************************************************** @@ -79,50 +79,44 @@ VIDEO_START_MEMBER(snk68_state,searchar) ***************************************************************************/ -READ16_MEMBER(snk68_state::pow_fg_videoram_r) +READ16_MEMBER(snk68_state::fg_videoram_r) { // RAM is only 8-bit - return m_pow_fg_videoram[offset] | 0xff00; + return m_fg_videoram[offset] | 0xff00; } -WRITE16_MEMBER(snk68_state::pow_fg_videoram_w) +WRITE16_MEMBER(snk68_state::fg_videoram_w) { data |= 0xff00; - COMBINE_DATA(&m_pow_fg_videoram[offset]); + COMBINE_DATA(&m_fg_videoram[offset]); m_fg_tilemap->mark_tile_dirty(offset >> 1); } -WRITE16_MEMBER(snk68_state::searchar_fg_videoram_w) +WRITE16_MEMBER(searchar_state::fg_videoram_w) { // RAM is full 16-bit, though only half of it is used by the hardware - COMBINE_DATA(&m_pow_fg_videoram[offset]); + COMBINE_DATA(&m_fg_videoram[offset]); m_fg_tilemap->mark_tile_dirty(offset >> 1); } -WRITE16_MEMBER(snk68_state::pow_flipscreen_w) +WRITE8_MEMBER(snk68_state::flipscreen_w) { - if (ACCESSING_BITS_0_7) + flip_screen_set(BIT(data, 3)); + m_sprites->set_flip(BIT(data, 3)); + m_sprite_flip_axis = BIT(data, 2); // for streetsm? though might not be present on this board + + if (m_fg_tile_offset != ((data & 0x70) << 4)) { - flip_screen_set(data & 0x08); - m_sprites->set_flip(data & 0x08); - m_sprite_flip_axis = data & 0x04; // for streetsm? though might not be present on this board - - if (m_fg_tile_offset != ((data & 0x70) << 4)) - { - m_fg_tile_offset = (data & 0x70) << 4; - m_fg_tilemap->mark_all_dirty(); - } + m_fg_tile_offset = (data & 0x70) << 4; + m_fg_tilemap->mark_all_dirty(); } } -WRITE16_MEMBER(snk68_state::searchar_flipscreen_w) +WRITE8_MEMBER(searchar_state::flipscreen_w) { - if (ACCESSING_BITS_0_7) - { - flip_screen_set(data & 0x08); - m_sprites->set_flip(data & 0x08); - m_sprite_flip_axis = data & 0x04; - } + flip_screen_set(BIT(data, 3)); + m_sprites->set_flip(BIT(data, 3)); + m_sprite_flip_axis = BIT(data, 2); } |