Files
greaseweazle-firmware/RELEASE_NOTES
2020-06-08 14:21:43 +01:00

157 lines
6.9 KiB
Plaintext

************************************
** Greaseweazle Release Notes
** Keir Fraser <keir.xen@gmail.com>
************************************
** v0.19 - 8 June 2020
- F7 v2: Support for the new board design
- gw update: Signature and CRC validation checks
- gw read: Fix end-track field in single-sided SCP images
** v0.18 - 28 May 2020
- gw read: New parameters --rate and --rpm
- rate: Bitcell data rate in kbit/s (eg 250=DD 500=HD)
- Used only for HFE images right now, where default is DD (250)
- rpm: Normalise track timings to the given RPM value
- This occurs before any other conversion or analysis
- gw info: New command to display information about the Greaseweazle setup
- gw bandwidth: Improved stats output
- SCP: Fix single-sided image handling according to latest SCP spec.
- Operates correctly with latest beta version of HxC software
- F7: Support new board designs
- AmberTronic F7 Plus: Kryoflux form factor, output buffers, 12v supply
- F7 Lightning: High Speed USB, output buffers
** v0.17 - 19 May 2020
- Windows: New self-contained executable distribution
- No need to install Python, or module dependencies
- Mac, Linux: Main script is directly executable
- No need to manually invoke the Python interpreter
- GW host tool: Help-text description for each available action
** v0.16 - 15 May 2020
- F7 Firmware: Enable over-drive voltage mode
- Required for reliable 216MHz operation (see datasheet)
- Bootloader update:
- 'gw.py update --bootloader' updates the bootloader
- Not normally required
- Failure may brick the Weazle and require full reflash: Take care!
- Update build system to work with Windows MinGW environment
** v0.15 - 5 May 2020
- Host tool improvements:
- IPF: More robust conversion to raw flux for writeout
- HFE: Fix crash when writing out HFE from third party tools
- F7 Firmware improvements:
- Preparation for High Speed USB (future board using 730Z8 MCU)
- Enable Instruction and Data caches (10x execution speedup)
- Various improvements to bandwidth as reported by 'gw.py bandwidth'
** v0.14 - 29 April 2020
- IPF: Full write support (weak data, index misalignment)
- New GW commands: bandwidth, erase
- bandwidth: Measure USB read/write bandwidth
- erase: Erase a disk
- F7 USB: Improved bandwidth when writing to disk
- Much less likely to see FluxUnderflow failures
- update: Fix a bug which could fail to reopen the GW device for update
- update: Automatically find the update file if filename not specified
- Control script: Tidier notification of errors (no scary backtrace)
** v0.13 - 25 April 2020
- HFE: Read & write support
- IPF: Preliminary write support
- Requires SPS/CAPS support library. See the wiki.
- Weak data not yet supported (RNC "Protect Process" protection, & others)
- Write splice is always rotated to the index (affects Speedlock & others)
- Also TODO: Verified writes
- USB: Use the VID:PID pair assigned to Greaseweazle (1201:4d69)
- New prerequisite: 'bitarray' module. See the wiki.
** v0.12 - 10 March 2020
- GW Autodetect: General improvements, and now works on Windows 7
- New read parameter --double-step to double-step drive heads
- Useful for reading a 40-cylinder disk in an 80-cylinder drive
- New 'pin' command allows a floppy pin to be set to specified level
- Currently supported only for pin 2 (DENSEL)
- New 'reset' command resets the Greaseweazle to power-on settings
- Motors off, drives deselected, power-on pin levels and delay values
** v0.11 - 21 January 2020
- GW.py: Auto-detect the COM/serial port device name
- The device argument is now optional!
- USB: Provide a serial-id string to the host
- Identifier is unique to each Greaseweazle device
- Allows disambiguation between multiple Greaseweazle devices
- Recommended: Full flash from HEX file (embeds serial in bootloader)
- Ubuntu: Udev script now creates a /dev/greaseweazle symlink
** v0.10 - 17 January 2020
- STM32F7xx: Multi-drive support via drive-select config option
- Up to three Shugart drives or two IBM/PC drives
- gw.py read|write --drive {a,b,0,1,2}
- See the "Drive Select" wiki page
** v0.9 - 7 January 2020
- Activity LED
- Lights while a USB-issued command is in progress
- Flashes when enumerated but idle in the firmware-update bootloader
** v0.8 - 6 January 2020
- STM32F73xx: Various Fixes and Improvements
- Allow Firmware Update mode to be forced via strapping Serial RX/TX
- Fix bogus sample values at start of read flux values
- Fix some time constants to be in units of the sample clock
- USB: Advertise USB 2.0 device descriptor
** v0.7 - 6 December 2019
- USB: Fix end-of-stream detection on track writes
- Writes of empty/unformatted tracks sometimes hung forever
- No Flux Area: Firmware automatically masters long NFAs during track writes
- Generating no flux transitions does not read back as a NFA
- STM32F73xx: Initial support for new STM32 MCU
- Two HEX files are included: Use Greaseweazle-F1-* for existing boards!
- Single unified UPD file containing both firmware images
** v0.6 - 15 November 2019
- gw.py: Big overhaul of underlying Python package
- Action (read, write, update) must come first on the command line
- eg. "python3 gw.py read --ecyl=39 foo.scp COM3"
- gw.py: New action "delays" to print/set delay parameters
- eg. "python3 gw.py delays --step=10000" to increase step time to 10ms
** v0.5 - 11 November 2019
- USB: Overhaul the protocol and allow writes to be terminated at index
- Terminate-at-index is always used by current Python control script
- Terminate-at-index prevents an over-long write from overwriting itself
- Fix interruption of track writes (eg. KeyboardInterrupt)
- gw.py: New option --adjust-speed to normalise flux times for target drive
- Measures RPM of the target drive and calculates an adjustment factor
** v0.4 - 5 November 2019
- Blinky: Diagnostic test firmware to detect fake STM32 chips
- https://github.com/keirf/Greaseweazle/wiki/STM32-Fakes
- Floppy Write: Fix for very short flux timings
- Floppy Read: Fix for very long flux timings
- USB: Small improvement to double-buffer logic
** v0.3 - 30 October 2019
- Bootloader: Fix Programming-Jumper detection
- Read Track: Various minor fixes
- SCP: Fix the SCP file headers generated by "gw.py read"
** IMPORTANT USER INSTRUCTIONS **:
- Users must serial-update using the v0.3 HEX file
- DO NOT update from v0.2 using the UPD file
- May need to install the crcmod package: eg "pip3 install crcmod"
** v0.2 - 29 October 2019
- USB: Fix hangs during "gw.py read"
- Thanks to Charlie Smurthwaite for telling me how to fix this!
- USB: Improved bandwidth (double-buffered IN/OUT endpoints)
- Reduces risk of buffer underflow/overflow during disk operations
- Firmware Update: Requires a jumper across A14 (aka DCL) and GND
- eg. "python gw.py update Greaseweazle-v0.2.upd COM3"
** v0.1 - 17 October 2019
- First release