Commit Graph

169 Commits

Author SHA1 Message Date
David Given
9c6fe1bafa Add a skeleton FB-100 decoder. 2019-04-11 19:55:30 +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
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
0453837c03 The high-density flag now actually changes the high-density line to the drive. 2019-03-26 20:05:16 +01:00
David Given
45eaf14133 Add a flag for setting the drive to high density mode. 2019-03-23 11:32:55 +01:00
David Given
4fe27afe9f Backed out changeset cd5bed99b0b4 --- erroneously pushed to master. 2019-03-24 17:59:17 +01:00
David Given
7f9a85ff77 Add a flag for setting the drive to high density mode. 2019-03-23 11:32:55 +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
2e500f6d3a Add proper decode support for the Durango F85. Thanks to reveng for figuring
out the CRCs for me!
2019-03-10 14:02:01 +01:00
David Given
36134c5269 Create skeleton F85 decoder. 2019-03-10 11:44:55 +01:00
David Given
c558028552 Build file cleanup. 2019-03-09 17:49:00 +01: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
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
38f740c50f Fix build error on machines where sizeof(size_t) != sizeof(long). 2019-03-07 10:57:05 +01:00
David Given
6c23b6284a Merge from trunk. 2019-03-07 00:33:52 +01:00
David Given
d02e6b5936 Update cwftoflux to handle index information from CWF files. 2019-03-07 00:22:43 +01:00
David Given
c8e3910b20 Creating Brother images works again. 2019-03-06 22:52:42 +01:00
David Given
a41f0f3ff4 Allow upgrading of flux files to the new format. 2019-03-06 22:23:57 +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
f3640aa153 Show transfer bandwidth. 2019-03-06 19:44:27 +01:00
David Given
d59e7f0fc4 Skeleton Zilog Mcz support. 2019-03-06 00:00:06 +01:00
David Given
f3b3cc4532 Fix the Mac decoder. 2019-03-05 21:25:59 +01:00
David Given
3a931afa60 Fix CRC checking for IBM (both FM and MFM). 2019-03-05 21:09:28 +01:00
David Given
0ae1623afc Clean up the IBM decoder (still not right). 2019-03-05 20:57:45 +01:00
David Given
76d905878a Rework the Brother decoder again. 2019-03-05 20:36:37 +01:00
David Given
38bea6b22e I somehow broke the CRC algorithm. Damned if I can see it. 2019-03-05 20:36:25 +01:00
David Given
cca901825e Resizing small doesn't reallocate the buffer. 2019-03-05 20:36:13 +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
6d530c332e Tweak signal floor: the Brother disk doesn't read any more. 2019-03-03 22:12:13 +01:00
David Given
07c4a18171 Merge pull request #33 from davidgiven/gzip
Flux files now compress their data.
2019-03-03 21:10:27 +01:00
David Given
dfc818ff73 You now have to explicitly upgrade flux files --- much cleaner. Added a tool to
do this.
2019-03-03 20:52:53 +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
6eed5daa82 Add the properties interface to the SQL stuff. 2019-03-03 17:37:40 +01:00
David Given
fd960b8778 Add TRS-80 support. 2019-03-03 17:25:38 +01:00
David Given
654f250341 No, wait. The AES Lanier sectors are clearly 256 bytes, but include the sector
header.
2019-03-03 12:43:18 +01:00
David Given
162176f00d I think the sectors are actually 253 bytes. Could be wrong. 2019-03-03 12:03:56 +01:00
David Given
c5df9b2d54 Apparently the AES Lanier used *252* byte sectors. Luckily the checksum is
standard; we now get mostly good reads off the image I have.
2019-03-03 11:40:27 +01:00
David Given
0eb7620854 Conflicted sectors are now treated as bad. 2019-03-03 11:39:54 +01:00
David Given
8d74861c4f Add reflected and MODBUS CRC variants. 2019-03-03 11:39:25 +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