Merge pull request #1847 from TomHarte/OricReset

Add Oric reset button.
This commit is contained in:
Thomas Harte authored and GitHub committed 2026-05-27 22:50:54 -04:00
commit bb6df5db28
1 file changed
+17 -10
+17 -10
View File
@@ -268,20 +268,21 @@ private:
};
template <Analyser::Static::Oric::Target::DiskInterface disk_interface, CPU::MOS6502Esque::Type processor_type> class ConcreteMachine:
public MachineTypes::TimedMachine,
public MachineTypes::ScanProducer,
public MachineTypes::AudioProducer,
public MachineTypes::JoystickMachine,
public MachineTypes::MediaTarget,
public MachineTypes::MappedKeyboardMachine,
public Activity::Source,
public Configurable::Device,
public CPU::MOS6502::BusHandler,
public MOS::MOS6522::IRQDelegatePortHandler::Delegate,
public Storage::Tape::BinaryTapePlayer::Delegate,
public DiskController::Delegate,
public Activity::Source,
public Keyboard::SpecialKeyHandler,
public Machine,
public Keyboard::SpecialKeyHandler {
public MachineTypes::AudioProducer,
public MachineTypes::JoystickMachine,
public MachineTypes::MappedKeyboardMachine,
public MachineTypes::MediaTarget,
public MachineTypes::ScanProducer,
public MachineTypes::SoftResettable,
public MachineTypes::TimedMachine,
public MOS::MOS6522::IRQDelegatePortHandler::Delegate,
public Storage::Tape::BinaryTapePlayer::Delegate {
public:
ConcreteMachine(const Analyser::Static::Oric::Target &target, const ROMMachine::ROMFetcher &rom_fetcher) :
@@ -628,6 +629,12 @@ public:
m6502_.run_for(cycles);
}
void soft_reset() final {
// Toggle the NMI line; it's edge activated.
m6502_.set_nmi_line(true);
m6502_.set_nmi_line(false);
}
// to satisfy MOS::MOS6522IRQDelegate::Delegate
void mos6522_did_change_interrupt_status(void *) final {
set_interrupt_line();