From c46007332a3f71b63260bbf6179ed19806db6654 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Thu, 17 May 2018 20:18:34 -0400 Subject: [PATCH] Switches to returning the shift register contents on every even read. --- Components/DiskII/DiskII.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Components/DiskII/DiskII.cpp b/Components/DiskII/DiskII.cpp index 76cea2486..8669829fd 100644 --- a/Components/DiskII/DiskII.cpp +++ b/Components/DiskII/DiskII.cpp @@ -247,15 +247,19 @@ uint8_t DiskII::trigger_address(int address, uint8_t value) { case 0xa: select_drive(0); break; case 0xb: select_drive(1); break; - case 0xc: return get_shift_register(); + case 0xc: + inputs_ &= ~input_command; + break; case 0xd: set_data_register(value); break; case 0xe: set_mode(Mode::Read); - return shift_register_; + break; +// return shift_register_; case 0xf: set_mode(Mode::Write); break; } - return 0xff; + set_controller_can_sleep(); + return (address & 1) ? 0xff : shift_register_; } void DiskII::set_activity_observer(Activity::Observer *observer) {