David Given
ce2e8fb4b5
First draft of the DiskCopy 4.2 image writer.
2020-07-30 20:21:49 +01: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
06eb10d2a0
Merge.
2020-05-16 10:38:17 +02:00
David Given
2244299bd9
Add a bias parameter to allow the entire Brother format to be moved around on
...
the disk.
2020-05-16 10:37:48 +02:00
David Given
9a5958f80b
Prevent OOB when appending no bytes to a fluxmap.
2020-05-14 10:40:49 +02:00
David Given
2b53ac057c
Fix some bugs which allow erasing tracks with F_FRAME_WRITE_CMD to work again.
...
(F_FRAME_ERASE_CMD always worked.)
2020-05-13 23:45:58 +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
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
0367b7e77d
Merge from trunk.
2020-04-01 00:06:35 +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
1954f02cfb
Don't reset the device on startup because it confuses Linux.
2020-03-30 22:23:18 +01:00
David Given
39b23200b0
Fix missing flag dependency.
2020-03-29 23:12:12 +02:00
David Given
b1ea5a9a35
Rework the writer to use a fluxsink rather than just writing stuff directly.
2020-03-29 15:08:45 +02:00
David Given
1b48ea20c4
Remove the cruncher.
2020-03-20 00:06:07 +01:00
David Given
fc2655ecd6
Rework the bytecode format to use a much simplified setup: a six-bit timer with
...
the top two bits reserved for pulse and index state. This is actually smaller,
bandwidth-wise, than the old version, and may be smaller than the crunched
version.
2020-03-14 18:58:43 +00: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
04c09d1a5b
Hopefully, fix the problem where ^Cing a job gets the board in a confused
...
state.
2020-02-21 22:16:20 +01: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
1656947764
Disable write precompensation, as it actually seems to make things worse.
2020-02-18 22:49:12 +01:00
David Given
8acf8e181d
Rework the crunch encoding to be, hopefully, smaller and use less bandwidth for
...
HD disks.
2020-02-18 21:37:32 +01:00
David Given
1a6c6b5420
The bandwidth tester now tests bandwidth in both directions. It looks like my
...
default USB port only gets about 500kB/s write bandwidth. However, when plugged
into a port with 850kB/s, I still get underrun errors...
2020-02-17 23:58:40 +01:00
David Given
a63a90bbd0
Only attempt to remove the old file on overwrite if it actually exists.
2020-02-14 22:30:46 +01:00
David Given
d25f96dd24
The IBM encoder now works well enough that my USB floppy drive thinks the disk
...
is formatted... but has trouble reading sectors above about 1000. Also remember
that encoding MFM needs to keep one bit of state at all times.
2020-02-14 00:06:51 +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
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
a8eca06cf0
Don't hang if we hit the end of stream while waiting for a data record.
2020-01-27 23:09:29 +01:00
David Given
065257b5aa
Remove stray tracing.
2020-01-27 23:09:07 +01:00
David Given
29bdfc043a
Allow fractional revolutions and non-synced reading. Find more things which
...
need fixing in the firmware sampler.
2020-01-27 22:52:25 +01:00
David Given
91ffcf59c3
When reading data records, retry if we get an UNKNOWN record to work the
...
occasional false positive (which happens now and again with MFM).
2020-01-27 01:15:14 +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
0c48897814
Add a minimum clock threshold.
2020-01-26 17:48:33 +01:00
David Given
86c4e959ca
Mac error fix.
2020-01-12 01:38:19 +01:00
David Given
d77841c3b7
Add the ability to fake the index pulse source, allowing old drives to be used
...
with FluxEngine.
2020-01-12 01:23:47 +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
4475e9f085
Increase the default bit-error-threshold to 0.4, because that's the value I
...
almost always end up using.
2019-12-14 21:33:39 +01:00
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
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