Commit Graph

27 Commits

Author SHA1 Message Date
David Given
709e300960 More typo fixing. 2021-12-05 17:17:03 +01:00
dg
18d90c44dd Rework the flux decoders to add a desync opcode for separating multiple reads
in a flux stream. Finally add a unit test for the flux decoder.
2021-12-05 14:42:57 +00:00
David Given
13deef3416 Plumb the verifier stuff through the rest of the encoders; fix it to actually
work and not crash, god I hate C++.
2021-07-19 21:46:48 +02:00
David Given
b887bebb26 First largely untested draft of a working verifier. 2021-07-19 00:13:06 +02:00
David Given
084c858446 Fix seg fault when writing non-existent sectors. 2021-07-16 19:55:55 +02:00
David Given
5d889d4d95 Remove Track, which is now obsolete. 2021-07-16 00:00:11 +02:00
David Given
f589e094b2 Remove RawRecord, which is now obsolete. 2021-07-15 23:55:29 +02:00
David Given
2eff798d74 Remove SectorSet, which is now obsolete. 2021-07-15 23:51:02 +02:00
David Given
239cecff9e Convert all the encoders and imagereaders to the new scheme. 2021-07-15 23:43:07 +02:00
David Given
458d0f7a1b Another mahoosive refactor: move away from using protos for the disk output in
favour of pod objects, which allows STL contains. Lots of shared_ptrs
everywhere. Much simpler and more effective code. The reader works with one of
the decoders; still have to do the rest of them and the encoders.
2021-07-15 22:50:29 +02:00
David Given
f1f27ffd33 The protoified reader now builds and runs, although doesn't work properly. 2021-07-11 23:53:50 +02:00
David Given
b423a71b38 Refactor the encoders the same way that's been done for the decoders. 2021-07-11 16:55:18 +02:00
David Given
326969e488 Clean up the Amiga decoder. 2021-07-11 12:34:40 +02:00
David Given
56cbf39d59 Finally make the Amiga encoder work properly. Do some FM/MFM/bits refactoring. 2021-07-05 23:16:03 +02:00
David Given
aed5a02ee1 Remove flag references from the Amiga encoder. 2021-05-28 16:58:28 +02:00
David Given
4ab8b4984d Rename all InputProto and OutputProtos for clarity. 2021-05-15 18:05:53 +02:00
David Given
c8d0950979 Convert the Amiga encoder and decoder to the new system. 2021-05-15 00:06:39 +02:00
David Given
1fd65452c4 Typo fix. 2020-04-08 23:37:08 +02:00
David Given
30646ccb07 Fix an Amiga decoder bug where truncated sectors would be considered valid (the
Amiga checksum algorithm is weak and zero bytes don't contribute to the
checksum).
2020-04-08 23:35:55 +02:00
David Given
a401173f6d Teach the Amiga decoder how many sectors to expect on each track. 2020-03-09 12:54:29 +00:00
David Given
d25f96dd24 The IBM encoder now works well enough that my USB floppy drive thinks the disk
is formatted... but has trouble reading sectors above about 1000. Also remember
that encoding MFM needs to keep one bit of state at all times.
2020-02-14 00:06:51 +01:00
David Given
d0ed5b32f7 Add support for 528-byte sectors. Adjust the post-index gap to (try?) and fit
all the data in one revolution. I think my write clock is a bit slow.
2019-12-14 21:49:31 +01:00
David Given
792cc88192 The Amiga writer now generates valid flux files --- but it looks like the
writer's broken (both the Amiga and the Brother have failed).
2019-12-14 20:44:48 +01:00
David Given
d2f8c27cb6 Add checksum routine. 2019-12-01 09:11:36 +01:00
David Given
eaa3c57425 Non-functional boilerplate of Amiga write support. 2019-12-01 09:07:43 +01:00
David Given
54edff9b94 Amiga disks can now optionally emit the metadata. 2019-08-09 21:04:48 +02:00
David Given
4b07c38782 Mechanical refactor to rearrange the source files into a more pleasing order. 2019-08-06 22:25:11 +02:00