Commit Graph

1128 Commits

Author SHA1 Message Date
David Given
6127c9a46d Wire up some more control panel buttons. Create an in-memory sector
interface for doing filesystem stuff.
2025-09-15 20:06:16 +02:00
David Given
85afadacf0 Don't make images with holes --- ensure that all sectors in the image
are populated, even if with a stub 'MISSING' sector, with layout
information.
2025-09-13 01:55:01 +02:00
David Given
e3d7fa69d8 Add a --hd global option for setting high density. 2025-09-12 00:20:10 +02:00
David Given
b5c5a4335d Wire up the summary and sector map views; although it's shown that the
layout code really needs refactoring. Again.
2025-09-09 00:14:21 +02:00
David Given
e75e1a6e27 Make the track/cylinder side/head terminology more consistent. 2025-09-08 20:08:23 +02:00
David Given
aa220ecbcb Sectors and Images now store more unseful information. The DiskProvider
now works.
2025-09-08 19:52:57 +02:00
David Given
2831aa09ae Add CylinderHeadSector in place of some of the 3-tuples I was previously
using; do some refactoring.
2025-09-07 00:56:18 +02:00
David Given
e1b4b0d3a3 Fix kryoflux reading and writing. 2025-09-07 00:55:49 +02:00
David Given
ca3c37d20a Add logic to Image for access filesystem blocks. 2025-09-06 13:22:29 +02:00
David Given
3761c4b1e2 Broadcast a DiskReadLogMessage every time a track is read, with the
entire accumulated disk data (including all the resolved sectors). This
makes it much easier to show partial results in the GUI.
2025-09-06 01:21:07 +02:00
David Given
c95cd8a4da Add hints for global options to tell the GUI where to show them. 2025-09-03 01:14:23 +02:00
David Given
1def87fdc3 Remove the rawReadDiskCommand() function, as it's no longer used. 2025-08-21 19:00:29 +02:00
David Given
9062a531f3 Migrate the 40track etc extension configs to actual options. Add the
ability to have --group=value options to make this cleaner.
2025-08-21 00:53:50 +02:00
David Given
0ec0ca7495 Config files are now specified with -c, rather than via filename
arguments, because otherwise you get really unhelpful error messages
when you get things wrong.
2025-08-20 21:19:34 +02:00
David Given
d1524f78fb Apply the fix from #811 to make everything build against Protobuf 31. 2025-08-19 23:28:19 +02:00
David Given
603baee777 Fix a subtle bug that was causing misparsing of indexed fields on OSX. I hate
C++.
2025-08-19 22:43:45 +02:00
David Given
1afd45068c Merge. 2025-08-19 00:18:59 +02:00
David Given
8b6073ccbb Try making the error collector non-constexpr? 2025-08-18 22:14:48 +02:00
David Given
f902c759df Try the suggested workaround in lexy for older compilers. 2025-08-18 22:10:06 +02:00
David Given
996fdbc0f5 More overhauling of the proto layer; fluxfile ls now works. 2025-08-18 00:37:42 +02:00
David Given
9ff3e3b42a Finally make the getters and setters work with repeated fields. 2025-08-17 23:04:14 +02:00
David Given
0a5604521e Merge in fluxfile stuff. 2025-08-17 21:12:27 +02:00
David Given
786636ef5d Don't allow writing Apple 2 flux images to SCP files, because there
isn't space for the quarter-step tracks.
2025-08-17 11:42:34 +02:00
David Given
f8813daae3 Attempt to make work on Windows. 2025-08-17 10:47:54 +02:00
David Given
da5a20390f Fix unhelpful message. 2025-08-17 10:40:34 +02:00
David Given
cf05a25445 Does _error_collector need a constexpr constructor and destructor? 2025-08-17 01:01:32 +02:00
David Given
0382c304ad Warning fix. 2025-08-17 00:46:50 +02:00
David Given
f24e4029b4 Flux sources now add the locations of their data to _extraConfig ---
which is now honoured. Fix a bunch of bugs in some of the flux sources
and sinks. The converter now actually works, maybe.
2025-08-17 00:38:25 +02:00
David Given
4ebda29171 Rename track -> cylinder in lots of places. 2025-08-16 17:39:55 +02:00
David Given
53026f3d02 Rework the way locations are handled to use the new locations
microformat rather than the old RangeProto.
2025-08-16 16:59:44 +02:00
David Given
99c0e95a2f Added a routine for parsing location lists using Lexy. 2025-08-15 23:39:21 +02:00
David Given
0419df4b2d Another archival checkin... 2025-08-13 23:00:08 +02:00
David Given
70bdcd0978 Non-functioning archival checkin. 2025-08-12 20:31:54 +01:00
David Given
df4d27eefe Better support for repeated fields in the config language. Add a helper
for showing all config fields in a proto.
2025-08-10 22:22:58 +01:00
David Given
19b63786c8 Merge from master. 2025-07-21 00:01:41 +02:00
David Given
15a69f6dcb Make build with the new ab --- but the tests fail. 2025-03-17 22:33:54 +01:00
David Given
0f763fe06b Patch up for the libfmt change and update to c++20.Patch up for the
libfmt change and update to c++20.
2025-03-12 01:22:18 +01:00
David Given
cc169d414f Add experimental support for libdsk 'altback' mode layouts. 2024-11-29 22:39:34 +01:00
David Given
0fcb2075e0 Move filesystem_track_ordering from ImageReaderProto/ImageWriterProto to
ImgInputOutputProto; it now only applies to img files. Make it honour the
appropriate track layout setting too.
2024-11-29 22:30:33 +01:00
David Given
2bda78fb40 Distinguish between filesystem track ordering and image track ordering
(although currently only the filesystem ordering is used).
2024-11-29 22:07:58 +01:00
David Given
e878c6eef6 Remove the unused sector_order field from FilesystemProto. 2024-11-29 21:24:32 +01:00
David Given
cd36caccc7 Warning fix. 2024-11-22 20:34:00 +01:00
David Given
a8cc280574 Looks like we need special options for OSX. 2024-11-08 22:15:35 +01:00
David Given
da9d9385b9 Another try at fixing the custom formatter. 2024-11-08 21:32:59 +01:00
David Given
149e5c6fba Make work on Debian 11. Add some Docker tests to make sure it keeps working on
Debian 11.
2024-11-08 21:07:17 +01:00
David Given
38af98ec9b Reformat. 2024-10-19 18:02:16 +02:00
David Given
33d241c33e Move common.proto into config. 2024-10-19 16:58:44 +02:00
David Given
944ac97ba4 Move layout proto into config. 2024-10-19 16:44:02 +02:00
David Given
bb6e8dc6b2 Move the drive proto into config. 2024-10-19 16:34:34 +02:00
David Given
ed604f6284 Finally eliminate the +lib target. 2024-10-19 13:18:28 +02:00