David Given
eade2e279e
Make the internal disk data structures all const, to allow us to pass them to
...
the GUI UI thread safely.
2022-02-24 22:46:10 +01:00
David Given
f2bdd1cc49
More work on the logger overhaul: the reader should be done now.
2022-02-19 22:48:44 +01:00
David Given
03dd9e6e83
Add back support for capturing raw records.
2022-02-12 15:16:25 +01:00
David Given
e8d1c90182
Fix, hopefully, the rest of the decoders.
2022-02-12 15:02:42 +01:00
David Given
0933dc1afa
Partially complete rework of all the decoders to avoid seeking inside the
...
fluxmap. This requires resetting the FluxDecoder, which loses any pending
state, resulting in bad reads for (some) formats which don't have gaps between
sectors --- the DVK MX is the main victim.
2022-02-12 00:55:09 +01:00
David Given
3d1ee7a43e
Don't spin in an infinite loop if the decoder tries to find a data record and
...
the matcher fails to find anything, leaving the seek point unchanged.
2021-12-10 19:56:00 +00:00
David Given
2cbe39e553
Fix bugs to make the IBM decoder work again.
2021-11-26 21:17:58 +01:00
David Given
20ade1de7b
Replace the flux decoder with a PLL-based one stolen from samdisk. It almost
...
works.
2021-11-25 00:00:51 +01: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
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
4a2e09e8eb
Merge from master.
2021-07-11 17:38:09 +02:00
David Given
4b3fada646
Archival checkin (WIP).
2021-07-11 17:36:42 +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
5a186b6960
Rename all protos to end with 'Proto' to avoid name conflicts.
2021-05-13 18:05:08 +02:00
David Given
f9510c54b2
Split the encoder/decoder configuration away from inputs and outputs. Make the
...
test pattern creator a flux source.
2021-05-13 17:23:06 +02:00
David Given
323da8272a
Hopefully add support for giving the reader a set of required sectors, so if
...
one is missing then we can tell and the track can be reread.
2020-02-21 22:14:44 +01: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
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
d0a864c052
Merge.
2019-07-03 23:20:07 +02:00
David Given
032df676c1
Replace meson with a very small shell script.
2019-07-03 22:18:34 +02:00
David Given
3ee31b96a4
Add the prototype MX decoder.
2019-07-02 00:40:38 +02:00
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