Commit Graph

215 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
c3bfc239bd Port the Victor 9000 to the new new architecture. 2019-04-30 21:41:51 +02:00
David Given
e8373b21b7 Port the Zilog MCZ to the new architecture. 2019-04-30 21:38:12 +02:00
David Given
9971dbd2c7 Update Mac to the new new architecture. 2019-04-30 21:34:33 +02:00
David Given
f652b9a21c Update the FB100 to the new new architecture. 2019-04-30 21:28:04 +02:00
David Given
e115d2046c Update the F85 decoder to the new architecture. 2019-04-30 21:25:25 +02:00
David Given
6d12586c25 Update C64 to the new new architecture. 2019-04-30 21:22:15 +02:00
David Given
d46d7db082 Port Apple 2 to the new new architecture. 2019-04-30 20:57:51 +02:00
David Given
9140b822ee Update the Amiga to the new new architecture. 2019-04-30 20:53:50 +02:00
David Given
8bbbd1c1e1 Port the AES Lanier decoder to the new new architecture. 2019-04-30 20:50:55 +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
01151e70ed The C64 decoder now works with the new architecture, although it looks like I'm
going to have to do some rearchitecting...
2019-04-29 00:27:30 +02:00
David Given
bd448e081f Remove the obsolete Fluxmap::decodeToBits(). 2019-04-28 20:57:55 +02:00
David Given
a2f38ed3fc Convert the Apple 2 decoder to the new architecture. 2019-04-28 20:56:27 +02:00
David Given
587f11afdc Update the AES Lanier decoder to use the new architecture. 2019-04-28 00:47:47 +02:00
David Given
00bae9fba7 Remove the obsolete decoder base classes. 2019-04-28 00:32:32 +02:00
David Given
a692382ea2 Update the Amiga decoder for the new architecture. 2019-04-27 23:22: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
eefecc87fe The F85 decoder has been ported to work with the new architecture (works rather
better, too).
2019-04-19 18:19:11 +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
3667595275 Rename FluxReader and FluxWriter to FluxSource and FluxSink. 2019-04-16 21:07:58 +02:00
David Given
6b73d1745c Merge from trunk. 2019-04-16 20:16:38 +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
83aff45032 Add missing error string. 2019-04-14 14:53:45 +02:00
David Given
db14642504 Beat the Kryoflux stream reader into enough shape that it will handle the weird
Kryoflux index markers; refactor it to use Bytes rather than raw streams
(because streams in C++ are terrible).
2019-04-14 14:35:52 +02:00
David Given
64ae92b16f Add a few more useful functions. 2019-04-14 14:34:59 +02:00
David Given
1747ef1f74 Make the Zilog MCZ decoder a bit more robust. 2019-04-14 14:34:26 +02:00
David Given
fd2ec91d66 Output images now contain the ID section. Add references to documentation. 2019-04-12 23:05:53 +02:00
David Given
6a215c35ee Add a reverse-engineered checksum routine, and some documentation. 2019-04-12 21:10:15 +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
9c6fe1bafa Add a skeleton FB-100 decoder. 2019-04-11 19:55:30 +02:00
David Given
50cff528a3 Merge from master. 2019-04-07 02:19:12 +02:00
David Given
61df636215 Remove stray debug tracing. 2019-04-06 22:28:45 +02:00
David Given
da8cae61b7 Add a debug UART back on pin 2.0 to get some semblance of debug information off
the board. Discover a fun edge case where output transfers that were an exact
number of frames weren't being terminated correctly.
2019-04-06 17:59:23 +02:00
David Given
3c2654ea04 Warning fix. 2019-03-29 21:01:46 +01:00
David Given
6c06689de8 Fix uninitialised variable error. 2019-03-28 23:09:56 +01:00
David Given
098b2371a4 Crunched datastreams are now used when writing. 2019-03-27 21:58:41 +01:00