diff options
Diffstat (limited to 'src/mame/video/inufuku.cpp')
-rw-r--r-- | src/mame/video/inufuku.cpp | 173 |
1 files changed, 0 insertions, 173 deletions
diff --git a/src/mame/video/inufuku.cpp b/src/mame/video/inufuku.cpp deleted file mode 100644 index 111ede75c2e..00000000000 --- a/src/mame/video/inufuku.cpp +++ /dev/null @@ -1,173 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Takahiro Nogi -/****************************************************************************** - - Video Hardware for Video System Games. - - Quiz & Variety Sukusuku Inufuku - (c)1998 Video System Co.,Ltd. - - Driver by Takahiro Nogi <nogi@kt.rim.or.jp> 2003/08/09 - - - based on other Video System drivers - -******************************************************************************/ - -#include "emu.h" -#include "includes/inufuku.h" -#include "screen.h" - - -/****************************************************************************** - - Memory handlers - -******************************************************************************/ - -WRITE16_MEMBER(inufuku_state::inufuku_palettereg_w) -{ - switch (offset) - { - case 0x02: m_bg_palettebank = (data & 0xf000) >> 12; - m_bg_tilemap->mark_all_dirty(); - break; - case 0x03: m_tx_palettebank = (data & 0xf000) >> 12; - m_tx_tilemap->mark_all_dirty(); - break; - } -} - -WRITE16_MEMBER(inufuku_state::inufuku_scrollreg_w) -{ - switch (offset) - { - case 0x00: m_bg_scrollx = data + 1; break; - case 0x01: m_bg_scrolly = data + 0; break; - case 0x02: m_tx_scrollx = data - 3; break; - case 0x03: m_tx_scrolly = data + 1; break; - case 0x04: m_bg_raster = (data & 0x0200) ? 0 : 1; break; - } -} - - -/****************************************************************************** - - Sprite routines - -******************************************************************************/ - - - -/****************************************************************************** - - Tilemap callbacks - -******************************************************************************/ - -TILE_GET_INFO_MEMBER(inufuku_state::get_inufuku_bg_tile_info) -{ - SET_TILE_INFO_MEMBER(0, - m_bg_videoram[tile_index], - m_bg_palettebank, - 0); -} - -TILE_GET_INFO_MEMBER(inufuku_state::get_inufuku_tx_tile_info) -{ - SET_TILE_INFO_MEMBER(1, - m_tx_videoram[tile_index], - m_tx_palettebank, - 0); -} - -READ16_MEMBER(inufuku_state::inufuku_bg_videoram_r) -{ - return m_bg_videoram[offset]; -} - -WRITE16_MEMBER(inufuku_state::inufuku_bg_videoram_w) -{ - COMBINE_DATA(&m_bg_videoram[offset]); - m_bg_tilemap->mark_tile_dirty(offset); -} - -READ16_MEMBER(inufuku_state::inufuku_tx_videoram_r) -{ - return m_tx_videoram[offset]; -} - -WRITE16_MEMBER(inufuku_state::inufuku_tx_videoram_w) -{ - COMBINE_DATA(&m_tx_videoram[offset]); - m_tx_tilemap->mark_tile_dirty(offset); -} - - -uint32_t inufuku_state::inufuku_tile_callback( uint32_t code ) -{ - return ((m_spriteram2[code*2] & 0x0007) << 16) + m_spriteram2[(code*2)+ 1]; -} - - -/****************************************************************************** - - Start the video hardware emulation - -******************************************************************************/ - -void inufuku_state::video_start() -{ - m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(inufuku_state::get_inufuku_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); - m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(inufuku_state::get_inufuku_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); - - m_bg_tilemap->set_transparent_pen(255); - m_tx_tilemap->set_transparent_pen(255); - - m_spriteram1_old = make_unique_clear<uint16_t[]>(m_spriteram1.bytes()/2); - -} - - -/****************************************************************************** - - Display refresh - -******************************************************************************/ - -uint32_t inufuku_state::screen_update_inufuku(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) -{ - int i; - - bitmap.fill(m_palette->black_pen(), cliprect); - screen.priority().fill(0); - - if (m_bg_raster) - { - m_bg_tilemap->set_scroll_rows(512); - for (i = 0; i < 256; i++) - m_bg_tilemap->set_scrollx((m_bg_scrolly + i) & 0x1ff, m_bg_scrollx+m_bg_rasterram[i]); - } - else - { - m_bg_tilemap->set_scroll_rows(1); - m_bg_tilemap->set_scrollx(0, m_bg_scrollx); - } - m_bg_tilemap->set_scrolly(0, m_bg_scrolly); - m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0); - - m_tx_tilemap->set_scrollx(0, m_tx_scrollx); - m_tx_tilemap->set_scrolly(0, m_tx_scrolly); - m_tx_tilemap->draw(screen, bitmap, cliprect, 0, 4); - - m_spr->draw_sprites( m_spriteram1_old.get(), m_spriteram1.bytes(), screen, bitmap, cliprect ); - return 0; -} - -WRITE_LINE_MEMBER(inufuku_state::screen_vblank_inufuku) -{ - // rising edge - if (state) - { - memcpy(m_spriteram1_old.get(),m_spriteram1,m_spriteram1.bytes()); - } -} |