mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-07 05:30:30 +00:00
Solidifies belief that the shift register bit is cleared on read/write.
This commit is contained in:
parent
793c2df7ee
commit
245e27c893
@ -92,6 +92,7 @@ template <typename T> void MOS6522<T>::set_register(int address, uint8_t value)
|
|||||||
registers_.shift = value;
|
registers_.shift = value;
|
||||||
shift_bits_remaining_ = 8;
|
shift_bits_remaining_ = 8;
|
||||||
registers_.interrupt_flags &= ~InterruptFlag::ShiftRegister;
|
registers_.interrupt_flags &= ~InterruptFlag::ShiftRegister;
|
||||||
|
reevaluate_interrupts();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Control
|
// Control
|
||||||
@ -189,6 +190,8 @@ template <typename T> uint8_t MOS6522<T>::get_register(int address) {
|
|||||||
|
|
||||||
case 0xa:
|
case 0xa:
|
||||||
shift_bits_remaining_ = 8;
|
shift_bits_remaining_ = 8;
|
||||||
|
registers_.interrupt_flags &= ~InterruptFlag::ShiftRegister;
|
||||||
|
reevaluate_interrupts();
|
||||||
return registers_.shift;
|
return registers_.shift;
|
||||||
|
|
||||||
case 0xb: return registers_.auxiliary_control;
|
case 0xb: return registers_.auxiliary_control;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user