From 4adcb46665d198538e245ac4b9ca71611639c20c Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Wed, 28 Dec 2016 19:51:27 -0500 Subject: [PATCH] Fixed FM-mode CRC generation. --- Components/1770/1770.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Components/1770/1770.cpp b/Components/1770/1770.cpp index afca995dd..fa79d846e 100644 --- a/Components/1770/1770.cpp +++ b/Components/1770/1770.cpp @@ -177,15 +177,23 @@ void WD1770::process_input_bit(int value, unsigned int cycles_since_index_hole) { case Storage::Encodings::MFM::FMIndexAddressMark: token_type = Token::Index; + crc_generator_.reset(); + crc_generator_.add(Storage::Encodings::MFM::MFMIndexAddressByte); break; case Storage::Encodings::MFM::FMIDAddressMark: token_type = Token::ID; + crc_generator_.reset(); + crc_generator_.add(Storage::Encodings::MFM::MFMIDAddressByte); break; case Storage::Encodings::MFM::FMDataAddressMark: token_type = Token::Data; + crc_generator_.reset(); + crc_generator_.add(Storage::Encodings::MFM::MFMDataAddressByte); break; case Storage::Encodings::MFM::FMDeletedDataAddressMark: token_type = Token::DeletedData; + crc_generator_.reset(); + crc_generator_.add(Storage::Encodings::MFM::MFMDeletedDataAddressByte); break; default: break;