From efa7d659bc61f2e41f9e84aefef0bbbf3b87ba63 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sun, 23 Apr 2023 22:21:22 -0400 Subject: [PATCH] Subsume right erase. --- Components/9918/Implementation/9918.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/Components/9918/Implementation/9918.cpp b/Components/9918/Implementation/9918.cpp index 576e1ae3c..153efe2cb 100644 --- a/Components/9918/Implementation/9918.cpp +++ b/Components/9918/Implementation/9918.cpp @@ -513,6 +513,12 @@ void TMS9918::run_for(const HalfCycles cycles) { } }; + const auto right_blank = [&]() { + if(this->output_pointer_.column == Timing::CyclesPerLine) { + output_blank(Timing::CyclesPerLine - LineLayout::EndOfRightBorder); + } + }; + if(this->draw_line_buffer_->vertical_state != VerticalState::Pixels) { if( this->output_pointer_.row >= this->mode_timing_.first_vsync_line && @@ -525,14 +531,8 @@ void TMS9918::run_for(const HalfCycles cycles) { } } else { left_blank(); - - // Border colour until beginning of right erase. border(LineLayout::EndOfLeftErase, LineLayout::EndOfRightBorder); - - // Right erase. - if(this->output_pointer_.column == Timing::CyclesPerLine) { - output_blank(Timing::CyclesPerLine - LineLayout::EndOfRightBorder); - } + right_blank(); } } else { left_blank(); @@ -585,10 +585,7 @@ void TMS9918::run_for(const HalfCycles cycles) { // Right border. border(this->draw_line_buffer_->next_border_column, LineLayout::EndOfRightBorder); - // Right erase. - if(this->output_pointer_.column == Timing::CyclesPerLine) { - output_blank(Timing::CyclesPerLine - LineLayout::EndOfRightBorder); - } + right_blank(); } #undef border