diff --git a/Machines/Tandy/CoCo/CoCo.cpp b/Machines/Tandy/CoCo/CoCo.cpp index 96934df98..af64a733f 100644 --- a/Machines/Tandy/CoCo/CoCo.cpp +++ b/Machines/Tandy/CoCo/CoCo.cpp @@ -810,7 +810,15 @@ private: } Outputs::Display::ScanStatus get_scaled_scan_status() const final { - return m6847_.get()->get_scaled_scan_status() / 2.0; + return m6847_.get()->get_scaled_scan_status() / 4.0; + } + + void set_display_type(Outputs::Display::DisplayType display_type) final { + m6847_.get()->set_display_type(display_type); + } + + Outputs::Display::DisplayType get_display_type() const final { + return m6847_.get()->get_display_type(); } // MARK: - MappedKeyboardMachine. @@ -887,12 +895,14 @@ private: std::unique_ptr get_options() const final { auto options = std::make_unique(Configurable::OptionsType::UserFriendly); options->quick_load = allow_fast_tape_loading_; + options->output = get_video_signal_configurable(); return options; } void set_options(const std::unique_ptr &str) final { const auto options = dynamic_cast(str.get()); allow_fast_tape_loading_ = options->quick_load; + set_video_signal_configurable(options->output); } // MARK: - Activity Source. diff --git a/Machines/Tandy/CoCo/CoCo.hpp b/Machines/Tandy/CoCo/CoCo.hpp index 6b022d280..5b25ec4fc 100644 --- a/Machines/Tandy/CoCo/CoCo.hpp +++ b/Machines/Tandy/CoCo/CoCo.hpp @@ -23,11 +23,19 @@ struct Machine { class Options: public Reflection::StructImpl, + public Configurable::Options::Display, public Configurable::Options::QuickLoad { + friend Configurable::Options::Display; friend Configurable::Options::QuickLoad; public: Options(const Configurable::OptionsType type) : + Configurable::Options::Display( + Configurable::Display::CompositeColour // Some games use artefact colour; therefore a composite display + // is not only most accurate but also most user-friendly in not + // requiring further configuration should the user play one + // of those. + ), Configurable::Options::QuickLoad( type == Configurable::OptionsType::UserFriendly) {} @@ -36,6 +44,7 @@ struct Machine { friend Reflection::StructImpl; void declare_fields() { + declare_display_option(); declare_quickload_option(); } }; diff --git a/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser.mm b/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser.mm index 0618c2976..bd0990c62 100644 --- a/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser.mm +++ b/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser.mm @@ -662,7 +662,7 @@ static Analyser::Static::ZX8081::Target::MemoryModel ZX8081MemoryModelFromSize(K case Analyser::Machine::Oric: return @"OricOptions"; case Analyser::Machine::Plus4: return @"QuickLoadCompositeOptions"; case Analyser::Machine::PCCompatible: return @"CompositeOptions"; - case Analyser::Machine::TandyCoCo: return @"QuickLoadOptions"; + case Analyser::Machine::TandyCoCo: return @"QuickLoadCompositeOptions"; case Analyser::Machine::ThomsonMO: return @"QuickLoadOptions"; case Analyser::Machine::Vic20: return @"QuickLoadCompositeOptions"; case Analyser::Machine::ZX8081: return @"ZX8081Options";