mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
Rename Sector.logicalSector to Sector.physicalSector.
This commit is contained in:
@@ -47,7 +47,7 @@ public:
|
||||
|
||||
_sector->logicalTrack = reversed[1];
|
||||
_sector->logicalSide = 0;
|
||||
_sector->logicalSector = reversed[2];
|
||||
_sector->physicalSector = reversed[2];
|
||||
|
||||
/* Check header 'checksum' (which seems far too simple to mean much). */
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ public:
|
||||
return;
|
||||
|
||||
_sector->logicalTrack = bytes[1] >> 1;
|
||||
_sector->logicalSector = bytes[2];
|
||||
_sector->physicalSector = bytes[2];
|
||||
_sector->logicalSide = bytes[1] & 1;
|
||||
_sector->status = Sector::DATA_MISSING; /* unintuitive but correct */
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
|
||||
_sector->logicalTrack = header[1] >> 1;
|
||||
_sector->logicalSide = header[1] & 1;
|
||||
_sector->logicalSector = header[2];
|
||||
_sector->physicalSector = header[2];
|
||||
|
||||
uint32_t wantedheaderchecksum = amigaDeinterleave(ptr, 4).reader().read_be32();
|
||||
uint32_t gotheaderchecksum = amigaChecksum(rawbytes.slice(0, 40));
|
||||
|
||||
@@ -86,8 +86,8 @@ static void write_sector(std::vector<bool>& bits,
|
||||
checksum = 0;
|
||||
Bytes header = {0xff, /* Amiga 1.0 format byte */
|
||||
(uint8_t)((sector->logicalTrack << 1) | sector->logicalSide),
|
||||
(uint8_t)sector->logicalSector,
|
||||
(uint8_t)(AMIGA_SECTORS_PER_TRACK - sector->logicalSector)};
|
||||
(uint8_t)sector->physicalSector,
|
||||
(uint8_t)(AMIGA_SECTORS_PER_TRACK - sector->physicalSector)};
|
||||
write_interleaved_bytes(header);
|
||||
Bytes recoveryInfo(16);
|
||||
if (sector->data.size() == 528)
|
||||
|
||||
@@ -88,12 +88,12 @@ public:
|
||||
|
||||
uint8_t volume = combine(br.read_be16());
|
||||
_sector->logicalTrack = combine(br.read_be16());
|
||||
_sector->logicalSector = combine(br.read_be16());
|
||||
_sector->physicalSector = combine(br.read_be16());
|
||||
uint8_t checksum = combine(br.read_be16());
|
||||
|
||||
// If the checksum is correct, upgrade the sector from MISSING
|
||||
// to DATA_MISSING in anticipation of its data record
|
||||
if (checksum == (volume ^ _sector->logicalTrack ^ _sector->logicalSector))
|
||||
if (checksum == (volume ^ _sector->logicalTrack ^ _sector->physicalSector))
|
||||
_sector->status = Sector::DATA_MISSING; /* unintuitive but correct */
|
||||
}
|
||||
|
||||
|
||||
@@ -149,15 +149,15 @@ private:
|
||||
//
|
||||
// In standard formatting, the first logical sector apparently gets
|
||||
// extra padding.
|
||||
write_ff40(sector.logicalSector == 0 ? 32 : 8);
|
||||
write_ff40(sector.physicalSector == 0 ? 32 : 8);
|
||||
|
||||
// Write address field: APPLE2_SECTOR_RECORD + sector identifier +
|
||||
// DE AA EB
|
||||
write_bits(APPLE2_SECTOR_RECORD, 24);
|
||||
write_gcr44(volume_id);
|
||||
write_gcr44(sector.logicalTrack);
|
||||
write_gcr44(sector.logicalSector);
|
||||
write_gcr44(volume_id ^ sector.logicalTrack ^ sector.logicalSector);
|
||||
write_gcr44(sector.physicalSector);
|
||||
write_gcr44(volume_id ^ sector.logicalTrack ^ sector.physicalSector);
|
||||
write_bits(0xDEAAEB, 24);
|
||||
|
||||
// Write data syncing leader: FF40 + APPLE2_DATA_RECORD + sector
|
||||
|
||||
@@ -74,11 +74,11 @@ public:
|
||||
|
||||
ByteReader br(bytes);
|
||||
_sector->logicalTrack = decode_header_gcr(br.read_be16());
|
||||
_sector->logicalSector = decode_header_gcr(br.read_be16());
|
||||
_sector->physicalSector = decode_header_gcr(br.read_be16());
|
||||
|
||||
/* Sanity check the values read; there's no header checksum and
|
||||
* occasionally we get garbage due to bit errors. */
|
||||
if (_sector->logicalSector > 11)
|
||||
if (_sector->physicalSector > 11)
|
||||
return;
|
||||
if (_sector->logicalTrack > 79)
|
||||
return;
|
||||
|
||||
@@ -169,7 +169,7 @@ public:
|
||||
|
||||
fillBitmapTo(bits, cursor, headerCursor, {true, false});
|
||||
write_sector_header(
|
||||
bits, cursor, sectorData->logicalTrack, sectorData->logicalSector);
|
||||
bits, cursor, sectorData->logicalTrack, sectorData->physicalSector);
|
||||
fillBitmapTo(bits, cursor, dataCursor, {true, false});
|
||||
write_sector_data(bits, cursor, sectorData->data);
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
const auto& bytes = decode(bits).slice(0, 5);
|
||||
|
||||
uint8_t checksum = bytes[0];
|
||||
_sector->logicalSector = bytes[1];
|
||||
_sector->physicalSector = bytes[1];
|
||||
_sector->logicalSide = 0;
|
||||
_sector->logicalTrack = bytes[2] - 1;
|
||||
if (checksum == xorBytes(bytes.slice(1, 4)))
|
||||
|
||||
@@ -270,7 +270,7 @@ private:
|
||||
* 06-07 - $0F ("off" bytes)
|
||||
*/
|
||||
uint8_t encodedTrack = ((sector->logicalTrack) + 1); // C64 track numbering starts with 1. Fluxengine with 0.
|
||||
uint8_t encodedSector = sector->logicalSector;
|
||||
uint8_t encodedSector = sector->physicalSector;
|
||||
// uint8_t formatByte1 = C64_FORMAT_ID_BYTE1;
|
||||
// uint8_t formatByte2 = C64_FORMAT_ID_BYTE2;
|
||||
uint8_t headerChecksum = (encodedTrack ^ encodedSector ^ _formatByte1 ^ _formatByte2);
|
||||
|
||||
@@ -74,7 +74,7 @@ public:
|
||||
|
||||
const auto& bytes = decode(readRawBits(6*10));
|
||||
|
||||
_sector->logicalSector = bytes[2];
|
||||
_sector->physicalSector = bytes[2];
|
||||
_sector->logicalSide = 0;
|
||||
_sector->logicalTrack = bytes[0];
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
uint8_t abssector = id[2];
|
||||
_sector->logicalTrack = abssector >> 1;
|
||||
_sector->logicalSide = 0;
|
||||
_sector->logicalSector = abssector & 1;
|
||||
_sector->physicalSector = abssector & 1;
|
||||
_sector->data.writer().append(id.slice(5, 12)).append(payload);
|
||||
|
||||
_sector->status = (wantPayloadCrc == gotPayloadCrc) ? Sector::OK : Sector::BAD_CHECKSUM;
|
||||
|
||||
@@ -144,7 +144,7 @@ public:
|
||||
|
||||
_sector->logicalTrack = br.read_8();
|
||||
_sector->logicalSide = br.read_8();
|
||||
_sector->logicalSector = br.read_8();
|
||||
_sector->physicalSector = br.read_8();
|
||||
_currentSectorSize = 1 << (br.read_8() + 7);
|
||||
uint16_t gotCrc = crc16(CCITT_POLY, bytes.slice(0, br.pos));
|
||||
uint16_t wantCrc = br.read_be16();
|
||||
@@ -159,7 +159,7 @@ public:
|
||||
_sector->logicalTrack = _sector->physicalTrack;
|
||||
|
||||
for (int sector : trackdata.ignore_sector())
|
||||
if (_sector->logicalSector == sector)
|
||||
if (_sector->physicalSector == sector)
|
||||
{
|
||||
_sector->status = Sector::MISSING;
|
||||
break;
|
||||
|
||||
@@ -226,7 +226,7 @@ public:
|
||||
bw.write_8(idamUnencoded);
|
||||
bw.write_8(sectorData->logicalTrack);
|
||||
bw.write_8(sectorData->logicalSide);
|
||||
bw.write_8(sectorData->logicalSector);
|
||||
bw.write_8(sectorData->physicalSector);
|
||||
bw.write_8(sectorSize);
|
||||
uint16_t crc = crc16(CCITT_POLY, header);
|
||||
bw.write_be16(crc);
|
||||
|
||||
@@ -157,7 +157,7 @@ public:
|
||||
|
||||
_sector->logicalTrack = _sector->physicalTrack;
|
||||
_sector->logicalSide = decode_side(encodedSide);
|
||||
_sector->logicalSector = encodedSector;
|
||||
_sector->physicalSector = encodedSector;
|
||||
uint8_t gotsum = (encodedTrack ^ encodedSector ^ encodedSide ^ formatByte) & 0x3f;
|
||||
if (wantedsum == gotsum)
|
||||
_sector->status = Sector::DATA_MISSING; /* unintuitive but correct */
|
||||
|
||||
@@ -182,7 +182,7 @@ static void write_sector(std::vector<bool>& bits,
|
||||
write_bits(bits, cursor, MAC_SECTOR_RECORD, 3 * 8);
|
||||
|
||||
uint8_t encodedTrack = sector->logicalTrack & 0x3f;
|
||||
uint8_t encodedSector = sector->logicalSector;
|
||||
uint8_t encodedSector = sector->physicalSector;
|
||||
uint8_t encodedSide =
|
||||
encode_side(sector->logicalTrack, sector->logicalSide);
|
||||
uint8_t formatByte = MAC_FORMAT_BYTE;
|
||||
@@ -198,7 +198,7 @@ static void write_sector(std::vector<bool>& bits,
|
||||
write_bits(bits, cursor, 0xdeaaff, 3 * 8);
|
||||
write_bits(bits, cursor, 0xff3fcff3fcffLL, 6 * 8); /* sync */
|
||||
write_bits(bits, cursor, MAC_DATA_RECORD, 3 * 8);
|
||||
write_bits(bits, cursor, encode_data_gcr(sector->logicalSector), 1 * 8);
|
||||
write_bits(bits, cursor, encode_data_gcr(sector->physicalSector), 1 * 8);
|
||||
|
||||
Bytes wireData;
|
||||
wireData.writer()
|
||||
|
||||
@@ -128,8 +128,8 @@ public:
|
||||
|
||||
_sector->logicalTrack = br.read_8();
|
||||
_sector->logicalSide = _sector->physicalHead;
|
||||
_sector->logicalSector = br.read_8();
|
||||
if (_sector->logicalSector > 15)
|
||||
_sector->physicalSector = br.read_8();
|
||||
if (_sector->physicalSector > 15)
|
||||
return;
|
||||
if (_sector->logicalTrack > 76)
|
||||
return;
|
||||
|
||||
@@ -32,7 +32,7 @@ static void write_sector(std::vector<bool>& bits,
|
||||
micropolisChecksum(sector->data.slice(1, 2 + 266));
|
||||
if (wantChecksum != gotChecksum)
|
||||
std::cerr << "Warning: checksum incorrect. Sector: "
|
||||
<< sector->logicalSector << std::endl;
|
||||
<< sector->physicalSector << std::endl;
|
||||
sectorData = sector->data;
|
||||
}
|
||||
else
|
||||
@@ -40,7 +40,7 @@ static void write_sector(std::vector<bool>& bits,
|
||||
ByteWriter writer(sectorData);
|
||||
writer.write_8(0xff); /* Sync */
|
||||
writer.write_8(sector->logicalTrack);
|
||||
writer.write_8(sector->logicalSector);
|
||||
writer.write_8(sector->physicalSector);
|
||||
for (int i = 0; i < 10; i++)
|
||||
writer.write_8(0); /* Padding */
|
||||
writer += sector->data;
|
||||
|
||||
@@ -67,7 +67,7 @@ public:
|
||||
|
||||
_sector->logicalTrack = _sector->physicalTrack;
|
||||
_sector->logicalSide = _sector->physicalHead;
|
||||
_sector->logicalSector = _currentSector;
|
||||
_sector->physicalSector = _currentSector;
|
||||
_sector->data = bytes.slice(0, SECTOR_SIZE).swab();
|
||||
_sector->status = (gotChecksum == wantChecksum) ? Sector::OK : Sector::BAD_CHECKSUM;
|
||||
_currentSector++;
|
||||
|
||||
@@ -151,7 +151,7 @@ public:
|
||||
ByteReader br(bytes);
|
||||
|
||||
_sector->logicalSide = _sector->physicalHead;
|
||||
_sector->logicalSector = _hardSectorId;
|
||||
_sector->physicalSector = _hardSectorId;
|
||||
_sector->logicalTrack = _sector->physicalTrack;
|
||||
|
||||
if (headerSize == NORTHSTAR_HEADER_SIZE_DD) {
|
||||
|
||||
@@ -90,7 +90,7 @@ static void write_sector(std::vector<bool>& bits,
|
||||
for (uint8_t b : sectorData)
|
||||
fullSector->push_back(b);
|
||||
|
||||
if (sector->logicalSector != 9)
|
||||
if (sector->physicalSector != 9)
|
||||
{
|
||||
/* sector postamble */
|
||||
for (int i = 0; i < gapFillSize; i++)
|
||||
|
||||
@@ -66,7 +66,7 @@ public:
|
||||
_sector->logicalSide = br.read_8() >> 3;
|
||||
_sector->logicalTrack = br.read_8();
|
||||
br.read_8(); /* number of sectors per track */
|
||||
_sector->logicalSector = br.read_8();
|
||||
_sector->physicalSector = br.read_8();
|
||||
br.read_be16(); /* sector size */
|
||||
uint16_t wantChecksum = br.read_be16();
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ public:
|
||||
bw.write_8(sectorData->logicalSide << 3);
|
||||
bw.write_8(sectorData->logicalTrack);
|
||||
bw.write_8(_config.sector_count());
|
||||
bw.write_8(sectorData->logicalSector);
|
||||
bw.write_8(sectorData->physicalSector);
|
||||
bw.write_be16(sectorData->data.size());
|
||||
uint16_t crc = crc16(CCITT_POLY, header);
|
||||
bw.write_be16(crc);
|
||||
|
||||
@@ -76,13 +76,13 @@ public:
|
||||
auto bytes = decode(readRawBits(3*10)).slice(0, 3);
|
||||
|
||||
uint8_t rawTrack = bytes[0];
|
||||
_sector->logicalSector = bytes[1];
|
||||
_sector->physicalSector = bytes[1];
|
||||
uint8_t gotChecksum = bytes[2];
|
||||
|
||||
_sector->logicalTrack = rawTrack & 0x7f;
|
||||
_sector->logicalSide = rawTrack >> 7;
|
||||
uint8_t wantChecksum = bytes[0] + bytes[1];
|
||||
if ((_sector->logicalSector > 20) || (_sector->logicalTrack > 85) || (_sector->logicalSide > 1))
|
||||
if ((_sector->physicalSector > 20) || (_sector->logicalTrack > 85) || (_sector->logicalSide > 1))
|
||||
return;
|
||||
|
||||
if (wantChecksum == gotChecksum)
|
||||
|
||||
@@ -113,7 +113,7 @@ static void write_sector(std::vector<bool>& bits,
|
||||
write_bits(bits, cursor, VICTOR9K_SECTOR_RECORD, 10);
|
||||
|
||||
uint8_t encodedTrack = sector.logicalTrack | (sector.logicalSide << 7);
|
||||
uint8_t encodedSector = sector.logicalSector;
|
||||
uint8_t encodedSector = sector.physicalSector;
|
||||
write_bytes(bits,
|
||||
cursor,
|
||||
Bytes{
|
||||
|
||||
@@ -34,10 +34,10 @@ public:
|
||||
auto bytes = decodeFmMfm(rawbits).slice(0, 140);
|
||||
ByteReader br(bytes);
|
||||
|
||||
_sector->logicalSector = br.read_8() & 0x1f;
|
||||
_sector->physicalSector = br.read_8() & 0x1f;
|
||||
_sector->logicalSide = 0;
|
||||
_sector->logicalTrack = br.read_8() & 0x7f;
|
||||
if (_sector->logicalSector > 31)
|
||||
if (_sector->physicalSector > 31)
|
||||
return;
|
||||
if (_sector->logicalTrack > 80)
|
||||
return;
|
||||
|
||||
@@ -10,7 +10,7 @@ Image::Image(std::set<std::shared_ptr<const Sector>>& sectors)
|
||||
for (auto& sector : sectors)
|
||||
{
|
||||
key_t key = std::make_tuple(
|
||||
sector->logicalTrack, sector->logicalSide, sector->logicalSector);
|
||||
sector->logicalTrack, sector->logicalSide, sector->physicalSector);
|
||||
_sectors[key] = sector;
|
||||
}
|
||||
calculateSize();
|
||||
@@ -66,7 +66,7 @@ std::shared_ptr<Sector> Image::put(
|
||||
std::shared_ptr<Sector> sector = std::make_shared<Sector>();
|
||||
sector->logicalTrack = track;
|
||||
sector->logicalSide = side;
|
||||
sector->logicalSector = sectorid;
|
||||
sector->physicalSector = sectorid;
|
||||
_sectors[key] = sector;
|
||||
return sector;
|
||||
}
|
||||
@@ -100,8 +100,8 @@ void Image::calculateSize()
|
||||
_geometry.numSides =
|
||||
std::max(_geometry.numSides, (unsigned)sector->logicalSide + 1);
|
||||
_geometry.firstSector = std::min(
|
||||
_geometry.firstSector, (unsigned)sector->logicalSector);
|
||||
maxSector = std::max(maxSector, (unsigned)sector->logicalSector);
|
||||
_geometry.firstSector, (unsigned)sector->physicalSector);
|
||||
maxSector = std::max(maxSector, (unsigned)sector->physicalSector);
|
||||
_geometry.sectorSize =
|
||||
std::max(_geometry.sectorSize, (unsigned)sector->data.size());
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
sector->logicalTrack = track;
|
||||
sector->physicalTrack = physicalTrack;
|
||||
sector->logicalSide = sector->physicalHead = head;
|
||||
sector->logicalSector = sectorId;
|
||||
sector->physicalSector = sectorId;
|
||||
sector->data.writer().append(payload);
|
||||
}
|
||||
else
|
||||
@@ -82,7 +82,7 @@ public:
|
||||
sector->logicalTrack = track;
|
||||
sector->physicalTrack = physicalTrack;
|
||||
sector->logicalSide = sector->physicalHead = head;
|
||||
sector->logicalSector = sectorId;
|
||||
sector->physicalSector = sectorId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,7 +200,7 @@ public:
|
||||
sector->logicalTrack = track;
|
||||
sector->physicalTrack = Mapper::remapTrackLogicalToPhysical(track);
|
||||
sector->logicalSide = sector->physicalHead = head;
|
||||
sector->logicalSector = sectorId;
|
||||
sector->physicalSector = sectorId;
|
||||
sector->data = data;
|
||||
|
||||
physical->add_sector(sectorId);
|
||||
|
||||
@@ -89,7 +89,7 @@ public:
|
||||
sector->logicalTrack = track;
|
||||
sector->physicalTrack = Mapper::remapTrackLogicalToPhysical(track);
|
||||
sector->logicalSide = sector->physicalHead = side;
|
||||
sector->logicalSector = sectorId;
|
||||
sector->physicalSector = sectorId;
|
||||
sector->data = data;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ public:
|
||||
sector->logicalTrack = track;
|
||||
sector->physicalTrack = Mapper::remapTrackLogicalToPhysical(track);
|
||||
sector->logicalSide = sector->physicalHead = head;
|
||||
sector->logicalSector = sectorId;
|
||||
sector->physicalSector = sectorId;
|
||||
sector->data.writer().append(payload).append(tag);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ public:
|
||||
sector->logicalTrack = track;
|
||||
sector->physicalTrack = Mapper::remapTrackLogicalToPhysical(track);
|
||||
sector->logicalSide = sector->physicalHead = side;
|
||||
sector->logicalSector = sectorId;
|
||||
sector->physicalSector = sectorId;
|
||||
sector->data = data;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -264,7 +264,7 @@ public:
|
||||
int SectorID;
|
||||
SectorID = sector_skew[s];
|
||||
const auto& sector = image->put(header.track, header.Head, SectorID);
|
||||
sector->logicalSector = SectorID;
|
||||
sector->physicalSector = SectorID;
|
||||
//read the status of the sector
|
||||
unsigned int Status_Sector = br.read_8();
|
||||
headerPtr++;
|
||||
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
sector->physicalTrack =
|
||||
Mapper::remapTrackLogicalToPhysical(track);
|
||||
sector->logicalSide = sector->physicalHead = side;
|
||||
sector->logicalSector = sectorId;
|
||||
sector->physicalSector = sectorId;
|
||||
sector->data = data;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ public:
|
||||
sector->logicalTrack = header.track;
|
||||
sector->physicalTrack = Mapper::remapTrackLogicalToPhysical(header.track);
|
||||
sector->logicalSide = sector->physicalHead = head;
|
||||
sector->logicalSector = header.sector;
|
||||
sector->physicalSector = header.sector;
|
||||
sector->data = data;
|
||||
}
|
||||
|
||||
|
||||
@@ -150,7 +150,7 @@ public:
|
||||
sector->logicalTrack = track;
|
||||
sector->physicalTrack = Mapper::remapTrackLogicalToPhysical(track);
|
||||
sector->logicalSide = sector->physicalHead = head;
|
||||
sector->logicalSector = sectorId;
|
||||
sector->physicalSector = sectorId;
|
||||
sector->data = data;
|
||||
|
||||
physical->add_sector(sectorId);
|
||||
|
||||
@@ -103,7 +103,7 @@ public:
|
||||
sector->logicalTrack = track;
|
||||
sector->physicalTrack = Mapper::remapTrackLogicalToPhysical(track);
|
||||
sector->logicalSide = sector->physicalHead = head;
|
||||
sector->logicalSector = sectorId;
|
||||
sector->physicalSector = sectorId;
|
||||
sector->data = data;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ public:
|
||||
ByteWriter sectorWriter(sectorBytes);
|
||||
sectorWriter.write_8(sector->logicalTrack);
|
||||
sectorWriter.write_8(sector->logicalSide);
|
||||
sectorWriter.write_8(sector->logicalSector);
|
||||
sectorWriter.write_8(sector->physicalSector);
|
||||
sectorWriter.write_8(24 - countl_zero(uint32_t(sector->data.size())));
|
||||
sectorWriter.write_le16(sectors.size());
|
||||
sectorWriter.write_8(0x00); // always write mfm
|
||||
|
||||
@@ -109,7 +109,7 @@ void ImageWriter::writeCsv(const Image& image, const std::string& filename)
|
||||
sector->physicalHead,
|
||||
sector->logicalTrack,
|
||||
sector->logicalSide,
|
||||
sector->logicalSector,
|
||||
sector->physicalSector,
|
||||
sector->clock,
|
||||
sector->headerStartTime,
|
||||
sector->headerEndTime,
|
||||
|
||||
@@ -120,7 +120,7 @@ std::string Logger::toString(const AnyLogMessage& message)
|
||||
stream << fmt::format(" {}.{}.{}{}",
|
||||
sector->logicalTrack,
|
||||
sector->logicalSide,
|
||||
sector->logicalSector,
|
||||
sector->physicalSector,
|
||||
Sector::statusToChar(sector->status));
|
||||
|
||||
stream << '\n';
|
||||
|
||||
@@ -65,15 +65,15 @@ static std::unique_ptr<Image> remapImpl(const Image& source,
|
||||
destSectors.insert(sector);
|
||||
else
|
||||
{
|
||||
auto it = trackdata.find(sector->logicalSector);
|
||||
auto it = trackdata.find(sector->physicalSector);
|
||||
if (it == trackdata.end())
|
||||
Error() << fmt::format(
|
||||
"mapping requested but mapping table has no entry for "
|
||||
"sector {}",
|
||||
sector->logicalSector);
|
||||
sector->physicalSector);
|
||||
|
||||
auto newSector = std::make_shared<Sector>(*sector);
|
||||
newSector->logicalSector = it->second;
|
||||
newSector->physicalSector = it->second;
|
||||
destSectors.insert(newSector);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ static std::set<std::shared_ptr<const Sector>> collectSectors(
|
||||
for (const auto& sector : track_sectors)
|
||||
{
|
||||
key_t sectorid = {
|
||||
sector->logicalTrack, sector->logicalSide, sector->logicalSector};
|
||||
sector->logicalTrack, sector->logicalSide, sector->physicalSector};
|
||||
sectors.insert({sectorid, sector});
|
||||
}
|
||||
|
||||
@@ -166,7 +166,7 @@ BadSectorsState combineRecordAndSectors(
|
||||
for (unsigned logical_sector : decoder.requiredSectors(trackFlux.location))
|
||||
{
|
||||
auto sector = std::make_shared<Sector>(location);
|
||||
sector->logicalSector = logical_sector;
|
||||
sector->physicalSector = logical_sector;
|
||||
sector->status = Sector::MISSING;
|
||||
track_sectors.insert(sector);
|
||||
}
|
||||
@@ -344,14 +344,14 @@ void writeTracksAndVerify(FluxSink& fluxSink,
|
||||
wanted
|
||||
.put(sector->logicalTrack,
|
||||
sector->logicalSide,
|
||||
sector->logicalSector)
|
||||
sector->physicalSector)
|
||||
->data = sector->data;
|
||||
|
||||
for (const auto& sector : trackFlux->sectors)
|
||||
{
|
||||
const auto s = wanted.get(sector->logicalTrack,
|
||||
sector->logicalSide,
|
||||
sector->logicalSector);
|
||||
sector->physicalSector);
|
||||
if (!s)
|
||||
{
|
||||
Logger() << "spurious sector on verify";
|
||||
@@ -364,7 +364,7 @@ void writeTracksAndVerify(FluxSink& fluxSink,
|
||||
}
|
||||
wanted.erase(sector->logicalTrack,
|
||||
sector->logicalSide,
|
||||
sector->logicalSector);
|
||||
sector->physicalSector);
|
||||
}
|
||||
if (!wanted.empty())
|
||||
{
|
||||
@@ -533,7 +533,7 @@ std::shared_ptr<const DiskFlux> readDiskCommand(
|
||||
"status {}\n",
|
||||
sector->logicalTrack,
|
||||
sector->logicalSide,
|
||||
sector->logicalSector,
|
||||
sector->physicalSector,
|
||||
sector->headerStartTime / 1000.0,
|
||||
sector->clock / 1000.0,
|
||||
Sector::statusToString(sector->status));
|
||||
|
||||
@@ -40,7 +40,7 @@ public:
|
||||
unsigned physicalHead = 0;
|
||||
unsigned logicalTrack = 0;
|
||||
unsigned logicalSide = 0;
|
||||
unsigned logicalSector = 0;
|
||||
unsigned physicalSector = 0;
|
||||
Bytes data;
|
||||
std::vector<std::shared_ptr<Record>> records;
|
||||
|
||||
@@ -51,7 +51,7 @@ public:
|
||||
std::tuple<int, int, int, Status> key() const
|
||||
{
|
||||
return std::make_tuple(
|
||||
logicalTrack, logicalSide, logicalSector, status);
|
||||
logicalTrack, logicalSide, physicalSector, status);
|
||||
}
|
||||
|
||||
bool operator==(const Sector& rhs) const
|
||||
|
||||
@@ -132,7 +132,7 @@ private:
|
||||
auto trackdata = readAndDecodeTrack(*_fluxSource, *_decoder, location);
|
||||
|
||||
for (const auto& sector : trackdata->sectors)
|
||||
*_loadedSectors.put(track, side, sector->logicalSector) = *sector;
|
||||
*_loadedSectors.put(track, side, sector->physicalSector) = *sector;
|
||||
_loadedTracks.insert(trackid_t(track, side));
|
||||
}
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ void visualiseSectorsToFile(const Image& image, const std::string& filename)
|
||||
for (const auto& sector : image)
|
||||
{
|
||||
if ((sector->physicalHead == side) && (sector->physicalTrack == physicalTrack)
|
||||
&& (sector->logicalSector == alignWithSector))
|
||||
&& (sector->physicalSector == alignWithSector))
|
||||
{
|
||||
offset = sector->headerStartTime;
|
||||
if (!offset)
|
||||
@@ -196,7 +196,7 @@ static void readRow(const std::vector<std::string>& row, Image& image)
|
||||
sector->physicalHead = std::stoi(row[1]);
|
||||
sector->logicalTrack = logicalTrack;
|
||||
sector->logicalSide = logicalSide;
|
||||
sector->logicalSector = logicalSector;
|
||||
sector->physicalSector = logicalSector;
|
||||
sector->clock = std::stod(row[5]);
|
||||
sector->headerStartTime = std::stod(row[6]);
|
||||
sector->headerEndTime = std::stod(row[7]);
|
||||
|
||||
@@ -237,7 +237,7 @@ void FluxViewerControl::OnPaint(wxPaintEvent&)
|
||||
wxDCClipper clipper(dc, rect);
|
||||
|
||||
auto text = fmt::format("c{}.h{}.s{} {}",
|
||||
sector->logicalTrack, sector->logicalSide, sector->logicalSector,
|
||||
sector->logicalTrack, sector->logicalSide, sector->physicalSector,
|
||||
Sector::statusToString(sector->status));
|
||||
auto size = dc.GetTextExtent(text);
|
||||
dc.DrawText(text, { x+sp+BORDER, t1y - size.GetHeight()/2 });
|
||||
@@ -438,7 +438,7 @@ void FluxViewerControl::DisplayDecodedData(std::shared_ptr<const Sector> sector)
|
||||
std::stringstream s;
|
||||
|
||||
auto title = fmt::format("User data for c{}.h{}.s{}",
|
||||
sector->logicalTrack, sector->logicalSide, sector->logicalSector);
|
||||
sector->logicalTrack, sector->logicalSide, sector->physicalSector);
|
||||
s << title << '\n';
|
||||
dumpSectorMetadata(s, sector);
|
||||
s << '\n';
|
||||
@@ -453,7 +453,7 @@ void FluxViewerControl::DisplayRawData(std::shared_ptr<const Sector> sector)
|
||||
std::stringstream s;
|
||||
|
||||
auto title = fmt::format("Raw data for c{}.h{}.s{}",
|
||||
sector->logicalTrack, sector->logicalSide, sector->logicalSector);
|
||||
sector->logicalTrack, sector->logicalSide, sector->physicalSector);
|
||||
s << title << '\n';
|
||||
dumpSectorMetadata(s, sector);
|
||||
s << fmt::format("Number of records: {}\n", sector->records.size());
|
||||
|
||||
Reference in New Issue
Block a user