diff --git a/Storage/Disk/Encodings/MFM/Shifter.cpp b/Storage/Disk/Encodings/MFM/Shifter.cpp index 2c4437e3b..c0dc25803 100644 --- a/Storage/Disk/Encodings/MFM/Shifter.cpp +++ b/Storage/Disk/Encodings/MFM/Shifter.cpp @@ -24,7 +24,7 @@ void Shifter::set_should_obey_syncs(bool should_obey_syncs) { } void Shifter::add_input_bit(int value) { - shift_register_ = (shift_register_ << 1) | value; + shift_register_ = (shift_register_ << 1) | static_cast(value); bits_since_token_++; token_ = Token::None; diff --git a/Storage/Disk/Encodings/MFM/Shifter.hpp b/Storage/Disk/Encodings/MFM/Shifter.hpp index 54b315b3e..5ceca2edd 100644 --- a/Storage/Disk/Encodings/MFM/Shifter.hpp +++ b/Storage/Disk/Encodings/MFM/Shifter.hpp @@ -40,10 +40,10 @@ class Shifter { private: // Bit stream input state int bits_since_token_ = 0; - int shift_register_ = 0; + unsigned int shift_register_ = 0; bool is_awaiting_marker_value_ = false; - bool should_obey_syncs_; - Token token_; + bool should_obey_syncs_ = true; + Token token_ = None; // input configuration bool is_double_density_ = false;