Commit Graph

21 Commits

Author SHA1 Message Date
David Given
b1092c7f82 Simplify the decoder class hierarchy. 2019-04-30 21:44:56 +02:00
David Given
1fb67dfe3c Remove stateful decoder and split decoder. 2019-04-30 21:43:25 +02:00
David Given
184e7766f0 Add some helper methods to make decoders easier. Port IBM to the new new
architecture.
2019-04-30 20:45:16 +02:00
David Given
4cc680057e Port the Brother decoder to the new *new* architecture. 2019-04-29 23:28:12 +02:00
David Given
00bae9fba7 Remove the obsolete decoder base classes. 2019-04-28 00:32:32 +02:00
David Given
5f8e0c846c Allow split decoders (into sector record and data record). 2019-04-19 00:55:01 +02:00
David Given
5ce2acdfb4 The new decoder architecture now works, at least for the FB100. All I need now
is to rewrite every single other decoder.
2019-04-18 00:47:28 +02:00
David Given
6e31a9e4ae Refactor so track state is passed around in the Track object. 2019-04-16 22:49:35 +02:00
David Given
7a49ec7819 Moderately crudely hack in routing side information to the decoders; this is
needed by the Victor 9000 decoder to figure out the right clock rate.
2019-04-16 19:50:25 +02:00
David Given
9b59e7025d Add the ability for decoders to specify their own clocks --- necessary for the
Victor 9k. We now have _much_ better decoding for this platform.
2019-04-16 01:13:28 +02:00
David Given
84076674fd Add stateful decoders, which makes formats like the FB-100 much easier to work
with. Add a generic CRC tool allowing all the parameters to be set (currently
unused).
2019-04-12 00:13:56 +02:00
David Given
cf9730fbb3 Splitting by hard sectors works, up to a point; we can correctly decode (with
CRC checking!) most of the Zilog MCS disk. However, we're still stumped by the
extra index hole.
2019-03-09 12:19:28 +01:00
David Given
456791e20c Refactor to use FluxmapReader. 2019-03-09 11:30:50 +01:00
David Given
574d383573 Remove discrete segmenters, instead rolling the logic into Decoders; prepare
for splitting decoders into soft-sector and hard-sector.
2019-03-08 23:57:46 +01:00
David Given
94fb10eb02 Behemoth change to rework everything to use Bytes rather than vectors of
uint8_t. The tests pass, but of course, nothing decodes any more.
2019-03-05 00:10:20 +01:00
David Given
01acc4e5b3 Partially decode the Kryoflux Mac image I have (complete with checksum
checking). The read is very bad, but I don't know whether that's because
there's something wrong I'm doing, or if the Kryoflux image is bad.
2019-02-20 20:46:01 +01:00
David Given
259a02898f Massive refactor to overhaul and simplify the decoder system. Amiga has been
disabled (because it needs rewriting now).
2019-02-19 00:39:13 +01:00
David Given
d60dc37bb8 Refactor the Brother stuff. 2018-12-23 14:35:08 +01:00
David Given
acd2a9c23b Add CRC checking for IBM disks. Weirdly, my 1200kB disk appears to have deleted
sectors (id mark F8) on it, where the checksums don't match. Myserious...
2018-10-22 02:45:18 +02:00
David Given
d7b2505720 You can now decode Brother disks to images. No CRC checking, though. 2018-10-21 19:10:33 +02:00
David Given
8244f9ec51 We can now decode IBM MFM disks all the way to an image, although with no CRC
checking as yet.
2018-10-20 19:25:20 +02:00