From d1c861d3a5d6bb2a86b840c3f2ed0d8f7c33220b Mon Sep 17 00:00:00 2001 From: Thomas Harte <thomas.harte@gmail.com> Date: Sun, 18 Sep 2016 21:09:32 -0400 Subject: [PATCH] That should be that, I hope. --- Storage/Disk/Formats/SSD.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Storage/Disk/Formats/SSD.cpp b/Storage/Disk/Formats/SSD.cpp index 11ccd0a34..bd5655495 100644 --- a/Storage/Disk/Formats/SSD.cpp +++ b/Storage/Disk/Formats/SSD.cpp @@ -59,10 +59,22 @@ std::shared_ptr<Track> SSD::get_track_at_position(unsigned int head, unsigned in long file_offset = (position * (_head_count ? 2 : 1) + head) * 256 * 10; fseek(_file, file_offset, SEEK_SET); -// std::vector< + std::vector<Storage::Encodings::MFM::Sector> sectors; for(int sector = 0; sector < 10; sector++) { + Storage::Encodings::MFM::Sector new_sector; + new_sector.track = (uint8_t)position; + new_sector.side = 0; + new_sector.sector = (uint8_t)sector; + + new_sector.data.resize(256); + fread(&new_sector.data[0], 1, 256, _file); + if(feof(_file)) break; + + sectors.push_back(std::move(new_sector)); } + if(sectors.size()) return Storage::Encodings::MFM::GetFMTrackWithSectors(sectors); + return track; }