summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/seta2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/seta2.cpp')
-rw-r--r--src/mame/video/seta2.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/mame/video/seta2.cpp b/src/mame/video/seta2.cpp
index be5f59e7009..520022e8a37 100644
--- a/src/mame/video/seta2.cpp
+++ b/src/mame/video/seta2.cpp
@@ -247,6 +247,11 @@ WRITE16_MEMBER(seta2_state::vregs_w)
}
}
+READ16_MEMBER(seta2_state::spriteram_r)
+{
+ return m_spriteram[offset];
+}
+
WRITE16_MEMBER(seta2_state::spriteram_w)
{
COMBINE_DATA(&m_spriteram[offset]);
@@ -343,11 +348,11 @@ void seta2_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
global_yoffset += 1;
- uint16_t *s1 = m_private_spriteram;
+ uint16_t *s1 = m_private_spriteram.get();
// for ( ; s1 < end; s1+=4 )
- for (; s1 < m_private_spriteram + 0x1000 / 2; s1 += 4) // more reasonable (and it cures MAME lockup in e.g. funcube3 boot)
+ for (; s1 < &m_private_spriteram[0x1000 / 2]; s1 += 4) // more reasonable (and it cures MAME lockup in e.g. funcube3 boot)
{
int num = s1[0];
@@ -558,6 +563,7 @@ void seta2_state::video_start()
m_gfxdecode->gfx(i)->set_granularity(16);
m_buffered_spriteram = std::make_unique<uint16_t[]>(m_spriteram.bytes()/2);
+ m_private_spriteram = make_unique_clear<uint16_t[]>(0x1000 / 2);
m_xoffset = 0;
@@ -571,7 +577,7 @@ void seta2_state::video_start()
m_raster_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(seta2_state::raster_timer_done), this));
- save_item(NAME(m_private_spriteram));
+ save_pointer(NAME(m_private_spriteram), 0x1000 / 2);
}
VIDEO_START_MEMBER(seta2_state,xoffset)