Skip to content

Commit 4609405

Browse files
committed
konami/hexion.cpp: Fixed tile invalidation range when 16-byte clear is not four-byte aligned.
1 parent c43a83b commit 4609405

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/mame/konami/hexion.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,11 +255,11 @@ void hexion_state::bankswitch_w(uint8_t data)
255255
else
256256
{
257257
const uint8_t bank = m_pmcram[4] & 1;
258-
const uint16_t offset = get_u16le(&m_pmcram[2]);
258+
const unsigned offset = get_u16le(&m_pmcram[2]);
259259
for (int i = 0; 16 > i; ++i)
260260
m_vram[bank][(offset + i) & 0x1fff] = 0;
261-
for (int i = 0; 4 > i; ++i)
262-
m_bg_tilemap[bank]->mark_tile_dirty(((offset >> 2) + i) & 0x07ff);
261+
for (unsigned i = offset & ~3U; (offset + 16) > i; i += 4)
262+
m_bg_tilemap[bank]->mark_tile_dirty((i >> 2) & 0x07ff);
263263
}
264264
}
265265

0 commit comments

Comments
 (0)