Skip to content

Commit 4f4ef2f

Browse files
committed
New DOS encoder up and running
1 parent f77ab81 commit 4f4ef2f

File tree

16 files changed

+399
-420
lines changed

16 files changed

+399
-420
lines changed

Core/Peripherals/Drive/Encoders/AmigaEncoder.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
namespace vamiga::AmigaEncoder {
1717

1818
void
19-
encodeAmigaTrack(MutableByteView track, TrackNr t, ByteView src)
19+
encodeTrack(MutableByteView track, TrackNr t, ByteView src)
2020
{
2121
const isize bsize = 512; // Block size in bytes
2222
const isize ssize = 1088; // MFM sector size in bytes
@@ -30,19 +30,19 @@ encodeAmigaTrack(MutableByteView track, TrackNr t, ByteView src)
3030

3131
// Encode all sectors
3232
for (SectorNr s = 0; s < count; s++)
33-
encodeAmigaSector(track, s * ssize, t, s, src.subspan(s * bsize, bsize));
33+
encodeSector(track, s * ssize, t, s, src.subspan(s * bsize, bsize));
3434

3535
// Compute a debug checksum
3636
if (ADF_DEBUG) fprintf(stderr, "Track %ld checksum = %x\n", t, track.fnv32());
3737
}
3838

3939
void
40-
encodeAmigaSector(MutableByteView track, isize offset, TrackNr t, SectorNr s, ByteView data)
40+
encodeSector(MutableByteView track, isize offset, TrackNr t, SectorNr s, ByteView data)
4141
{
4242
const isize bsize = 512; // Block size in bytes
4343
const isize ssize = 1088; // MFM sector size in bytes
4444

45-
if (ADF_DEBUG) fprintf(stderr, "Encoding sector %ld\n", s);
45+
if (ADF_DEBUG) fprintf(stderr, "Encoding Amiga sector %ld\n", s);
4646
assert(data.size() == bsize);
4747

4848
// Block header layout:
@@ -108,12 +108,12 @@ encodeAmigaSector(MutableByteView track, isize offset, TrackNr t, SectorNr s, By
108108
}
109109

110110
void
111-
decodeAmigaTrack(ByteView track, TrackNr t, MutableByteView dst)
111+
decodeTrack(ByteView track, TrackNr t, MutableByteView dst)
112112
{
113113
const isize bsize = 512; // Block size in bytes
114114
const isize count = (isize)dst.size() / bsize; // Number of sectors to decode
115115

116-
if (ADF_DEBUG) fprintf(stderr, "Decoding track %ld\n", t);
116+
if (ADF_DEBUG) fprintf(stderr, "Decoding Amiga track %ld\n", t);
117117
assert(dst.size() % bsize == 0);
118118

119119
// Find all sectors
@@ -126,17 +126,17 @@ decodeAmigaTrack(ByteView track, TrackNr t, MutableByteView dst)
126126
throw DeviceError(DeviceError::DEV_SEEK_ERR);
127127

128128
auto *secData = dst.data() + s * bsize;
129-
decodeAmigaSector(track, offsets[s], span<u8>(secData, bsize));
129+
decodeSector(track, offsets[s], span<u8>(secData, bsize));
130130
}
131131
}
132132

133133
void
134-
decodeAmigaSector(ByteView track, isize offset, MutableByteView dst)
134+
decodeSector(ByteView track, isize offset, MutableByteView dst)
135135
{
136136
const isize bsize = 512;
137137
assert(dst.size() == bsize);
138138

139-
if (MFM_DEBUG) fprintf(stderr, "Decoding sector at offset %ld\n", offset);
139+
if (MFM_DEBUG) fprintf(stderr, "Decoding Amiga sector at offset %ld\n", offset);
140140

141141
// Skip sync mark + sector header
142142
offset += 4 + 56;

Core/Peripherals/Drive/Encoders/AmigaEncoder.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,11 @@
1414

1515
namespace vamiga::AmigaEncoder {
1616

17-
// using namespace utl;
17+
void encodeTrack(MutableByteView track, TrackNr t, ByteView src);
18+
void encodeSector(MutableByteView track, isize offset, TrackNr t, SectorNr s, ByteView src);
1819

19-
void encodeAmigaTrack(MutableByteView track, TrackNr t, ByteView src);
20-
void encodeAmigaSector(MutableByteView track, isize offset, TrackNr t, SectorNr s, ByteView src);
21-
22-
void decodeAmigaTrack(ByteView track, TrackNr t, MutableByteView dst);
23-
void decodeAmigaSector(ByteView track, isize offset, MutableByteView dst);
20+
void decodeTrack(ByteView track, TrackNr t, MutableByteView dst);
21+
void decodeSector(ByteView track, isize offset, MutableByteView dst);
2422

2523
optional<isize> trySeekSector(ByteView track, SectorNr s, isize offset = 0);
2624
isize seekSector(ByteView track, SectorNr s, isize offset = 0);

0 commit comments

Comments
 (0)