1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-06-25 18:30:07 +00:00

Subsume right erase.

This commit is contained in:
Thomas Harte 2023-04-23 22:21:22 -04:00
parent 5daec050dd
commit efa7d659bc

View File

@ -513,6 +513,12 @@ void TMS9918<personality>::run_for(const HalfCycles cycles) {
}
};
const auto right_blank = [&]() {
if(this->output_pointer_.column == Timing<personality>::CyclesPerLine) {
output_blank(Timing<personality>::CyclesPerLine - LineLayout<personality>::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<personality>::run_for(const HalfCycles cycles) {
}
} else {
left_blank();
// Border colour until beginning of right erase.
border(LineLayout<personality>::EndOfLeftErase, LineLayout<personality>::EndOfRightBorder);
// Right erase.
if(this->output_pointer_.column == Timing<personality>::CyclesPerLine) {
output_blank(Timing<personality>::CyclesPerLine - LineLayout<personality>::EndOfRightBorder);
}
right_blank();
}
} else {
left_blank();
@ -585,10 +585,7 @@ void TMS9918<personality>::run_for(const HalfCycles cycles) {
// Right border.
border(this->draw_line_buffer_->next_border_column, LineLayout<personality>::EndOfRightBorder);
// Right erase.
if(this->output_pointer_.column == Timing<personality>::CyclesPerLine) {
output_blank(Timing<personality>::CyclesPerLine - LineLayout<personality>::EndOfRightBorder);
}
right_blank();
}
#undef border