# HG changeset patch # User Mike Pavone # Date 1379313618 25200 # Node ID 50e0cb475294724f912f4c06e54b6d594316c42c # Parent e128e55710bd7cadf6f2cea3c11ae8895552bf36 Don't allow register writes to regs above when in Mode 4 diff -r e128e55710bd -r 50e0cb475294 vdp.c --- 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) {