# HG changeset patch # User Mike Pavone # Date 1357007776 28800 # Node ID e5487ef04619b99952e47f4160172257d34b9a12 # Parent b42bcfa09cce54740f1cf072a5759c6bd9588346 Fix infinite loop bug in sprite rendering diff -r b42bcfa09cce -r e5487ef04619 vdp.c --- a/vdp.c Mon Dec 31 18:22:25 2012 -0800 +++ b/vdp.c Mon Dec 31 18:36:16 2012 -0800 @@ -51,7 +51,7 @@ } //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; }