1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-11-24 13:17:41 +00:00

Implement MediaChangeObserver for the consoles.

This commit is contained in:
Thomas Harte
2025-02-25 23:03:45 -05:00
parent 4b19a3f4ed
commit 1f6f30ae9e
3 changed files with 27 additions and 12 deletions

View File

@@ -80,14 +80,15 @@ class Joystick: public Inputs::ConcreteJoystick {
template <Analyser::Static::Sega::Target::Model model> class ConcreteMachine:
public Machine,
public CPU::Z80::BusHandler,
public MachineTypes::TimedMachine,
public MachineTypes::ScanProducer,
public MachineTypes::AudioProducer,
public MachineTypes::KeyboardMachine,
public MachineTypes::JoystickMachine,
public Configurable::Device,
public Inputs::Keyboard::Delegate {
public CPU::Z80::BusHandler,
public Inputs::Keyboard::Delegate,
public MachineTypes::AudioProducer,
public MachineTypes::JoystickMachine,
public MachineTypes::KeyboardMachine,
public MachineTypes::MediaChangeObserver,
public MachineTypes::ScanProducer,
public MachineTypes::TimedMachine {
public:
ConcreteMachine(const Analyser::Static::Sega::Target &target, const ROMMachine::ROMFetcher &rom_fetcher) :
@@ -180,6 +181,10 @@ template <Analyser::Static::Sega::Target::Model model> class ConcreteMachine:
audio_queue_.flush();
}
ChangeEffect effect_for_file_did_change(const std::string &) const final {
return ChangeEffect::RestartMachine;
}
void set_scan_target(Outputs::Display::ScanTarget *scan_target) final {
vdp_.last_valid()->set_tv_standard(
(region_ == Target::Region::Europe) ?