235 Commits

Author SHA1 Message Date
Keir Fraser
5c49b76c8f gw: KryoFlux stream support 2020-11-30 10:12:41 +00:00
Keir Fraser
7d0284d2d3 gw: Clean up image-file handling. Create a helper Image base class. 2020-11-29 15:30:20 +00:00
Keir Fraser
03c52f8b97 gw: Dynamically load required module for image-file parsing. 2020-11-29 13:09:46 +00:00
Keir Fraser
068d2571e2 gw read: Sensible cylinder and revs defaults for AmigaDOS.
Print nice summary output of disk goodness.
2020-11-27 15:54:36 +00:00
Keir Fraser
cff9038b88 gw read: Retry on unsuccessful read of AmigaDOS data 2020-11-22 19:19:21 +00:00
Keir Fraser
51f477e606 flux: Split Flux class and create new WriteoutFlux.
Simplifies users of the flux module a little.
2020-11-21 23:28:53 +00:00
Keir Fraser
6ba314d25f gw usb: Fix accounting for Index opcodes in the read-flux stream. 2020-11-21 14:59:45 +00:00
Keir Fraser
fe09d840cb scp_info: Present aggregate flux stats 2020-11-21 10:30:52 +00:00
Keir Fraser
66374dcb25 gw read: Fix raw image-file outputs when a format (amiga.amigados) is specified.
This also includes a refactoring of methods to generate and consume flux.
2020-11-20 14:00:16 +00:00
Keir Fraser
98d0c450bb amigados: Fix raw track output when sectors are missing 2020-11-20 12:35:39 +00:00
Keir Fraser
8387eabb8f adf: ADF output should be 160 tracks minimum.
And only more if there is AmigaDOS data to be stored.
2020-11-20 11:15:01 +00:00
Keir Fraser
b5fe05c761 amigados: Skip partial sectors, as they cause an exception during decode 2020-11-20 11:15:01 +00:00
Keir Fraser
dd57044e2b amigados: Make post-index gap much longer. 2020-11-19 23:09:42 +00:00
Keir Fraser
74900c9d86 Makefile: Fixes for new codec/ module folder 2020-11-19 19:39:20 +00:00
Keir Fraser
41083c8db0 AmigaDOS: Allow read/write/verify of ADF images files. 2020-11-19 16:17:24 +00:00
Keir Fraser
b7ddee0bda Support flippy drive access to cylinder -8 2020-11-19 08:49:33 +00:00
Keir Fraser
c6be39eda7 gw.py: Do not print version header on every gw command. Unnecessary verbiage. 2020-11-19 08:08:03 +00:00
Keir Fraser
0c016dbf4c usb: Do not include NUL terminator byte in encoded-read-stream iterator 2020-11-09 16:37:06 +00:00
Keir Fraser
419df4825a usb: Define new astable write region and use it to move NFA logic onto the host.
The write protocol handling is reworked on the firmware side.
2020-10-27 12:58:12 +00:00
Keir Fraser
0f78a93f66 Rename FLUXOP_NOFLUX -> FLUXOP_SPACE 2020-10-27 09:51:16 +00:00
Keir Fraser
e7062e3ad8 usb: Send periodic noflux opcodes during long periods of no flux.
This new no-flux opcode replaces the long-flux opcode:
 long-flux = no-flux + regular-flux
Also rearrange the code a bit to avoid repetition.
2020-10-21 12:38:46 +01:00
Keir Fraser
633a4eb9ee usb: Make two-byte flux encoding slightly more efficient.
Use the new encoding scheme on the write path too (host -> device).
2020-10-21 11:01:49 +01:00
Keir Fraser
9b4b69da85 usb: Place index timings in-band within the flux read stream.
This removes the low limit on max index timings per read request.
2020-10-21 10:29:51 +01:00
Keir Fraser
2cdf01c816 gw seek: Seek to specified cylinder. 2020-09-02 08:33:43 +01:00
Keir Fraser
61971d0541 gw: Tweak the command line:
1. Greaseweazle device is now a proper optional argument, not positional.
2. Tidy up the usage line by hiding the full list of optional arguments.
2020-09-02 07:55:29 +01:00
Keir Fraser
73c3875252 Support F7 Lightniung Plus board. 2020-08-23 17:49:54 +01:00
Keir Fraser
d1e1ad4b1f scp: Do not write too many tracks to output SCP image: Error instead. 2020-08-09 12:55:41 +01:00
Keir Fraser
fbc88e66d9 scp: More fixes:
1. Detect non-index-cued images and clip first partial revolutions
 2. Detect and handle empty TDH structures (no flux samples)
 3. Set the 96tpi flag in exported SCP images
2020-07-01 14:59:36 +01:00
Keir Fraser
84acade1a7 gw write: Don't seek to a track which is being skipped. 2020-07-01 14:54:04 +01:00
Keir Fraser
d7f770c574 scp: Rename ::old_ss to ::legacy_ss 2020-07-01 08:53:37 +01:00
Keir Fraser
b2939f5766 f7: Support new submodel: F7 Plus (Ant Goffart, version 2) 2020-06-29 11:34:08 +01:00
Keir Fraser
e9b1dde861 scp_info: Add an option to create a scatter plot 2020-06-28 13:50:17 +01:00
Keir Fraser
0832b2ee33 gw update: Do not rely on unique com.location field when reopening COM port.
In some cases Windows (with BitDefender) seems to obfuscate the location
and multiple COM ports alias to the same location string.
2020-06-28 07:29:00 +01:00
Keir Fraser
2c095d2444 gw read: Move split_opts() function into utils module 2020-06-11 15:09:20 +01:00
Keir Fraser
df93a290cf gw write: New options --double-step and --erase-empty 2020-06-11 15:08:58 +01:00
Keir Fraser
41dd1f5c18 scp: Allow "old-style" single-sided SCP images to be created with 'old_ss' image option.
Refs #38
2020-06-09 19:37:15 +01:00
Keir Fraser
eab773d58f scp import: Handle short Track Table and old-style single-sided images. 2020-06-09 08:36:59 +01:00
Keir Fraser
870bd50288 gw info: New option --bootloader to print bootloader version 2020-06-08 14:01:43 +01:00
Keir Fraser
5faead7ada update: Version-check the UPD catalogue entries 2020-06-08 14:00:39 +01:00
Keir Fraser
3d89501538 scp: Track start/end should be indexes into the TDH LUT.
Cooking these values for single-sided images is not actually
correct (it confuses the official SCP software).
Refs #41
2020-06-07 13:03:51 +01:00
Keir Fraser
97eb1ca5ed F7: Support new F7 v2 board design. 2020-06-07 13:01:44 +01:00
Keir Fraser
798a5db854 'gw update': Add a file signature and overall CRC so we can validate
that we are passed a proper valid UPD file.
Fixes #40
2020-06-06 08:56:07 +01:00
Keir Fraser
0e4f9ebe3c gw: Remove 'auto' string for automatic cmd parameter defaults. Default to None instead. 2020-05-27 15:39:36 +01:00
Keir Fraser
bd247bf22b gw read: New optional parameters --rate and --rpm 2020-05-27 15:34:27 +01:00
Keir Fraser
8f0a033938 gw: Fix flux->bitcell conversion when a final long flux is missing.
We should generate extra 0s rather than terminating the bitstring.
2020-05-27 15:31:20 +01:00
Keir Fraser
a30ed8c171 scp: Fix handling of missing versus no-flux tracks 2020-05-27 15:30:44 +01:00
Keir Fraser
49eb4886c0 gw info: Clean up model name handling 2020-05-27 14:08:54 +01:00
Keir Fraser
b4c64cb89b scp: Fix single-sided image handling according to latest SCP spec. 2020-05-27 13:46:53 +01:00
Keir Fraser
13581f2ad3 gw --bt: Backtrace on KeyboardInterrupt 2020-05-22 17:18:28 +01:00
Keir Fraser
3f557cbfb2 gw bandwidth: Improved stat output 2020-05-22 17:11:55 +01:00