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) {