changeset 1877:9486236f28ac

Fix sprite rendering regression introduced by H40 line at a time optimization
author Michael Pavone <pavone@retrodev.com>
date Tue, 20 Aug 2019 07:07:31 -0700
parents 96971b673f51
children 881083d76212
files vdp.c
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/vdp.c	Mon Aug 19 19:15:52 2019 -0700
+++ b/vdp.c	Tue Aug 20 07:07:31 2019 -0700
@@ -2522,7 +2522,7 @@
 	context->hscroll_b = context->vdpmem[address+2] << 8 | context->vdpmem[address+3];
 	//printf("%d: HScroll A: %d, HScroll B: %d\n", context->vcounter, context->hscroll_a, context->hscroll_b);
 	//243-246 inclusive
-	for (int i = 0; i < 28; i++)
+	for (int i = 0; i < 3; i++)
 	{
 		render_sprite_cells(context);
 		scan_sprite_table(context->vcounter, context);
@@ -2552,6 +2552,10 @@
 	//250
 	render_sprite_cells(context);
 	scan_sprite_table(context->vcounter, context);
+	//251
+	scan_sprite_table(context->vcounter, context);//Just a guess
+	//252
+	scan_sprite_table(context->vcounter, context);//Just a guess
 	//254
 	render_sprite_cells(context);
 	scan_sprite_table(context->vcounter, context);
@@ -2580,7 +2584,7 @@
 		render_map_output(context->vcounter, col, context);
 	}
 	//sprite rendering phase 2
-	for (int i = 0; i < 40; i++)
+	for (int i = 0; i < MAX_SPRITES_LINE; i++)
 	{
 		read_sprite_x(context->vcounter, context);
 	}