diff --git a/lib/fluxmap.cc b/lib/fluxmap.cc index 93a72336..90ff8a6c 100644 --- a/lib/fluxmap.cc +++ b/lib/fluxmap.cc @@ -4,7 +4,7 @@ Fluxmap& Fluxmap::appendIntervals(std::vector& intervals) { - return appendIntervals(&_intervals[0], _intervals.size()); + return appendIntervals(&intervals[0], intervals.size()); } Fluxmap& Fluxmap::appendIntervals(const uint8_t* ptr, size_t len) diff --git a/lib/image.cc b/lib/image.cc index e2d213d9..20b98b04 100644 --- a/lib/image.cc +++ b/lib/image.cc @@ -1,40 +1,40 @@ -#include "globals.h" -#include "image.h" -#include "fmt/format.h" -#include -#include -#include - -void writeSectorsToFile(const std::vector>& sectors, const std::string& filename) -{ - /* Count the tracks, sides and sectors. */ - - int trackCount = 0; - int sideCount = 0; - int sectorCount = 0; - size_t sectorSize = 0; - for (auto& sector : sectors) - { - trackCount = std::max(sector->track()+1, trackCount); - sideCount = std::max(sector->side()+1, sideCount); - sectorCount = std::max(sector->sector()+1, sectorCount); - sectorSize = std::max(sector->data().size(), sectorSize); - } - - size_t sideSize = sectorCount * sectorSize; - size_t trackSize = sideSize * sideCount; - - std::cout << fmt::format("{} tracks, {} sides, {} sectors, {} bytes per sector, {} kB total", - trackCount, sideCount, sectorCount, sectorSize, - trackCount * sideCount * sectorCount * sectorSize / 1024); - - std::ofstream outputFile(filename, std::ios::out | std::ios::binary); - if (!outputFile.is_open()) - Error() << "cannot open output file"; - - for (auto& sector : sectors) - { - outputFile.seekp(sector->track()*trackSize + sector->side()*sideSize + sector->sector()*sectorSize, std::ios::beg); - outputFile.write((const char*) §or->data().at(0), sector->data().size()); - } -} +#include "globals.h" +#include "image.h" +#include "fmt/format.h" +#include +#include +#include + +void writeSectorsToFile(const std::vector>& sectors, const std::string& filename) +{ + /* Count the tracks, sides and sectors. */ + + int trackCount = 0; + int sideCount = 0; + int sectorCount = 0; + size_t sectorSize = 0; + for (auto& sector : sectors) + { + trackCount = std::max(sector->track()+1, trackCount); + sideCount = std::max(sector->side()+1, sideCount); + sectorCount = std::max(sector->sector()+1, sectorCount); + sectorSize = std::max(sector->data().size(), sectorSize); + } + + size_t sideSize = sectorCount * sectorSize; + size_t trackSize = sideSize * sideCount; + + std::cout << fmt::format("{} tracks, {} sides, {} sectors, {} bytes per sector, {} kB total", + trackCount, sideCount, sectorCount, sectorSize, + trackCount * sideCount * sectorCount * sectorSize / 1024); + + std::ofstream outputFile(filename, std::ios::out | std::ios::binary); + if (!outputFile.is_open()) + Error() << "cannot open output file"; + + for (auto& sector : sectors) + { + outputFile.seekp(sector->track()*trackSize + sector->side()*sideSize + sector->sector()*sectorSize, std::ios::beg); + outputFile.write((const char*) §or->data().at(0), sector->data().size()); + } +} diff --git a/lib/reader.cc b/lib/reader.cc index 1d491721..82858104 100644 --- a/lib/reader.cc +++ b/lib/reader.cc @@ -56,7 +56,6 @@ void Track::forceReread() void CapturedTrack::reallyRead() { - usbSeek(track); _fluxmap = usbRead(side, revolutions); }