Commit Graph

252 Commits

Author SHA1 Message Date
David Given
32bb956710 Detect voltage levels *correctly*. 2019-12-11 00:05:34 +01:00
David Given
f436d6b582 Add a feature where we can measure the FDD bus signal voltages using the PSoC's
ADCs. Increase the track step pulse width to 6us, because.
2019-12-10 22:36:18 +01:00
David Given
5a2b2bc07a Allow support for command lines with non-argument filenames. 2019-08-31 01:40:44 +02:00
David Given
bdcc12cd53 Correctly import M_PI. 2019-08-27 23:08:13 +02:00
David Given
7988d0fe24 Don't replace bad sectors with more bad sectors. This means that if a sector is
permanently bad, the one which wins and goes into the output SectorSet is the
first one, not the last one. Frequently the last sector is truncated by the end
of read and so it isn't useful.
2019-08-27 22:39:24 +02:00
David Given
27f5c294b1 The visualiser period can now be specified in a flag. 2019-08-27 01:21:49 +02:00
David Given
b9a53e0d1c First draft of the visualiser. 2019-08-27 01:07:57 +02:00
David Given
f8b6d5e6fb Merge. 2019-08-25 00:24:34 +02:00
David Given
77b4aebd1b Fix crashing bug when reading Kryoflux streams. 2019-08-24 23:53:22 +02:00
David Given
60bfe050d3 Refactor the way image extensions are handled to be generally cleaner. Add
support for validating ImageSpecs before we actually want to read/write an
image, so as to allow us to check the extension *before* wasting time reading a
disk. Make .d81 an alias of .img.
2019-08-21 00:45:10 +02:00
David Given
a626d5f9a0 Add write-only support for D64 disk images. 2019-08-15 20:30:07 +02:00
David Given
56af9eaf18 The LDBS ST1 field is now populated correctly on error. 2019-08-10 21:25:07 +02:00
David Given
5de0636fe7 First attempt at writing LDBS files. Not quite right. 2019-08-09 23:21:55 +02:00
David Given
f9117b8d11 Added a simple library for reading and writing LDBS files. 2019-08-09 22:41:07 +02:00
David Given
112377f885 Add pluggable image readers, plus some documentation. 2019-08-09 20:56:06 +02:00
David Given
38fab7edcb Refactor all the image writing stuff into a ImageWriter subclass hierarchy with
a factory based on extension.
2019-08-08 00:27:41 +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
4b07c38782 Mechanical refactor to rearrange the source files into a more pleasing order. 2019-08-06 22:25:11 +02:00
David Given
5748f017dd Refactor the write code to make it easier to add new encoders. 2019-08-06 22:17:58 +02:00
David Given
973f4c2c2d Skeleton work to factor out the encoder logic. 2019-08-03 22:30:30 +02:00
David Given
8e1774c69f Show the clock rate in kHz as well, because that's more useful. 2019-07-12 23:09:50 +02:00
David Given
8755d108ed Sanity check Mac sectors --- reject anything with an out-of-bounds sector ID. 2019-07-11 23:16:02 +02:00
David Given
eee30db981 Honour the logical track numbering in MX disks (allows reading 40-track disks). 2019-07-11 21:03:54 +02:00
David Given
a1d345856e Add a tool for converting flux files directly to mono or stereo au files,
suitable for comparison in Audacity.
2019-07-10 22:56:39 +02:00
David Given
e5baecbd4d Replace the glob() code with simple opendir stuff, since glob isn't supported
on Windows.
2019-07-07 00:38:29 +02:00
David Given
d0a864c052 Merge. 2019-07-03 23:20:07 +02:00
David Given
20d143248b Remove stray dependencies to the system fmt. 2019-07-03 22:34:04 +02:00
David Given
032df676c1 Replace meson with a very small shell script. 2019-07-03 22:18:34 +02:00
David Given
4649cf6206 Merge all the tools into a single monolithic binary. Much better! 2019-07-03 00:08:29 +02:00
David Given
f7af8bb99b I... think it's done? That was suspiciously easy. 2019-07-02 23:20:47 +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
76e22995b7 Fix memory corruption issue when replacing sectors. 2019-06-27 22:10:35 +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
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