Commit Graph

679 Commits

Author SHA1 Message Date
David Given
15eb88e922 Convert, hopefully, the remaining encoders to do automatic disk sizing. Ther e
may be bugs.
2022-03-29 01:23:35 +02:00
David Given
21afc26b68 Fix sigsegv on non-standard sector sizes. 2022-03-28 22:41:27 +02:00
David Given
adff739a5d Partial conversion to do automatic scaling of flux based on the disk rotation
speed. Although, something seems to have broken for 5.25" disks.
2022-03-27 23:50:32 +02:00
David Given
3c17e74f6d Bump the protocol version to ensure people upgrade. 2022-03-26 21:54:29 +00:00
David Given
bf35983ebb Merge from master. 2022-03-26 21:39:32 +00:00
David Given
b062582d15 Multiple reads from flux files now work again. 2022-03-26 00:35:35 +01:00
David Given
79e37f2c18 Format. 2022-03-26 00:19:22 +01:00
David Given
9ab1dae553 Correctly support retrying on hardware. 2022-03-26 00:19:07 +01:00
David Given
c5ad0b4bec Fix track display in the visualiser when reading and writing. 2022-03-25 23:01:34 +01:00
David Given
606d1012d3 Don't use <=>. Sigh. 2022-03-25 22:10:27 +01:00
David Given
45f2d98f3c Typo fix? 2022-03-25 21:57:02 +01:00
David Given
5cf15a9b11 Try to work around the issue with <compare>. 2022-03-25 21:37:39 +01:00
David Given
178aa9d32f Remove the obsolete reader.* and rename writer.* to readerwriter.*. 2022-03-25 20:57:42 +01:00
David Given
29f181f9bf Change the readers to correctly set the physical track for each sector using
the mapper (where appropriate).
2022-03-25 20:50:57 +01:00
David Given
86c5cccb08 Rename cylinder to track throughout (mostly). 2022-03-25 20:16:12 +01:00
David Given
ea8af83d61 Add missing header. 2022-03-25 00:45:25 +01:00
David Given
d303067deb Massive refactor to work in logical cylinders everywhere. The logical/physical
mapping is now done at the last stage and should, ideally, be automatic. I'm
sure there are bugs everywhere.
2022-03-25 00:22:28 +01:00
David Given
422f3ba8c8 Sort the records and sectors dumps. 2022-03-19 13:54:48 +01:00
David Given
276282e847 Merge from master. 2022-03-19 00:51:59 +01:00
David Given
4f0a178984 Fix retries to work. 2022-03-18 19:19:08 +01:00
David Given
36e20ec396 Merge from master. 2022-03-16 16:01:24 +01:00
David Given
9ea68b66f7 Allow viewing the raw bitstream as bytes. 2022-03-16 00:17:29 +01:00
David Given
ba3f806616 Move a lot of drive parameters into a toplevel drive{} config rather than
leaving them in the source/sink configs (which means they have to be set
twice).
2022-03-13 21:13:56 +01:00
David Given
39f8b25fd8 Tidy. 2022-03-07 00:28:19 +01: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
78186d8a45 Archive. 2022-03-06 00:46:53 +01:00
David Given
9842c9945d Typo fix. 2022-03-05 00:33:10 +01:00
David Given
549a984eab Add support for writing 120kB Brother disk images. Also add some utils tests,
because they needed it.
2022-03-04 23:42:29 +01:00
David Given
e9286f6ae9 Merge. 2022-03-04 20:19:14 +01:00
David Given
0edca836f0 Let the image reader do the physical/logical track mapping. 2022-03-03 00:18:49 +01:00
David Given
cbc3db8100 Display erased tracks a bit more gracefully. 2022-03-02 23:55:53 +01:00
David Given
1ad26671b0 Merge from master. 2022-03-02 23:15:56 +01:00
David Given
2dc5064409 Add support for remapping sectors. 2022-03-02 23:00:20 +01:00
Jeff Epler
87cb4b6d18 Add apple2 encoder
This is tested with encodedecodetest.sh but is not tested on HW yet.
It's likely that the sector order (interleave) doesn't match real systems.
2022-02-28 16:22:53 -06:00
David Given
cc5b2bc27b Merge pull request #479 from davidgiven/wxw
Add a GUI.
2022-02-27 12:24:38 +00:00
David Given
6f1031e95b Writing flux now works. 2022-02-27 12:54:57 +01:00
David Given
d5245e3784 Don't capture parameters in static blocks. That never ends well... 2022-02-27 12:51:51 +01:00
David Given
d97e72edb6 The image writers now log to the logger. 2022-02-27 00:27:44 +01:00
David Given
23b9e9ef5f The image readers now log to the logger. 2022-02-27 00:20:20 +01:00
David Given
528454c361 You can now load images into memory. 2022-02-26 23:32:24 +01:00
David Given
dd33922810 Errors are now caught. 2022-02-26 19:52:07 +01:00
David Given
b52fdb3155 Additional settings pane now works. 2022-02-26 19:33:20 +01:00
David Given
38eda6ed3c Add log and settings panels. The log panel is populated during a read (or
write).
2022-02-26 18:36:21 +01:00
Howard M. Harte
4cbd19d2e5 fluxmap: Don't push_back() if Fluxmap begins with F_DESYNC.
Fluxmap::split() creates a 0-length Fluxmap if the Fluxmap
begins with F_DESYNC.  Fix this by not doing push_back()
if a F_DESYNC is encountered at the start of the Fluxmap.
2022-02-24 19:07:09 -08:00
David Given
a59b59fea4 First sector visualisation! Doesn't look bad. 2022-02-25 01:31:10 +01:00
David Given
5c063a9de3 Replumb the visualiser data flow... again. I think I might have it right this
time.
2022-02-25 00:36:12 +01:00
David Given
3666a7d7bd Merge. 2022-02-24 23:52:18 +01:00
David Given
eade2e279e Make the internal disk data structures all const, to allow us to pass them to
the GUI UI thread safely.
2022-02-24 22:46:10 +01:00
David Given
a67b7c80c1 Rework the visualiser to look better, maybe? Also fiddle with the logger
somewhat. There's a pending problem where it's not safe to send mutable objects
through the logger to the visualiser, which will need work.
2022-02-23 23:50:29 +01:00
David Given
dfc0cdd0fa Merge from master. 2022-02-23 20:43:19 +01:00