1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-03 11:30:02 +00:00

Don't clear the mouse data full flag until both registers have been read.

This commit is contained in:
Thomas Harte 2021-02-23 21:57:02 -05:00
parent e6dc39f6f0
commit 6cf9099ce1

View File

@ -74,10 +74,13 @@ uint8_t GLU::get_mouse_data() {
// b7: 1 = button is up; 0 = button is down.
// b6: delta sign bit; 1 = negative.
// b5b0: mouse delta.
status_ &= ~uint8_t(CPUFlags::MouseDataFull);
const uint8_t result = registers_[visible_mouse_register_];
visible_mouse_register_ += (visible_mouse_register_ == 2);
if(visible_mouse_register_ == 2) {
++visible_mouse_register_;
} else {
status_ &= ~uint8_t(CPUFlags::MouseDataFull);
}
return result;
}