changeset 143:e5487ef04619

Fix infinite loop bug in sprite rendering
author Mike Pavone <pavone@retrodev.com>
date Mon, 31 Dec 2012 18:36:16 -0800
parents b42bcfa09cce
children 177ba1a5af9c
files vdp.c
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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;
 			}