Merge pull request #1819 from TomHarte/DisplayOptions

Add S-Video and RGB output to the CoCo.
This commit is contained in:
Thomas Harte authored and GitHub committed 2026-05-14 09:32:51 -04:00
commit 4460c8ea6e
3 files changed
+21 -2

No files matched your search

+11 -1
View File
@@ -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<Reflection::Struct> get_options() const final {
auto options = std::make_unique<Options>(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<Reflection::Struct> &str) final {
const auto options = dynamic_cast<Options *>(str.get());
allow_fast_tape_loading_ = options->quick_load;
set_video_signal_configurable(options->output);
}
// MARK: - Activity Source.
+9
View File
@@ -23,11 +23,19 @@ struct Machine {
class Options:
public Reflection::StructImpl<Options>,
public Configurable::Options::Display<Options>,
public Configurable::Options::QuickLoad<Options>
{
friend Configurable::Options::Display<Options>;
friend Configurable::Options::QuickLoad<Options>;
public:
Options(const Configurable::OptionsType type) :
Configurable::Options::Display<Options>(
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<Options>(
type == Configurable::OptionsType::UserFriendly) {}
@@ -36,6 +44,7 @@ struct Machine {
friend Reflection::StructImpl<Options>;
void declare_fields() {
declare_display_option();
declare_quickload_option();
}
};
@@ -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";