mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-25 16:31:42 +00:00
Fix accidental skew, off-by-one end of line.
This commit is contained in:
parent
276809f76a
commit
e5ff4c65b7
@ -225,11 +225,6 @@ template <class BusHandlerT, Personality personality, CursorType cursor_type> cl
|
|||||||
// Horizontal.
|
// Horizontal.
|
||||||
//
|
//
|
||||||
|
|
||||||
// Check for end of visible characters.
|
|
||||||
if(character_counter_ == layout_.horizontal.displayed) {
|
|
||||||
character_is_visible_ = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update horizontal sync.
|
// Update horizontal sync.
|
||||||
if(bus_state_.hsync) {
|
if(bus_state_.hsync) {
|
||||||
++hsync_counter_;
|
++hsync_counter_;
|
||||||
@ -238,8 +233,6 @@ template <class BusHandlerT, Personality personality, CursorType cursor_type> cl
|
|||||||
if(character_counter_ == layout_.horizontal.start_sync) {
|
if(character_counter_ == layout_.horizontal.start_sync) {
|
||||||
hsync_counter_ = 0;
|
hsync_counter_ = 0;
|
||||||
bus_state_.hsync = true;
|
bus_state_.hsync = true;
|
||||||
|
|
||||||
printf("Row:%d line:%d refresh:%04x; eom:%d eof:%d newf:%d\n", bus_state_.row_address, row_counter_, bus_state_.refresh_address, eom_latched_, eof_latched_, new_frame);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check for end-of-line.
|
// Check for end-of-line.
|
||||||
@ -250,6 +243,11 @@ template <class BusHandlerT, Personality personality, CursorType cursor_type> cl
|
|||||||
character_counter_++;
|
character_counter_++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check for end of visible characters.
|
||||||
|
if(character_counter_ == layout_.horizontal.displayed) {
|
||||||
|
character_is_visible_ = false;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// End-of-frame.
|
// End-of-frame.
|
||||||
//
|
//
|
||||||
@ -298,7 +296,6 @@ template <class BusHandlerT, Personality personality, CursorType cursor_type> cl
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(vsync_counter_ == layout_.vertical.sync_lines) {
|
if(vsync_counter_ == layout_.vertical.sync_lines) {
|
||||||
printf("\n\n===\n");
|
|
||||||
bus_state_.vsync = false;
|
bus_state_.vsync = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -307,12 +304,6 @@ template <class BusHandlerT, Personality personality, CursorType cursor_type> cl
|
|||||||
// Addressing.
|
// Addressing.
|
||||||
//
|
//
|
||||||
|
|
||||||
if(new_frame) {
|
|
||||||
line_address_ = layout_.start_address;
|
|
||||||
} else if(character_counter_ == layout_.horizontal.displayed && row_end_hit) {
|
|
||||||
line_address_ = bus_state_.refresh_address;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(new_frame) {
|
if(new_frame) {
|
||||||
bus_state_.refresh_address = layout_.start_address;
|
bus_state_.refresh_address = layout_.start_address;
|
||||||
} else if(character_total_hit) {
|
} else if(character_total_hit) {
|
||||||
@ -320,6 +311,12 @@ template <class BusHandlerT, Personality personality, CursorType cursor_type> cl
|
|||||||
} else {
|
} else {
|
||||||
bus_state_.refresh_address = (bus_state_.refresh_address + 1) & RefreshMask;
|
bus_state_.refresh_address = (bus_state_.refresh_address + 1) & RefreshMask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(new_frame) {
|
||||||
|
line_address_ = layout_.start_address;
|
||||||
|
} else if(character_counter_ == layout_.horizontal.displayed && row_end_hit) {
|
||||||
|
line_address_ = bus_state_.refresh_address;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user