diff --git a/Machines/Sinclair/ZXSpectrum/Video.hpp b/Machines/Sinclair/ZXSpectrum/Video.hpp index a82ea61dd..4bb96d883 100644 --- a/Machines/Sinclair/ZXSpectrum/Video.hpp +++ b/Machines/Sinclair/ZXSpectrum/Video.hpp @@ -390,6 +390,11 @@ template class Video { crt_.set_display_type(type); } + /*! Gets the display type. */ + Outputs::Display::DisplayType get_display_type() const { + return crt_.get_display_type(); + } + private: int time_into_frame_ = 0; Outputs::CRT::CRT crt_; diff --git a/Machines/Sinclair/ZXSpectrum/ZXSpectrum.cpp b/Machines/Sinclair/ZXSpectrum/ZXSpectrum.cpp index 2632f5295..1a2f4ed0f 100644 --- a/Machines/Sinclair/ZXSpectrum/ZXSpectrum.cpp +++ b/Machines/Sinclair/ZXSpectrum/ZXSpectrum.cpp @@ -224,6 +224,10 @@ template class ConcreteMachine: video_->set_display_type(display_type); } + Outputs::Display::DisplayType get_display_type() const override { + return video_->get_display_type(); + } + // MARK: - BusHandler. forceinline HalfCycles perform_machine_cycle(const CPU::Z80::PartialMachineCycle &cycle) { @@ -643,6 +647,7 @@ template class ConcreteMachine: auto options = std::make_unique(Configurable::OptionsType::UserFriendly); // OptionsType is arbitrary, but not optional. options->automatic_tape_motor_control = use_automatic_tape_motor_control_; options->quickload = allow_fast_tape_hack_; + options->output = get_video_signal_configurable(); return options; }