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
Jeff Epler
feb5eac02e
Never write via structures, always write via a ByteWriter
2022-04-22 11:03:46 -05:00
Jeff Epler
00d30fe26b
fix several missing override declarations
2022-04-12 11:20:46 -05:00
Jeff Epler
f2083ed5e9
fix macos-only build error (narrowing diagnostic)
2022-04-12 11:20:40 -05:00
Jeff Epler
6ac98d02a7
Merge remote-tracking branch 'origin/master' into applea2r
2022-04-12 10:53:17 -05:00
Jeff Epler
5e8f35c94e
Fix review items, try again on applesauce compatibility
...
After these changes, applesauce accepts the image but produces a
non-working result. passport.py still likes the files just fine, if
they're of the limited sorts that it can handle.
(applesauce wants just one STRM chunk with all the flux from all the
tracks; the whole STRM ends with an extra FF, which is not counted in the
size of any of the TIMING blocks. passport.py / a2archery is considerably
more forgiving)
2022-03-29 10:54:15 -05: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
86c5cccb08
Rename cylinder to track throughout (mostly).
2022-03-25 20:16:12 +01:00
Jeff Epler
6e817e2d7c
Add a2r as a flux sink
...
a2r is preferred for apple2 disk archiving and should have a pathway
to emulation via passport.py (woz and dsk conversion)
2022-03-23 14:06:01 -05: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
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
d5245e3784
Don't capture parameters in static blocks. That never ends well...
2022-02-27 12:51:51 +01:00
David Given
042f7b0502
Log messages are now forwarded to the UI thread.
2022-02-22 00:50:58 +01:00
David Given
40a42c65c1
The rotational speed message is now done via the logger.
2022-02-21 22:21:46 +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
40bca8b38c
Merge pull request #370 from tdaede/rescale
2022-01-10 23:02:18 +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
ce1daf6a2b
Add option to rescale flux sink pulses.
...
Note that this does not affect the decoder used for verify,
but at least for tame rescaling the decoders are still able to
lock.
This is a precursor to automatic scaling via the disk speed
measurement.
2021-12-07 14:45:32 -08:00
David Given
da84297b2c
Merge pull request #380 from tdaede/last_fluxmap
...
SCP: Only write the last continuous fluxmap.
2021-12-07 21:47:54 +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
27fceb3f41
Make the new FL2 flux format the default.
2021-12-05 17:09:02 +00: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
dg
298f77f52e
Add the FL2 reader.
2021-12-05 11:33:19 +00:00
dg
d36a18c17a
Add the experimental FL2 encoder.
2021-12-04 12:39:36 +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
Howard M. Harte
44b452b30b
Perform retries when calculating drive RPM.
...
The drive RPM measurement fails about 3% of the time. Retry up to
five times until it succeeds, and exit with an error if it doesn't.
2021-05-26 23:02:34 -07:00
David Given
1997abcde6
Warning fix pass.
2021-05-21 22:12:14 +02:00
David Given
18b683d22e
Add drive:N as a valid flux source and sink specifier; remove the --drive
...
option. Also, a bunch of option cleanup.
2021-05-20 22:14:22 +02:00
David Given
a0164b8de3
Rip out dataspecs everywhere.
2021-05-18 22:22:06 +02:00
David Given
9df35c1814
Fix a bunch of documentation strings.
2021-05-18 21:10:59 +02:00
David Given
05aaa2634b
Don't hard-code references to the global config in the
...
updateConfigForFilename() methods.
2021-05-18 19:57:23 +02:00
David Given
d246fca9df
Convert scptoflux to a proper flux source.
2021-05-18 01:09:55 +02:00
David Given
c79feb405c
Switch to resource path type thingies for specifying flux file types, where
...
appropriate. Much better.
2021-05-18 00:40:16 +02:00
David Given
b1145f8da3
Flux sink type is now detected from file extension.
2021-05-18 00:23:38 +02:00
David Given
3588d681a2
Convert fluxscp to a proper flux sink.
2021-05-17 23:28:30 +02:00
David Given
55d894ae1f
Convert fluxtovcd to a proper flux sink.
2021-05-17 22:12:44 +02:00
David Given
0509caf432
Allow the .au writer to write multiple tracks.
2021-05-17 21:53:15 +02:00
David Given
5d1d807e78
Convert fluxtoau to a real flux sink.
2021-05-17 21:42:25 +02:00
David Given
41b36649a9
Rename a bunch of config fields for clarity.
2021-05-15 22:23:42 +02:00
David Given
509217606c
Remove sqlite flux sink flags.
2021-05-15 13:42:30 +02:00
David Given
5a63172a86
Remove the hardware source/sink flags.
2021-05-15 13:06:53 +02:00
David Given
25f2c3a8c1
Move the USB flags into the config file.
2021-05-13 23:35:05 +02:00
David Given
5a186b6960
Rename all protos to end with 'Proto' to avoid name conflicts.
2021-05-13 18:05:08 +02:00
David Given
f9510c54b2
Split the encoder/decoder configuration away from inputs and outputs. Make the
...
test pattern creator a flux source.
2021-05-13 17:23:06 +02:00