summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/speedspn.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/speedspn.c')
-rw-r--r--src/mame/video/speedspn.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/mame/video/speedspn.c b/src/mame/video/speedspn.c
index 7b5de0be6a0..e3a53e166da 100644
--- a/src/mame/video/speedspn.c
+++ b/src/mame/video/speedspn.c
@@ -4,7 +4,7 @@
#include "includes/speedspn.h"
-TILE_GET_INFO_MEMBER(speedspn_state::get_speedspn_tile_info)
+TILE_GET_INFO_MEMBER(speedspn_state::get_tile_info)
{
int code = m_vidram[tile_index*2+1] | (m_vidram[tile_index*2] << 8);
int attr = m_attram[tile_index^0x400];
@@ -14,11 +14,17 @@ TILE_GET_INFO_MEMBER(speedspn_state::get_speedspn_tile_info)
void speedspn_state::video_start()
{
- m_vidram = auto_alloc_array(machine(), UINT8, 0x1000 * 2);
- m_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(speedspn_state::get_speedspn_tile_info),this),TILEMAP_SCAN_COLS, 8, 8,64,32);
+ m_display_disable = false;
+ m_bank_vidram = 0;
+ m_vidram.resize_and_clear(0x1000 * 2);
+ m_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(speedspn_state::get_tile_info),this),TILEMAP_SCAN_COLS, 8, 8,64,32);
+
+ save_item(NAME(m_display_disable));
+ save_item(NAME(m_bank_vidram));
+ save_item(NAME(m_vidram));
}
-WRITE8_MEMBER(speedspn_state::speedspn_vidram_w)
+WRITE8_MEMBER(speedspn_state::vidram_w)
{
m_vidram[offset + m_bank_vidram] = data;
@@ -26,26 +32,26 @@ WRITE8_MEMBER(speedspn_state::speedspn_vidram_w)
m_tilemap->mark_tile_dirty(offset/2);
}
-WRITE8_MEMBER(speedspn_state::speedspn_attram_w)
+WRITE8_MEMBER(speedspn_state::attram_w)
{
m_attram[offset] = data;
m_tilemap->mark_tile_dirty(offset^0x400);
}
-READ8_MEMBER(speedspn_state::speedspn_vidram_r)
+READ8_MEMBER(speedspn_state::vidram_r)
{
return m_vidram[offset + m_bank_vidram];
}
-WRITE8_MEMBER(speedspn_state::speedspn_banked_vidram_change)
+WRITE8_MEMBER(speedspn_state::vidram_bank_w)
{
// logerror("VidRam Bank: %04x\n", data);
m_bank_vidram = data & 1;
m_bank_vidram *= 0x1000;
}
-WRITE8_MEMBER(speedspn_state::speedspn_global_display_w)
+WRITE8_MEMBER(speedspn_state::display_disable_w)
{
// logerror("Global display: %u\n", data);
m_display_disable = data & 1;
@@ -85,7 +91,7 @@ void speedspn_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
}
-UINT32 speedspn_state::screen_update_speedspn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+UINT32 speedspn_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
if (m_display_disable)
{