dg
dcfcc6271c
Sort out a whole bunch of other things, including cleaning up the way the
...
verification source is handled.
2023-05-12 23:28:25 +00:00
dg
7e9a1268a5
Add an extremely prototype version of the Smaky decoder.
2022-11-23 21:44:40 +00:00
David Given
201fd22861
Roll requiredSectors into readerwriter.cc.
2022-09-16 00:26:02 +02:00
David Given
d0fb85e712
Rename all the remaining layout and location variables to trackInfo (where
...
appropriate).
2022-09-16 00:20:54 +02:00
David Given
81cbd00cc8
Rename Track to TrackInfo, which better describes what it is.
2022-09-16 00:09:39 +02:00
David Given
4a565b5ea0
Split the Layout class.
2022-09-16 00:07:22 +02:00
David Given
82f61eee12
Eliminate Location in favour of Layout.
2022-09-15 23:52:07 +02:00
David Given
9a8fc80220
Massive overhaul of how the physical/logical layout mapping is done, to make it
...
more consistent and bidirectional everywhere and just generally better.
Hopefully this fixes that pesky 1581 problem.
2022-09-15 20:23:33 +02:00
David Given
1267191e8e
Abstract is for Java.
2022-09-12 23:52:24 +02:00
David Given
d303067deb
Massive refactor to work in logical cylinders everywhere. The logical/physical
...
mapping is now done at the last stage and should, ideally, be automatic. I'm
sure there are bugs everywhere.
2022-03-25 00:22:28 +01:00
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