comparison vdp.c @ 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
comparison
equal deleted inserted replaced
474:e128e55710bd 475:50e0cb475294
1475 } 1475 }
1476 } else { 1476 } else {
1477 if ((value & 0xC000) == 0x8000) { 1477 if ((value & 0xC000) == 0x8000) {
1478 //Register write 1478 //Register write
1479 uint8_t reg = (value >> 8) & 0x1F; 1479 uint8_t reg = (value >> 8) & 0x1F;
1480 if (reg < VDP_REGS) { 1480 if (reg < (context->regs[REG_MODE_2] & BIT_MODE_5 ? VDP_REGS : 0xA)) {
1481 //printf("register %d set to %X\n", reg, value & 0xFF); 1481 //printf("register %d set to %X\n", reg, value & 0xFF);
1482 context->regs[reg] = value; 1482 context->regs[reg] = value;
1483 if (reg == REG_MODE_2) { 1483 if (reg == REG_MODE_2) {
1484 //printf("Display is now %s\n", (context->regs[REG_MODE_2] & DISPLAY_ENABLE) ? "enabled" : "disabled"); 1484 //printf("Display is now %s\n", (context->regs[REG_MODE_2] & DISPLAY_ENABLE) ? "enabled" : "disabled");
1485 } 1485 }