From 6e4832f99927a14fb0f76e20753f2a5607b134d6 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sun, 6 Jun 2021 22:43:53 -0400 Subject: [PATCH] Ensures Oric honours absence of the colour ROM. --- Machines/Oric/Video.cpp | 3 ++- Machines/Oric/Video.hpp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Machines/Oric/Video.cpp b/Machines/Oric/Video.cpp index 30fe2f805..b14aab6b1 100644 --- a/Machines/Oric/Video.cpp +++ b/Machines/Oric/Video.cpp @@ -54,7 +54,7 @@ void VideoOutput::set_display_type(Outputs::Display::DisplayType display_type) { #ifdef SUPPLY_COMPOSITE const auto data_type = - (display_type == Outputs::Display::DisplayType::RGB) ? + (!has_colour_rom_ || display_type == Outputs::Display::DisplayType::RGB) ? Outputs::Display::InputDataType::Red1Green1Blue1 : Outputs::Display::InputDataType::PhaseLinkedLuminance8; #else @@ -80,6 +80,7 @@ Outputs::Display::ScanStatus VideoOutput::get_scaled_scan_status() const { } void VideoOutput::set_colour_rom(const std::vector &rom) { + has_colour_rom_ = true; for(std::size_t c = 0; c < 8; c++) { colour_forms_[c] = 0; diff --git a/Machines/Oric/Video.hpp b/Machines/Oric/Video.hpp index 59181526d..bfd4df537 100644 --- a/Machines/Oric/Video.hpp +++ b/Machines/Oric/Video.hpp @@ -37,6 +37,7 @@ class VideoOutput { Outputs::CRT::CRT crt_; Outputs::CRT::CRTFrequencyMismatchWarner frequency_mismatch_warner_; bool crt_is_60Hz_ = false; + bool has_colour_rom_ = false; void update_crt_frequency();