From 7ab652159449b59bd5a4958094545c27287cac5e Mon Sep 17 00:00:00 2001 From: angelosa Date: Thu, 4 Jan 2024 21:35:43 +0100 Subject: amiga/amiga_v.cpp: ensure sprites gets updated once per effective scanline, fix stuck vertical stripe in kickoff & swordsod --- src/mame/amiga/amiga_m.cpp | 2 +- src/mame/amiga/amiga_v.cpp | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/mame/amiga/amiga_m.cpp b/src/mame/amiga/amiga_m.cpp index 042802cb56d..eff150e7dec 100644 --- a/src/mame/amiga/amiga_m.cpp +++ b/src/mame/amiga/amiga_m.cpp @@ -1403,7 +1403,7 @@ void amiga_state::custom_chip_w(offs_t offset, uint16_t data) return; case REG_DSKDAT: - popmessage("DSKDAT W %04x, contact MAMEdev",data); + popmessage("DSKDAT W %04x",data); break; case REG_DSKSYNC: diff --git a/src/mame/amiga/amiga_v.cpp b/src/mame/amiga/amiga_v.cpp index d47dbf2d3a3..98bf0d3c01c 100644 --- a/src/mame/amiga/amiga_v.cpp +++ b/src/mame/amiga/amiga_v.cpp @@ -518,13 +518,16 @@ void amiga_state::render_scanline(bitmap_rgb32 &bitmap, int scanline) } } + /* update sprite data fetching */ + // ensure this happens once every two scanlines for the RAM manipulation, kickoff cares + // this is also unaffected by LACE + if ((scanline & 1) == 0) + update_sprite_dma(scanline >> 1); + scanline /= 2; m_last_scanline = scanline; - /* update sprite data fetching */ - update_sprite_dma(scanline); - /* all sprites off at the start of the line */ memset(m_sprite_remain, 0, sizeof(m_sprite_remain)); -- cgit v1.2.3