David Given
fc2655ecd6
Rework the bytecode format to use a much simplified setup: a six-bit timer with
...
the top two bits reserved for pulse and index state. This is actually smaller,
bandwidth-wise, than the old version, and may be smaller than the crunched
version.
2020-03-14 18:58:43 +00: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
a8eca06cf0
Don't hang if we hit the end of stream while waiting for a data record.
2020-01-27 23:09:29 +01:00
David Given
91ffcf59c3
When reading data records, retry if we get an UNKNOWN record to work the
...
occasional false positive (which happens now and again with MFM).
2020-01-27 01:15:14 +01:00
David Given
9dc1067032
Add --dump-sectors. Sector positions are recorded correctly.
2020-01-26 18:30:35 +01:00
David Given
6af80d1e5e
Improve some messaging. A data record is always pushed, even if it's empty (to
...
help debugging).
2020-01-26 17:49:12 +01:00
David Given
0c48897814
Add a minimum clock threshold.
2020-01-26 17:48:33 +01:00
David Given
4475e9f085
Increase the default bit-error-threshold to 0.4, because that's the value I
...
almost always end up using.
2019-12-14 21:33:39 +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
b9a53e0d1c
First draft of the visualiser.
2019-08-27 01:07:57 +02: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
a1c207cb8f
First milestone towards flags rewrite --- it builds and the tests pass, but
...
nothing actually works.
2019-07-02 23:06:40 +02:00
David Given
3ee31b96a4
Add the prototype MX decoder.
2019-07-02 00:40:38 +02:00
David Given
196f2bfd7e
Cygwin doesn't have ffsll.
2019-04-30 22:56:15 +02:00
David Given
0f56cd25e9
Warning fix.
2019-04-30 22:27:07 +02:00
David Given
27fb17b9b5
Move the clock guesser stuff into fe-inspect.
2019-04-30 21:55:44 +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
9971dbd2c7
Update Mac to the new new architecture.
2019-04-30 21:34:33 +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
c0c1121b91
Add debounce support (only for reading bits, not in pattern matching).
2019-04-29 23:27:58 +02:00
David Given
bd448e081f
Remove the obsolete Fluxmap::decodeToBits().
2019-04-28 20:57:55 +02:00
David Given
00bae9fba7
Remove the obsolete decoder base classes.
2019-04-28 00:32:32 +02:00
David Given
4e3d4e31af
The flux pattern matcher will now preserve leading zeroes (although it can't
...
match them). The IBM decoder is now properly converted, autodetecting FM and
MFM.
2019-04-27 22:11:39 +02:00
David Given
bec46419d6
Remove the obsolete FluxPatterns.
2019-04-27 10:27:55 +02:00
David Given
a483ad987e
Archival checking: IBM FM works (but not MFM yet). Other formats have stopped
...
working.
2019-04-26 23:52:04 +02:00
David Given
643288bef8
Extend the flux pattern matcher to support trailing zeroes.
2019-04-25 23:18:47 +02:00
David Given
3a531c0889
The Zilog MCZ decoder is ported to the new architecture.
2019-04-19 15:10:24 +02:00
David Given
2ddc1045ec
Rework the Victor 9000 decoder to use the new architecture.
2019-04-19 14:39:26 +02:00
David Given
5f8e0c846c
Allow split decoders (into sector record and data record).
2019-04-19 00:55:01 +02:00
David Given
b158692a3a
Radically simplify RawRecord and Sector. It all works, and the results are
...
better, but I've disabled a bunch of decoders for now.
2019-04-18 21:47:34 +02:00
David Given
4b480ce4f3
Rewrite the Macintosh decoder.
2019-04-18 01:31:52 +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
490821da09
Hard sector segmentation can now cope with the extra index hole. We are
...
correctly decoding the Zilog MCZ disk.
2019-03-09 12:32:42 +01: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
d59e7f0fc4
Skeleton Zilog Mcz support.
2019-03-06 00:00:06 +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
6d530c332e
Tweak signal floor: the Brother disk doesn't read any more.
2019-03-03 22:12:13 +01:00
David Given
4eaca91a44
Add a skeleton for the AES Lanier disks.
2019-03-02 22:40:59 +01:00
David Given
06af553760
Make the noise floor and signal level configurable for clock detection.
2019-03-02 11:56:17 +01:00
David Given
e16a9f77f3
Skip long runs of noise in the clock histogram.
2019-03-01 17:15:39 +01:00