Add soft reset for the Thomson machines.

This commit is contained in:
Thomas Harte committed 2026-05-26 13:55:51 -04:00
1 parent c50afffd5d
commit 0d5dead5f4
2 files changed
+24 -1

No files matched your search

+9 -1
View File
@@ -63,8 +63,9 @@ struct ConcreteMachine:
public MachineTypes::MappedKeyboardMachine,
public MachineTypes::MediaChangeObserver,
public MachineTypes::MediaTarget,
public MachineTypes::TimedMachine,
public MachineTypes::SoftResettable,
public MachineTypes::ScanProducer,
public MachineTypes::TimedMachine,
public Machine,
public Utility::TypeRecipient<Thomson::MO::Keyboard::CharacterMapper>
{
@@ -620,6 +621,13 @@ private:
}
}
// MARK: - Resettable.
void soft_reset() final {
m6809_.template set<CPU::M6809::Line::PowerOnReset>(true);
memory_.reset();
}
// MARK: - MappedKeyboardMachine.
Thomson::MO::Keyboard::KeyboardMapper keyboard_mapper_;
+15
View File
@@ -135,6 +135,21 @@ public:
Memory::Fuzz(video_);
}
void reset() {
page_video(false);
cartridge_page_ = 0;
cartridge_page_ = 0;
rom_page_ = 0;
ram_page_ = 1;
basic_selection_ = false;
b000page_ = B000Page::Empty;
access_mode_ = AccessMode::LightPen;
update_commutable_ram();
update_commutable_rom();
}
// MARK: - ROM installation and connection for video.
void set_rom(const std::vector<uint8_t> &rom) {