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
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
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
ca940d1599
Refactor core libraries into their own library.
2024-10-01 20:36:53 +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
dg
dae9537472
Warning fixes.
2023-07-07 21:51:24 +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
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
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
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
86c5cccb08
Rename cylinder to track throughout (mostly).
2022-03-25 20:16:12 +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
Jeff Epler
a6bf6f901f
Error gracefully when requested to write a too-large scp image
...
This prevents a crash when more tracks were recorded than fit in an
scp image. When I first encountered a problem doing an 84-track operation,
this led to a segfault later on since memory was written past the end
of _fileheader, and (I think) stomped on a pointer.
2022-02-11 09:10:20 -06:00
David Given
89688394f8
Replace the upgradefluxfile builtin with a seperate upgrade-flux-file tool.
...
This allows us to remove all the SQL stuff from the main program, and restores
the ability to upgrade from version 2 SQL files.
2022-02-04 21:27:24 +01:00
David Given
7b0a4a057d
Merge pull request #376 from tdaede/scpfix2
...
Fix SCP writer to always write complete revolutions.
2021-12-09 22:26:36 +00:00
Thomas Daede
0c3c08db36
SCP: Only write the last continuous fluxmap.
2021-12-06 11:47:42 -08:00
Thomas Daede
634be4ae51
Fix SCP writer to always write complete revolutions.
...
There were a couple of problems that needed to be fixed:
- Fluxmaps can be produced with zero index pulses by encoders.
This is somewhat ambiguous but it's assumed that this means there
is exactly one revolution.
- The SCP unindexed mode wasn't properly supported, as it should
create equal-length revolutions not aligned to indexes. However,
fluxmaps don't contain any information on rotation speed. Therefore,
drop the ability to create unindexed SCPs and slightly change the
meaning of the option to not include pre-index data.
- Real flux reads can potentially produce duplicate index pulses.
Avoid creating zero-length revs.
- Fix off-by-one error for rev count.
2021-12-06 07:41:16 -08:00
dg
18d90c44dd
Rework the flux decoders to add a desync opcode for separating multiple reads
...
in a flux stream. Finally add a unit test for the flux decoder.
2021-12-05 14:42:57 +00:00
dtrg
8d6a811204
Correctly write the number of revolutions in SCP files.
2021-12-03 18:13:17 +00:00
Eric Anderson
181f2f38d8
s/ScpTrackStart/ScpTrackHeader/ and use in ScpTrack
2021-10-30 10:29:17 -07:00
David Given
a0164b8de3
Rip out dataspecs everywhere.
2021-05-18 22:22:06 +02:00
David Given
3588d681a2
Convert fluxscp to a proper flux sink.
2021-05-17 23:28:30 +02:00