changeset 1152:ddbb61be6119

Fix to pass a couple more tests in VDPTEST.sms
author Michael Pavone <pavone@retrodev.com>
date Wed, 04 Jan 2017 23:01:58 -0800
parents 681e8a13b261
children 2e3ad914bad3
files vdp.c
diffstat 1 files changed, 2 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/vdp.c	Wed Jan 04 22:48:00 2017 -0800
+++ b/vdp.c	Wed Jan 04 23:01:58 2017 -0800
@@ -2177,7 +2177,7 @@
 	} else {
 		uint8_t mode_5 = context->regs[REG_MODE_2] & BIT_MODE_5;
 		context->address = (context->address &0xC000) | (value & 0x3FFF);
-		//Genesis Plus GX doesn't clear out the mode bits in Mode 4, but instead
+		//Genesis Plus GX doesn't clear out the upper mode bits in Mode 4, but instead
 		//ignores the uppper mode bits when it comes to reads/writes
 		//testing on hardware is needed to determine which is truly correct
 		context->cd = (mode_5 ? context->cd &0x3C : 0) | (value >> 14);
@@ -2388,10 +2388,7 @@
 		//Should this happen after the prefetch or after the read?
 		increment_address(context);
 	}
-	context->cd &= ~1;
-	if (context->cd == VRAM_READ) {
-		context->cd = VRAM_READ8;
-	}
+	context->cd = VRAM_READ8;
 	return context->prefetch;
 }