Commit Graph

35 Commits

Author SHA1 Message Date
dg
a60b8e68ca Add a Bytes method for reversing each bit. 2022-11-23 21:44:10 +00:00
David Given
f753929e87 Writing files works in fatfs. 2022-08-30 22:51:31 +02:00
David Given
3e97faa704 Fix bounds checking assertion failure caused by overzealous glibc. 2022-06-16 19:30:43 +02:00
David Given
96214bf3fd Refactor for better multi-read support. Each read is now held separately, with
F_DESYNC being deprecated, and FluxSource returns an iterator which can be used
to retry reads.
2022-03-07 00:07: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
11ffb09b66 Attempt to fix build error on OSX. 2021-07-24 00:03:22 +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
629af2a697 You can now create Bytes from strings and vice versa. 2021-01-04 23:31:54 +01:00
David Given
ce2e8fb4b5 First draft of the DiskCopy 4.2 image writer. 2020-07-30 20:21:49 +01:00
David Given
067af18103 When writing images, use the sector size in the spec rather than the actual
data size, to avoid problems with multipart formats like the Amiga.
2020-04-07 23:02:47 +02:00
David Given
1b48ea20c4 Remove the cruncher. 2020-03-20 00:06:07 +01:00
David Given
e8febe6508 Allow converting Bytes to bits, and slicing until the end of an object. 2020-02-14 00:04:31 +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
3ee31b96a4 Add the prototype MX decoder. 2019-07-02 00:40:38 +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
64ae92b16f Add a few more useful functions. 2019-04-14 14:34:59 +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
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
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
1f524aec69 Merge from trunk. 2019-03-07 23:44:19 +01:00
David Given
a6275dc811 Fix uninitialised variable. 2019-03-07 11:02:00 +01:00
David Given
d59e7f0fc4 Skeleton Zilog Mcz support. 2019-03-06 00:00:06 +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
34163e56c3 The AES Lanier decoder now assembles disk images. The checksum is a complete
mystery, though.
2019-03-03 01:19:53 +01:00
David Given
38c1a8ebfa Victor segmentation and decode works; but clock detection is still terrible. 2019-03-02 11:04:45 +01:00
David Given
bd78bdfafd Old versions of C++ don't support static_assert without a message, so add one. 2019-02-26 19:54:41 +01:00
David Given
0f83da98a4 Fix long-standing breakage causing all writes to fail. 2019-02-22 21:50:20 +01:00
David Given
4a902fe157 Merge from master. 2019-02-21 01:16:13 +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
b5ed703cf0 Don't use <endian.h> as it's not very portable. 2019-02-20 11:08:51 +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
1c56456ff0 Start a byte read/write library (because I reckon I'm going to need it). 2019-02-18 21:48:21 +01:00