summaryrefslogtreecommitdiff
path: root/vdp.c
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2012-12-31 18:36:16 -0800
committerMike Pavone <pavone@retrodev.com>2012-12-31 18:36:16 -0800
commited93bc41a2bcf262913a151a537a153d1cd8275e (patch)
treefd874ef2b99e5096c38ad7291057f7f9e62326f8 /vdp.c
parentf3454d9c212d324cfb78000ab3a468e653c190b2 (diff)
Fix infinite loop bug in sprite rendering
Diffstat (limited to 'vdp.c')
-rw-r--r--vdp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/vdp.c b/vdp.c
index 045192f..f6176a5 100644
--- a/vdp.c
+++ b/vdp.c
@@ -51,7 +51,7 @@ void render_sprite_cells(vdp_context * context)
}
//printf("Draw Slot %d of %d, Rendering sprite cell from %X to x: %d\n", context->cur_slot, context->sprite_draws, d->address, x);
context->cur_slot--;
- for (uint16_t address = d->address; address < d->address+4; address++) {
+ for (uint16_t address = d->address; address != ((d->address+4) & 0xFFFF); address++) {
if (x >= 0 && x < 320 && !(context->linebuf[x] & 0xF)) {
context->linebuf[x] = (context->vdpmem[address] >> 4) | d->pal_priority;
}