GreaseWeazle 0.24 Update
GreaseWeazle Firmware has been updated to V0.24 https://github.com/keirf/Greaseweazle/wiki/Downloads as a result the command line syntax has been updated (Credit to Stephen Day for bringing this to my attention). More information can be found here: https://github.com/keirf/Greaseweazle/wiki/Specifying-Tracks
In addition to the latest GreaseWeazle, you’ll need to download the latest HXC Floppy Emulator software from https://www.hxc2001.com/download/floppy_drive_emulator/, at the time of writing v2.5.6.6 was available and proven to work (early versions had issues correctly decoding GW Firmware > 0.21). It appears HXC haven’t provided the command line frameworks, there was some discussion about macOS Support last year, I’ll raise a query with Jean-François to see what’s happening.
If you are on macOS or Linux, I’ve made a quick update to my script which can be found here: https://github.com/muckypaws/AmstradCPC/tree/master/GreaseWeazle
Pre 0.24 (I haven’t checked 0.22) example deprecated command line syntax:-
./gw read --revs=3 --drive B --ecyl=41 --single-sided filename.scp
Where the end cylinder used the –ecyl parameter and –scyl was the start. This has been replaced with the following syntax (Shamelessley stolen from Keirs Official Repository).
The read, write and erase commands can all act on a specified set of disk tracks. The format specifier is presented by --track= and can contain any of the following elements: c=<set>: Set of cylinders to access h=<set>: Set of heads (sides) to access step=[0-9]: Number of head steps between cylinders (default 1) h[01].off=[+-][0-9]: Physical cylinders of the specified head are offset by the specified amount (used for flippy-modded 5.25" drives only!) <set> is a comma-separated list of integers and integer ranges. For example:c=0-7,9-12:h=0-1
: Accesses both sides of cylinders 0-7 and 9-12.c=0-39:h=0:step=2
: Read a single-sided 40-cyl disk in an 80-cyl drive.c=0-39:h=0,1:step=2:h1.off=-8
: Read both sides of a C64 flippy disk in one pass.
Reading 42 tracks of an Amstrad CPC Disk (I used to modify the ASMDOS Firmware to let me read/write 42 tracks instead of the official 40 tracks available. The command line is now: –
./GreaseWeazle/gw read --revs=3 --track="c=0-41:h=0" --drive B ./scp/bounder024test.scp
Update the Firmware
Full instructions are provided on the official GitHub here: https://github.com/keirf/Greaseweazle/wiki/Downloads and it’s better news for Amiga, C64 and Flippy Disk users, as this release contains many improvements and fixes.
As a quick start, download and unzip the the version for your device (macOS, Linux and Windows are supported).
Connect the GW to your device, power on and type the command
Windows
From command prompt, change to the directory where the gw.exe file is located.
gw.exe info
gw.exe update
macOS and Linux
./gw info
./gw update
If connected, the info command will display info about the connected GreaseWeazle
jason@Jasons-iMac AmstradProject % ./GreaseWeazle/gw info *** WARNING: Optimised data routines not found: Run scripts/setup.sh Host Tools: v0.24 Greaseweazle: Device: /dev/cu.usbmodem4012401 Model: F7 Plus (Ant Goffart, version 2) Firmware: v0.21 Serial: GW002D---------------38 USB Rate: Full Speed (12 Mbit/s)
The first message informs me that I need to rerun the setup.sh script again, which informs me my PIP Installation has a patch available.
jason@Jasons-iMac GreaseWeazle % ./scripts/setup.sh Requirement already satisfied: bitarray in /Users/jason/Library/Python/3.8/lib/python/site-packages (1.5.3) Requirement already satisfied: crcmod in /Users/jason/Library/Python/3.8/lib/python/site-packages (1.7) Requirement already satisfied: pyserial in /Users/jason/Library/Python/3.8/lib/python/site-packages (3.4) WARNING: You are using pip version 21.0; however, version 21.0.1 is available. You should consider upgrading via the '/Library/Frameworks/Python.framework/Versions/3.8/bin/python3 -m pip install --upgrade pip' command. running install running build running build_ext building 'optimised' extension creating build creating build/temp.macosx-10.9-x86_64-3.8 gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c optimised.c -o build/temp.macosx-10.9-x86_64-3.8/optimised.o creating build/lib.macosx-10.9-x86_64-3.8 gcc -bundle -undefined dynamic_lookup -arch x86_64 -g build/temp.macosx-10.9-x86_64-3.8/optimised.o -o build/lib.macosx-10.9-x86_64-3.8/optimised.cpython-38-darwin.so running install_lib copying build/lib.macosx-10.9-x86_64-3.8/optimised.cpython-38-darwin.so -> ../greaseweazle/optimised running install_egg_info Writing ../greaseweazle/optimised/optimised-0.0.0-py3.8.egg-info jason@Jasons-iMac GreaseWeazle %
jason@Jasons-iMac GreaseWeazle % python3 -m pip install --upgrade pip
Requirement already satisfied: pip in /Users/jason/Library/Python/3.8/lib/python/site-packages (21.0)
Collecting pip
Downloading pip-21.0.1-py3-none-any.whl (1.5 MB)
|████████████████████████████████| 1.5 MB 2.3 MB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 21.0
Uninstalling pip-21.0:
Successfully uninstalled pip-21.0
Successfully installed pip-21.0.1
jason@Jasons-iMac GreaseWeazle %
Finally it’s time to update the firmware
jason@Jasons-iMac GreaseWeazle % ./gw update
Updating Main Firmware to v0.24...
Done.
jason@Jasons-iMac GreaseWeazle %
Issue the GW info command to check the firmware has been updated.
jason@Jasons-iMac GreaseWeazle % ./gw info Host Tools: v0.24 Greaseweazle: Device: /dev/cu.usbmodem4012401 Model: F7 Plus (Ant Goffart, version 2) Firmware: v0.24 Serial: GW002D----------------38 USB Rate: Full Speed (12 Mbit/s) jason@Jasons-iMac GreaseWeazle %
That’s the upgrade complete.