Skip to content

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.

1 Comment »

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.