diff --git a/Machines/Electron/Electron.cpp b/Machines/Electron/Electron.cpp index ff1f0d75a..ff1b5ab93 100644 --- a/Machines/Electron/Electron.cpp +++ b/Machines/Electron/Electron.cpp @@ -55,6 +55,7 @@ Machine::Machine() : memset(_roms[c], 0xff, 16384); _tape.set_delegate(this); + set_reset_line(true); } void Machine::setup_output(float aspect_ratio) @@ -85,6 +86,7 @@ void Machine::close_output() unsigned int Machine::perform_bus_operation(CPU6502::BusOperation operation, uint16_t address, uint8_t *value) { unsigned int cycles = 1; + set_reset_line(false); if(address < 0x8000) { diff --git a/Processors/6502/CPU6502.hpp b/Processors/6502/CPU6502.hpp index 4e9ff2748..9fe488dae 100644 --- a/Processors/6502/CPU6502.hpp +++ b/Processors/6502/CPU6502.hpp @@ -513,11 +513,6 @@ template class Processor { _carryFlag &= Flag::Carry; _decimalFlag &= Flag::Decimal; _overflowFlag &= Flag::Overflow; - - // TODO: is this accurate? It feels more likely that a CPU would need to wait - // on an explicit reset command, since the relative startup times of different - // components from power on would be a bit unpredictable. - schedule_program(get_reset_program()); } public: