Commit Graph

28 Commits

Author SHA1 Message Date
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
f9117b8d11 Added a simple library for reading and writing LDBS files. 2019-08-09 22:41:07 +02:00
David Given
d8172154c3 Output images now get geometry specs to indicate what kind of file to write. 2019-08-07 23:23:07 +02:00
David Given
eb924780ab Refactor dataspecs to allow them to be used for other things too. 2019-08-06 23:50:02 +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
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
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
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
bcc5a5f2cd Interim but working support for crunched data streams when reading from the
device; writes haven't been converted yet. Reduces the bandiwidth from about
800kB/s to about 500kB/s, which is about what I thought.
2019-03-26 23:03:19 +01:00
David Given
d013b0fe55 Fix Bytes slicing buffer overrun; fix bug in the IBM decoder which was
provoking it.
2019-03-21 20:14:35 +01:00
David Given
c558028552 Build file cleanup. 2019-03-09 17:49:00 +01:00
David Given
379985c2bc Rework the sampler state machine, with new, better, simpler bytecode at twice
the bandwidth; we now record the state of the index hole.
2019-03-06 21:09:07 +01:00
David Given
8212adf84f Temporary lifespan doesn't work intuitively. Fix it. 2019-03-05 19:17: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
3835afd022 Add a reasonably comprehensive bytes library. 2019-03-04 21:41:41 +01:00
David Given
b1368fff64 Hack in compressed flux streams; I don't like this much. 2019-03-03 19:11:13 +01:00
David Given
cf81acd8a5 Add Kryoflux stream decoder tests --- sadly, no bugs. Add a tool to convert CWF
format files to FluxEngine files.
2019-03-02 20:02:24 +01:00
David Given
7aa851d5f0 Fix hideously embarassing bug which was causing reading most floppies to
produce junk.
2019-02-20 22:41:08 +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
12135b5dd6 Add support for FM decoding and Acorn DFS disks, requiring some rearrangement.
Also make the Brother two revolutions thing (which DFS also needs) the default.
2019-02-12 21:29:31 +01:00
David Given
2527ac2ce9 Initial support for twin drives and 5.25" drives. 2019-02-11 23:43:44 +01:00
David Given
6af432f798 Refactor FluxEngine to use dataspecs for source and destinations. Document
them.
2019-01-21 00:38:03 +01:00
David Given
4b6b4aa9f7 Add the DataSpec class. 2019-01-13 00:43:19 +01:00