From b180f04c877bcb87306c0d6e9337f26890dc092e Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sat, 26 Nov 2016 10:19:10 +0800 Subject: [PATCH] Okay, so this file format wasn't what I hoped it was. It's another hack. Lots of work to do. --- Storage/Disk/Formats/OricMFMDSK.cpp | 4 ++++ Storage/Disk/Formats/OricMFMDSK.hpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Storage/Disk/Formats/OricMFMDSK.cpp b/Storage/Disk/Formats/OricMFMDSK.cpp index aa002fcc4..c522e092f 100644 --- a/Storage/Disk/Formats/OricMFMDSK.cpp +++ b/Storage/Disk/Formats/OricMFMDSK.cpp @@ -49,6 +49,10 @@ std::shared_ptr OricMFMDSK::get_track_at_position(unsigned int head, unsi } fseek(file_, (offset * 6400) + 256, SEEK_SET); + // TODO: upon review, the file format actually seems to omit clock bits. So it's not an MFM capture. + // A consumer must contextually guess when an FB, FC, etc is meant to be a control mark. So turfing + // the data over directly as below isn't correct. + PCMSegment segment; segment.number_of_bits = 6250*8; segment.data.resize(6250); diff --git a/Storage/Disk/Formats/OricMFMDSK.hpp b/Storage/Disk/Formats/OricMFMDSK.hpp index 4cc8c9860..c87bd4d89 100644 --- a/Storage/Disk/Formats/OricMFMDSK.hpp +++ b/Storage/Disk/Formats/OricMFMDSK.hpp @@ -16,7 +16,7 @@ namespace Storage { namespace Disk { /*! - Provies a @c Disk containing an Oric MFM-stype disk image — an MFM bit stream. + Provies a @c Disk containing an Oric MFM-stype disk image — a stream of the MFM data bits with clocks omitted. */ class OricMFMDSK: public Disk, public Storage::FileHolder { public: