diff --git a/Machines/Oric/BD500.cpp b/Machines/Oric/BD500.cpp index 777aa4d7a..e8c3df0b7 100644 --- a/Machines/Oric/BD500.cpp +++ b/Machines/Oric/BD500.cpp @@ -20,7 +20,7 @@ void BD500::write(int address, uint8_t value) { access(address); if(address >= 0x0320 && address <= 0x0323) { - if(address == 0x320) printf("Command %02x\n", value); +// if(address == 0x320) printf("Command %02x\n", value); WD::WD1770::write(address, value); } } @@ -49,7 +49,7 @@ void BD500::access(int address) { case 0x317: disable_basic_rom_ = false; break; // Could be 0x311. default: - printf("Switch %04x???\n", address); +// printf("Switch %04x???\n", address); break; } diff --git a/Machines/Oric/Oric.cpp b/Machines/Oric/Oric.cpp index ba04c4a3f..7f6323d2c 100644 --- a/Machines/Oric/Oric.cpp +++ b/Machines/Oric/Oric.cpp @@ -244,7 +244,16 @@ template class Co speaker_.set_input_rate(1000000.0f); via_port_handler_.set_interrupt_delegate(this); tape_player_.set_delegate(this); + + // Slight hack here: I'm unclear what RAM should look like at startup. + // Actually, I think completely random might be right since the Microdisc + // sort of assumes it, but also the BD-500 never explicitly sets PAL mode + // so I can't have any switch-to-NTSC bytes in the display area. Hence: + // disallow all atributes. Memory::Fuzz(ram_, sizeof(ram_)); + for(size_t c = 0; c < sizeof(ram_); ++c) { + ram_[c] &= ~0x40; + } if constexpr (disk_interface == DiskInterface::Pravetz) { diskii_.set_clocking_hint_observer(this);