1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-10-25 09:27:01 +00:00

Adds the necessary routine for all machines to be able to respond to get_scan_status.

They all just as the CRT, as all are currently based on the CRT. Which doesn't currently know the total clock rate it would need to in order properly to scale the answer to the question. Further thought coming.
This commit is contained in:
Thomas Harte
2020-01-20 21:45:10 -05:00
parent e74f37d6ed
commit d97a073d1b
37 changed files with 151 additions and 1 deletions

View File

@@ -60,6 +60,13 @@ void MultiCRTMachine::set_scan_target(Outputs::Display::ScanTarget *scan_target)
if(crt_machine) crt_machine->set_scan_target(scan_target);
}
Outputs::Display::ScanStatus MultiCRTMachine::get_scan_status() const {
CRTMachine::Machine *const crt_machine = machines_.front()->crt_machine();
if(crt_machine) crt_machine->get_scan_status();
return Outputs::Display::ScanStatus();
}
Outputs::Speaker::Speaker *MultiCRTMachine::get_speaker() {
return speaker_;
}

View File

@@ -54,6 +54,7 @@ class MultiCRTMachine: public CRTMachine::Machine {
// Below is the standard CRTMachine::Machine interface; see there for documentation.
void set_scan_target(Outputs::Display::ScanTarget *scan_target) override;
Outputs::Display::ScanStatus get_scan_status() const override;
Outputs::Speaker::Speaker *get_speaker() override;
void run_for(Time::Seconds duration) override;