changeset 475:50e0cb475294

Don't allow register writes to regs above when in Mode 4
author Mike Pavone <pavone@retrodev.com>
date Sun, 15 Sep 2013 23:40:18 -0700
parents e128e55710bd
children 5d7bc113653b
files vdp.c
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/vdp.c	Sun Sep 15 23:33:24 2013 -0700
+++ b/vdp.c	Sun Sep 15 23:40:18 2013 -0700
@@ -1477,7 +1477,7 @@
 		if ((value & 0xC000) == 0x8000) {
 			//Register write
 			uint8_t reg = (value >> 8) & 0x1F;
-			if (reg < VDP_REGS) {
+			if (reg < (context->regs[REG_MODE_2] & BIT_MODE_5 ? VDP_REGS : 0xA)) {
 				//printf("register %d set to %X\n", reg, value & 0xFF);
 				context->regs[reg] = value;
 				if (reg == REG_MODE_2) {