1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-04 18:29:40 +00:00

Solidifies belief that the shift register bit is cleared on read/write.

This commit is contained in:
Thomas Harte 2019-07-08 16:45:15 -04:00
parent 793c2df7ee
commit 245e27c893

View File

@ -92,6 +92,7 @@ template <typename T> void MOS6522<T>::set_register(int address, uint8_t value)
registers_.shift = value;
shift_bits_remaining_ = 8;
registers_.interrupt_flags &= ~InterruptFlag::ShiftRegister;
reevaluate_interrupts();
break;
// Control
@ -189,6 +190,8 @@ template <typename T> uint8_t MOS6522<T>::get_register(int address) {
case 0xa:
shift_bits_remaining_ = 8;
registers_.interrupt_flags &= ~InterruptFlag::ShiftRegister;
reevaluate_interrupts();
return registers_.shift;
case 0xb: return registers_.auxiliary_control;