Eric Anderson
f1506d0dbd
Add firmware support for hard sectors
2020-12-24 17:39:52 -08:00
David Given
8b6be5a501
Move usb.{cc,h} into its own directory.
2020-08-09 21:14:09 +02:00
David Given
984cdaeb03
Make nanoseconds_t a double to prevent overflow on very large numbers of
...
revolutions (I've just seen a flux file with 50).
2020-06-26 14:47:25 +02:00
David Given
30646ccb07
Fix an Amiga decoder bug where truncated sectors would be considered valid (the
...
Amiga checksum algorithm is weak and zero bytes don't contribute to the
checksum).
2020-04-08 23:35:55 +02:00
David Given
cd19fcdadd
The CSV report now writes records for every sector in the output map, even the
...
missing ones.
2020-03-31 00:14:23 +02:00
David Given
37aa8b62b0
Add a --write-csv=X option to the reader to dump the sector status map as a
...
machine-readable file.
2020-03-14 14:35:19 +00:00
David Given
323da8272a
Hopefully add support for giving the reader a set of required sectors, so if
...
one is missing then we can tell and the track can be reread.
2020-02-21 22:14:44 +01:00
David Given
be41c1de76
You now need to explicitly specify whether flux files get merged or
...
overwritten, because the old behaviour was weird. Reader uses SqliteFluxSink to
write flux files, rather than raw database accesses.
2020-02-08 12:41:50 +01:00
David Given
9dc1067032
Add --dump-sectors. Sector positions are recorded correctly.
2020-01-26 18:30:35 +01:00
David Given
6af80d1e5e
Improve some messaging. A data record is always pushed, even if it's empty (to
...
help debugging).
2020-01-26 17:49:12 +01:00
David Given
7c66e1b0d4
Don't recalibrate after drive errors --- it's really annoying and I don't think it helps.
2019-12-14 21:43:48 +01: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
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
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
8e1774c69f
Show the clock rate in kHz as well, because that's more useful.
2019-07-12 23:09:50 +02:00
David Given
032df676c1
Replace meson with a very small shell script.
2019-07-03 22:18:34 +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
76e22995b7
Fix memory corruption issue when replacing sectors.
2019-06-27 22:10:35 +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
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
50cff528a3
Merge from master.
2019-04-07 02:19:12 +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
d0726e13c0
Add a fluxwriter library to try and abstract writing --- but this is going to
...
need some more refactoring to make it work.
2019-03-24 11:06:38 +01:00
David Given
456791e20c
Refactor to use FluxmapReader.
2019-03-09 11:30:50 +01:00
David Given
f3640aa153
Show transfer bandwidth.
2019-03-06 19:44: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
0eb7620854
Conflicted sectors are now treated as bad.
2019-03-03 11:39:54 +01:00
David Given
f0d64969fc
Better conflicting sector warning formatting. Raw records can now be shown for
...
non-retryable data sources.
2019-02-28 23:02:58 +01:00
David Given
20c54f1956
Warn if two copies of the same sector are seen with different data.
2019-02-25 20:31:05 +01:00
David Given
75a321beef
Don't retry reads if we're not talking to actual hardware.
...
Fixes #18 .
2019-02-24 23:57:46 +01:00
David Given
dd9d978869
Fix logic bug when assembling images where good sectors would be replaced by
...
bad ones just because they showed up later.
2019-02-21 21:02:21 +01:00
David Given
ed9b7ef6b3
Don't attempt to decode tracks if no clock could be detected.
...
Fixes : #15
2019-02-21 11:17:09 +01:00
David Given
01acc4e5b3
Partially decode the Kryoflux Mac image I have (complete with checksum
...
checking). The read is very bad, but I don't know whether that's because
there's something wrong I'm doing, or if the Kryoflux image is bad.
2019-02-20 20:46:01 +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
6384b92bed
Stop using inline constructor initialiser list things for tuples, as
...
it's a recent feature and old compilers don't support them.
2019-02-15 13:44:44 +01:00
David Given
61d98073a7
Add support for reading Kryoflux stream files.
2019-02-14 21:44:23 +01:00
David Given
d157574c6a
Put back --just-read, and fix the formatting.
2019-02-14 21:15:08 +01:00