From f3e2e88986d8325b25d3a0b856583a378eb29db3 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Tue, 5 Nov 2019 23:20:20 -0500 Subject: [PATCH] Update explanation of NIB processing. --- Storage/Disk/DiskImage/Formats/NIB.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Storage/Disk/DiskImage/Formats/NIB.cpp b/Storage/Disk/DiskImage/Formats/NIB.cpp index f0c7d2480..6748aefc9 100644 --- a/Storage/Disk/DiskImage/Formats/NIB.cpp +++ b/Storage/Disk/DiskImage/Formats/NIB.cpp @@ -64,11 +64,10 @@ std::shared_ptr<::Storage::Disk::Track> NIB::get_track_at_position(::Storage::Di } // NIB files leave sync bytes implicit and make no guarantees - // about overall track positioning. So the approach taken here - // is to look for the epilogue sequence (which concludes all Apple - // tracks and headers), then treat all following FFs as a sync - // region, then switch back to ordinary behaviour as soon as a - // non-FF appears. + // about overall track positioning. My current best-guess attempt + // is to seek sector prologues then work backwards, inserting sync + // bits into [at most 5] preceding FFs. This is intended to put the + // Disk II into synchronisation just before each sector. std::size_t start_index = 0; std::set sync_starts;