mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-21 20:29:06 +00:00
Introduce a CRT.
This commit is contained in:
parent
389ba95e5a
commit
0eab6146fc
@ -230,11 +230,12 @@ public:
|
||||
private:
|
||||
CPU::MOS6502::Processor<CPU::MOS6502::Personality::P6502, ConcreteMachine, true> m6502_;
|
||||
|
||||
void set_scan_target(Outputs::Display::ScanTarget *const) final {
|
||||
void set_scan_target(Outputs::Display::ScanTarget *const target) final {
|
||||
video_.set_scan_target(target);
|
||||
}
|
||||
|
||||
Outputs::Display::ScanStatus get_scaled_scan_status() const final {
|
||||
return {};
|
||||
return video_.get_scaled_scan_status();
|
||||
}
|
||||
|
||||
void run_for(const Cycles cycles) final {
|
||||
|
@ -9,11 +9,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "../../../Numeric/UpperBound.hpp"
|
||||
#include "../../../Outputs/CRT/CRT.hpp"
|
||||
|
||||
namespace Commodore::Plus4 {
|
||||
|
||||
struct Video {
|
||||
public:
|
||||
Video() : crt_(465, 1, Outputs::Display::Type::PAL50, Outputs::Display::InputDataType::Luminance8Phase8) {}
|
||||
|
||||
template <uint16_t address>
|
||||
void write(const uint8_t value) {
|
||||
const auto load_high10 = [&](uint16_t &target) {
|
||||
@ -218,7 +221,17 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void set_scan_target(Outputs::Display::ScanTarget *const target) {
|
||||
crt_.set_scan_target(target);
|
||||
}
|
||||
|
||||
Outputs::Display::ScanStatus get_scaled_scan_status() const {
|
||||
return crt_.get_scaled_scan_status();
|
||||
}
|
||||
|
||||
private:
|
||||
Outputs::CRT::CRT crt_;
|
||||
|
||||
bool extended_colour_mode_ = false;
|
||||
bool bitmap_mode_ = false;
|
||||
bool display_enable_ = false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user