From 69b99fe127d519f9aa1e4be50b4f216df6c56e06 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Mon, 31 Jul 2017 22:04:52 -0400 Subject: [PATCH] Transferred ownership of the CRT to the CRTC bus handler, to give it easy access. --- Machines/AmstradCPC/AmstradCPC.cpp | 10 +++++----- Machines/AmstradCPC/AmstradCPC.hpp | 9 +++++---- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Machines/AmstradCPC/AmstradCPC.cpp b/Machines/AmstradCPC/AmstradCPC.cpp index 40b554b27..a9c33348f 100644 --- a/Machines/AmstradCPC/AmstradCPC.cpp +++ b/Machines/AmstradCPC/AmstradCPC.cpp @@ -124,20 +124,20 @@ void Machine::set_rom(ROMType type, std::vector data) { } void Machine::setup_output(float aspect_ratio) { - crt_.reset(new Outputs::CRT::CRT(256, 1, Outputs::CRT::DisplayType::PAL50, 1)); - crt_->set_rgb_sampling_function( + crtc_bus_handler_.crt_.reset(new Outputs::CRT::CRT(256, 1, Outputs::CRT::DisplayType::PAL50, 1)); + crtc_bus_handler_.crt_->set_rgb_sampling_function( "vec3 rgb_sample(usampler2D sampler, vec2 coordinate, vec2 icoordinate)" "{" - "return vec3(1.0);" + "return vec3(float(texture(texID, coordinate).r) / 255.0);" "}"); } void Machine::close_output() { - crt_.reset(); + crtc_bus_handler_.crt_.reset(); } std::shared_ptr Machine::get_crt() { - return crt_; + return crtc_bus_handler_.crt_; } std::shared_ptr Machine::get_speaker() { diff --git a/Machines/AmstradCPC/AmstradCPC.hpp b/Machines/AmstradCPC/AmstradCPC.hpp index 540151a6f..9584cf285 100644 --- a/Machines/AmstradCPC/AmstradCPC.hpp +++ b/Machines/AmstradCPC/AmstradCPC.hpp @@ -25,8 +25,11 @@ enum ROMType: uint8_t { }; struct CRTCBusHandler { - inline void perform_bus_cycle(const Motorola::CRTC::BusState &state) { - } + public: + inline void perform_bus_cycle(const Motorola::CRTC::BusState &state) { + } + + std::shared_ptr crt_; }; class Machine: @@ -52,8 +55,6 @@ class Machine: void set_rom(ROMType type, std::vector data); private: - std::shared_ptr crt_; - CRTCBusHandler crtc_bus_handler_; Motorola::CRTC::CRTC6845 crtc_;