diff --git a/Storage/Disk/Encodings/MFM/SegmentParser.cpp b/Storage/Disk/Encodings/MFM/SegmentParser.cpp index 5943fbb0b..8fd0c3810 100644 --- a/Storage/Disk/Encodings/MFM/SegmentParser.cpp +++ b/Storage/Disk/Encodings/MFM/SegmentParser.cpp @@ -56,7 +56,7 @@ std::map Storage::Encodings::MFM:: case 2: new_sector->address.sector = shifter.get_byte(); ++position; break; case 3: new_sector->size = shifter.get_byte(); - size = static_cast(128 << new_sector->size); + size = static_cast(128 << (new_sector->size&7)); ++position; is_reading = false; shifter.set_should_obey_syncs(true);