diff --git a/Machines/AmstradCPC/AmstradCPC.cpp b/Machines/AmstradCPC/AmstradCPC.cpp index c8e7da431..95ce484d0 100644 --- a/Machines/AmstradCPC/AmstradCPC.cpp +++ b/Machines/AmstradCPC/AmstradCPC.cpp @@ -339,7 +339,7 @@ class CRTCBusHandler { "uint sample = texture(texID, coordinate).r;" "return vec3(float((sample >> 4) & 3u), float((sample >> 2) & 3u), float(sample & 3u)) / 2.0;" "}"); - crt_->set_visible_area(Outputs::CRT::Rect(0.1072f, 0.08f, 0.875f, 0.875f)); + crt_->set_visible_area(Outputs::CRT::Rect(0.1072f, 0.1f, 0.842105263157895f, 0.842105263157895f)); crt_->set_video_signal(Outputs::CRT::VideoSignal::RGB); } diff --git a/Machines/AppleII/Video.cpp b/Machines/AppleII/Video.cpp index b190e72a0..552bad130 100644 --- a/Machines/AppleII/Video.cpp +++ b/Machines/AppleII/Video.cpp @@ -23,7 +23,7 @@ VideoBase::VideoBase() : // Show only the centre 75% of the TV frame. crt_->set_video_signal(Outputs::CRT::VideoSignal::Composite); - crt_->set_visible_area(Outputs::CRT::Rect(0.115f, 0.117f, 0.77f, 0.77f)); + crt_->set_visible_area(Outputs::CRT::Rect(0.115f, 0.122f, 0.77f, 0.77f)); crt_->set_immediate_default_phase(0.0f); } diff --git a/Machines/Electron/Video.cpp b/Machines/Electron/Video.cpp index ab0c23b00..445b2f4aa 100644 --- a/Machines/Electron/Video.cpp +++ b/Machines/Electron/Video.cpp @@ -62,7 +62,7 @@ VideoOutput::VideoOutput(uint8_t *memory) : ram_(memory) { std::unique_ptr bookender(new FourBPPBookender); crt_->set_bookender(std::move(bookender)); // TODO: as implied below, I've introduced a clock's latency into the graphics pipeline somehow. Investigate. - crt_->set_visible_area(crt_->get_rect_for_area(first_graphics_line - 3, 256, (first_graphics_cycle+1) * crt_cycles_multiplier, 80 * crt_cycles_multiplier, 4.0f / 3.0f)); + crt_->set_visible_area(crt_->get_rect_for_area(first_graphics_line - 1, 256, (first_graphics_cycle+1) * crt_cycles_multiplier, 80 * crt_cycles_multiplier, 4.0f / 3.0f)); } // MARK: - CRT getter diff --git a/Machines/Oric/Video.cpp b/Machines/Oric/Video.cpp index 600bb4cc4..9022e14a5 100644 --- a/Machines/Oric/Video.cpp +++ b/Machines/Oric/Video.cpp @@ -42,7 +42,7 @@ VideoOutput::VideoOutput(uint8_t *memory) : crt_->set_composite_function_type(Outputs::CRT::CRT::CompositeSourceType::DiscreteFourSamplesPerCycle, 0.0f); set_video_signal(Outputs::CRT::VideoSignal::Composite); - crt_->set_visible_area(crt_->get_rect_for_area(53, 224, 16 * 6, 40 * 6, 4.0f / 3.0f)); + crt_->set_visible_area(crt_->get_rect_for_area(54, 224, 16 * 6, 40 * 6, 4.0f / 3.0f)); } void VideoOutput::set_video_signal(Outputs::CRT::VideoSignal video_signal) { diff --git a/Outputs/CRT/CRT.cpp b/Outputs/CRT/CRT.cpp index 4b8e678d8..3535f33ab 100644 --- a/Outputs/CRT/CRT.cpp +++ b/Outputs/CRT/CRT.cpp @@ -19,7 +19,7 @@ void CRT::set_new_timing(unsigned int cycles_per_line, unsigned int height_of_di openGL_output_builder_.set_colour_format(colour_space, colour_cycle_numerator, colour_cycle_denominator); const unsigned int millisecondsHorizontalRetraceTime = 7; // source: Dictionary of Video and Television Technology, p. 234 - const unsigned int scanlinesVerticalRetraceTime = 10; // source: ibid + const unsigned int scanlinesVerticalRetraceTime = 8; // source: ibid // To quote: //