amiga/amiga_v.cpp: ensure sprites gets updated once per effective scanline, fix stuck vertical stripe in kickoff & swordsod

This commit is contained in:
angelosa 2024-01-04 21:35:43 +01:00
parent 87c0e06926
commit 7ab6521594
2 changed files with 7 additions and 4 deletions

View File

@ -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:

View File

@ -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));