Commit Graph

113 Commits

Author SHA1 Message Date
David Given
d17f6116f0 Lots of symbol renaming. 2025-10-14 22:32:42 +02:00
David Given
2d6cb22e3a Looks like we're going to have to rework the reader/writer/source/sink
interfaces, so do fluxsink. This lets us test for overwriting a flux
file on writing in the GUI. HG: Enter commit message.
2025-10-14 21:54:59 +02:00
David Given
b003297b22 Remove the partially-finished MemoryFluxSink. 2025-10-13 00:33:55 +02:00
David Given
f960c7efd0 Added functionality for faking the necessary data in a DecodedDisk to
make the visualiser work. Blank images can now be created in memory.
2025-10-13 00:19:59 +02:00
David Given
97bb563ba0 Another massive overhaul to rip out the last remaining bits of Layout. 2025-10-10 00:21:47 +02:00
David Given
e75e1a6e27 Make the track/cylinder side/head terminology more consistent. 2025-09-08 20:08:23 +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
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
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
3020705012 Modularise imagewriter. 2024-10-16 01:12:35 +02:00
David Given
c42e73f17a Modularise fluxsink and usb. 2024-10-16 00:41:57 +02:00
David Given
7983a4b883 Move the external file format stuff into its own module. 2024-10-15 00:46:46 +02:00
David Given
ea4a147751 Move fluxmapreader/fluxpattern into data. 2024-10-15 00:00:27 +02:00
David Given
c5373480ba Move a lot of the data-handling utilities into their own module. 2024-10-13 13:35:48 +02:00
David Given
e1f2494966 Create a config module containing all the configuration, proto and flags
stuff.
2024-10-13 11:57:18 +02:00
David Given
9ddfa5a56b Move the logger into core. 2024-10-13 11:39:33 +02:00
David Given
7e80e255a4 Config no longer depends on Flux/Image/Encode/Decode, breaking a circular
dependency.
2024-10-12 01:49:13 +02:00
David Given
f5b14cadf8 Use "" to access the fmt headers, not <>, or else Windows can't find the
fallback library.
2024-10-09 15:10:22 +02:00
David Given
27ab1e3e5a Refactor a lot of the proto stuff. 2024-10-08 23:18:30 +02:00
David Given
ca940d1599 Refactor core libraries into their own library. 2024-10-01 20:36:53 +02:00
David Given
eee6f95b15 Typo fix. 2024-07-31 13:48:06 +02:00
David Given
7a3d10451d Rework the A2R writer to be a bit less broken. 2024-07-30 22:54:59 +02:00
David Given
533b217c8f Eliminate the broken tpi system for a simple drive/format type field. 2023-10-29 21:10:14 +01:00
David Given
f5f223f622 First steps towards reworking the build system... again. 2023-10-21 23:02:46 +02:00
David Given
b9ef5b7db8 Rename all the flux and image types to prefix the enums, due to them being in
the global namespace now.
2023-07-24 02:18:53 +02:00
David Given
9867f8c302 Combine enums for flux source/sink types. config.cc now knows whether they're
read-only, write-only, and read-write.
2023-07-24 00:50:54 +02:00
dg
dae9537472 Warning fixes. 2023-07-07 21:51:24 +00:00
dg
a03478b011 Don't store the actual DriveProto in FL2 files, because it makes the proto tags
significant.
2023-05-15 21:59:24 +00:00
dg
4daaec46a7 Greying out of the option buttons now works; but the whole way configs are
handled is pretty unsatisfactory and needs work.
2023-05-13 23:29:34 +00:00
dg
dcfcc6271c Sort out a whole bunch of other things, including cleaning up the way the
verification source is handled.
2023-05-12 23:28:25 +00:00
dg
e61eeb8c6f Fetching the flux source is now done through Config. 2023-05-12 21:25:54 +00:00
dg
ad1a8d608f Migrate setting the flux sink to Config. 2023-05-11 22:54:32 +00:00
dg
42e6c11081 Migrate to a new global config object. 2023-05-10 23:13:33 +00:00
dg
9ba3f90f1e Change the global config variable to a globalConfig() function. 2023-05-10 22:07:17 +00:00
dg
5022b67e4a Drive information is stored in FL2 files. 2023-05-10 20:47:55 +00:00
dg
6b990a9f51 Overhaul the TPI stuff; now both the drive and the layout have a TPI setting,
which must be set.
2023-05-10 19:58:44 +00:00
dg
d4b55cd8f5 Switch from Logger() to log(). 2023-05-09 22:47:36 +00:00
dg
baaeb0bca7 Fix mangled formatting caused by clang-format. 2023-05-09 21:39:35 +00:00
dg
466c3c34e5 Replace the Error() object with an error() function which takes fmt
formatspecs, making for much cleaner code. Reformatted everything.

This actually happened in multiple steps but then I corrupted my local
repository and I had to recover from the working tree.
2023-05-09 20:59:44 +00:00
dg
ccd9539015 Adjust the SCP write logic so an unspecified TPI is treated as 96 (the usual). 2023-04-07 09:02:46 +00:00
dg
81753669cc Add the 'fluxengine merge' command. 2023-03-27 20:12:46 +00:00
dg
2b1a6dbb03 Make the scp flux sink use the layout to determine which tracks and sectors are
being written rather than the range flags directly.
2022-11-27 11:52:16 +00:00
David Given
088bd9434d Switch from using a oneof to an explicit enum for the flux source/sink
configurations, as this allows default options for multiple source/sink types.
2022-11-19 22:52:52 +01:00
David Given
003e919bd5 Formatting now works rather better, but this has revealed a problem with the
mapper --- which needs to switch to using Layout anyway.
2022-09-09 00:34:44 +02:00
David Given
b55ebe95d9 Reformat. 2022-06-15 23:37:50 +02:00
David Given
cb5c0d5ebe Make the a2r flux sink build. Tracks are now always in the native numbering. 2022-06-15 23:33:00 +02:00
Jeff Epler
6cf86a4797 fix some whitespace 2022-04-22 11:03:51 -05:00