changeset 191:1b4d856b067a

Fixes for direct color dma stuff
author Mike Pavone <pavone@retrodev.com>
date Mon, 14 Jan 2013 20:23:17 -0800
parents 4cb8a3891e26
children 1db07e112bf7
files vdp.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/vdp.c	Mon Jan 14 02:13:14 2013 -0800
+++ b/vdp.c	Mon Jan 14 20:23:17 2013 -0800
@@ -915,8 +915,10 @@
 	} else {
 		linecyc = linecyc/20;
 		//TODO: Figure out which slots are refresh when display is off in 32-cell mode
+		//These numbers are guesses based on H40 numbers
+		return (linecyc == 24 || linecyc == 56 || linecyc == 88 || linecyc == 120 || linecyc == 152 || (linecyc < 5 && (context->flags & FLAG_DMA_RUN) && ((context->dma_cd & 0xF) == CRAM_WRITE)));
 		//The numbers below are the refresh slots during active display
-		return (linecyc == 66 || linecyc == 98 || linecyc == 130 || linecyc == 162);
+		//return (linecyc == 66 || linecyc == 98 || linecyc == 130 || linecyc == 162);
 	}
 }
 
@@ -937,7 +939,7 @@
 			linecyc /= 20;
 			if (linecyc >= 43 && linecyc < 171) {
 				uint32_t x = (linecyc-43)*2;
-				start = context->framebuf + line * 256 + x;
+				start = context->framebuf + line * 320 + x;
 				end = start + 2;
 			}
 		}