1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-07 08:28:57 +00:00

A stab in the dark: does the IOLC inhibit also affect vector fetches?

This commit is contained in:
Thomas Harte 2020-12-29 20:53:56 -05:00
parent e0b36c9c3d
commit 12784a71e2

View File

@ -237,9 +237,10 @@ class ConcreteMachine:
static uint64_t total = 0;
bool is_1Mhz = false;
if(operation == CPU::WDC65816::BusOperation::ReadVector) {
if(operation == CPU::WDC65816::BusOperation::ReadVector && !(memory_.get_shadow_register()&0x40)) {
// I think vector pulls always go to ROM?
// That's slightly implied in the documentation, and doing so makes GS/OS boot, so...
// TODO: but is my guess above re: not doing that if IOLC shadowing is disabled correct?
*value = rom_[rom_.size() - 65536 + address];
} else if(region.flags & MemoryMap::Region::IsIO) {
// Ensure classic auxiliary and language card accesses have effect.
@ -789,7 +790,8 @@ class ConcreteMachine:
// operation == CPU::WDC65816::BusOperation::ReadOpcode ? " [*]" : "");
// }
if(operation == CPU::WDC65816::BusOperation::ReadOpcode) {
log = (address >= 0xff6cdc) && (address < 0xff6d43);
// log = (address >= 0xff6cdc) && (address < 0xff6d43);
log = (address >= 0x00d300) && (address < 0x00d600);
}
// log &= !((operation == CPU::WDC65816::BusOperation::ReadOpcode) && ((address < 0xff6a2c) || (address >= 0xff6a9c)));
if(log) {