flashfloppy/RELEASE_NOTES
2024-01-11 13:53:15 +00:00

856 lines
35 KiB
Text

************************************
** FlashFloppy Release Notes
** Keir Fraser <keir.xen@gmail.com>
************************************
** v3.42 - 11 January 2024
- HFEv3: Various read/write improvements
- WDATA: Merge short write pulses, and apply de-jitter/precomp
- IMG, EDSK: Stream large sector writes to flash
** v3.41 - 14 July 2023
- AT32F415: Fix timer handling since clock speed increase (v3.39).
- LCD: Faster power-on initialisation. Don't wait for display to clear.
** v3.40 - 27 June 2023
- XDF: Fix writes to side 1 of XDF disk images
- HFE: Better handling of long No Flux Areas
- QuickDisk: Reduce motor spinup time to 1 second (previously 2 seconds)
- LCD: Completely blank display when backlight is off
** v3.39 - 1 March 2023
- AT32F415: Run this MCU at 144MHz (previously 72MHz).
- HFE: Fix HFEv3 support. Support Dungeon Master & Chaos Strikes Back.
- IMG.CFG: Support mixed sector sizes per track (Ensoniq Mirage etc).
- IMG.CFG: New option img_bps= allows padding of short sectors in IMG files.
- FF.CFG: New option notify-volume= for notifying on insert/eject events.
- FF.CFG: New OLED display sub-option 'hflip' horizontally flips display.
- Various other small fixes.
** v3.38 - 4 December 2022
- AT32F435: Fix RDATA release on drive deassert
- SF7: Support Sega SF-7000 *.SF7 images
** v3.37 - 20 October 2022
- Amiga: Fix firmware crash when mounting read-only disk image
- Since v3.36 when interface=amiga and motor-delay= is configured
- Amiga: Respect MOTOR when motor-delay= is configured and disk ejected
- Previously the MOTOR signal was ignored when no disk inserted
** v3.36 - 10 October 2022
- AT32F435: Fix SD card handling on boards which support it
- FF.CFG, OSD: New options osd-columns= and osd-display-order=
- Amiga: Improved pin 34 ID/RDY emulation
- Requires AT32F435 MCU and MOR jumper strap
- Requires FF.CFG options: interface=amiga, motor-delay=500
** v3.35 - 4 August 2022
- AT32F435: Fix Quick Disk firmware
** v3.34 - 4 July 2022
- AT32F435: Fix startup to MCU spec (LDO voltage, Flash clock divisor)
- AT32F435: Cache HFE and QD image data, since there is plenty of RAM
- Allow rotary encoder on pins PA13/PA14 on any board except QFN32 MCU
- io-test: Fix io-test alt firmware for modern Gotek boards
** v3.33 - 20 June 2022
- Support new board SFRKC30.AT4.35
- Support new chip AT32F435 (288MHz M4, 256kB+ Flash, 384kB SRAM)
- New UPD file format and explanatory README: Please read!
** v3.32 - 28 May 2022
- Fix 'oled-font=8x16' option (broken in release 3.31)
- Improve drive-select ISR performance
- Fixes issues with fast Amiga accelerators
** v3.31 - 23 May 2022
- Fix Gotek drive detection with Amiga Kickstart ROM v3.2.1
- QD: FF.CFG alternative to JC jumper (no JC on SFRKC30.AT2 model)
- Place "interface=ibmpc" in FF.CFG
- OLED: New "-slow" modifier to slow down I2C bus for glitchy displays
- AUTOBOOT: Disallow writes to MBR, which can trash the USB drive
** v3.30 - 26 January 2022
- IMG.CFG: New option step= allows to specify double-step operation
- FF.CFG: New option max-cyl= allows limiting head-step range
- SFRKC30 Gotek Models: Improved rotary support on new "KC30" header
** v3.29 - 2 October 2021
- Support new Gotek board SFRKC30.AT2 using AT32F415KBU7-4 (QFN32)
- Support LQFP64 AT32F415RxT7 chips on existing "Enhanced Gotek" boards
- IMG: Fix default GAP2 for ED (eg. 2.88M) images
- IMG.CFG: New parameter gap2= to set Post-ID Gap value
** v3.28 - 2 July 2021
- Gotek model SFR1M44-U100LQD: Fix occasional rotary encoder issue
- This model uses SFRKC40.AT4.7 PCB with encoder on new pin header
- Rotary encoder would occasionally not be detected at power on
** v3.27 - 2 July 2021
- Fix v3.26 regression in button handling for GOEX hardware
** v3.26 - 24 June 2021
- Support new Gotek board SFRKC30.AT4.7
** v3.25 - 25 April 2021
- IMG, DSK: Fix track formatting on Artery microcontrollers
- Firmware would crash during format operations
** v3.24 - 15 April 2021
- Beta support for new Artery microcontrollers used on latest Gotek models
- See the wiki for more details
- https://github.com/keirf/FlashFloppy/wiki/Gotek-Compatibility
- IMG: Fix skew/interleave on MSDMF (1.68M) images
** v3.23 - 31 December 2020
- OLED/LCD: Fix missing folder name display row when inserting USB drive
- IMG.CFG: New examples for Roland, Sinclair QL, Kaypro
- IMG.CFG: Now supported in HxC-compat and indexed navigation modes
- IMG: Fix default 8-inch single-density data rate
- IMG, HFE: Support 255-cylinder image files
** v3.22 - 17 November 2020
- Fix various crashes when mounting a Flash drive with stale IMAGE_A.CFG
- FAT FS: Support filesystems for which cluster table is "too small"
- Windows and Linux will mount these volumes, thus so should we
- FF.CFG: New OLED display-type option: -inverse
- Reverse-video effect (black text on white background)
- FF.CFG: display-order= option affects normal display modes only
- Ignored in all banner and menu modes, to avoid jumbled display
- FF.CFG: Fix display-type parsing for OLED-specific options
- Ignore them unless an OLED display is explicitly configured
** v3.21 - 26 October 2020
- Support GUID Partition Table (GPT)
- Now support: GPT, MBR, and no partition table
- FatFS: Updated to R0.14, patchlevel 2
** v3.20 - 15 October 2020
- Eject Menu: Replace Clone with Copy/Paste
- Allows an image to be copied to a different folder
- Navigation mode: Copy to selected folder by holding Select for 1.5s
- FF.CFG: New option "rotary=v2" to use v2.x encoder logic
- Fixes a very few encoders which don't work with stricter v3.x logic
- FF.CFG: New option "twobutton-action=htu"
- Implements hundreds/tens/units button actions of the factory firmware
- IMG.CFG: New parameters:
- tracks: Track-scoped parameter lists (geometry can vary by track)
- h: Override default IDAM Head field
- gap4a: Override default post-index track gap
- IMG.CFG: Tag names are now case insensitive
- IMG.CFG: Tag by file size and/or name
- IMG.CFG: Implement some example configurations under examples/Host/
- IMG: Fix some of the more bizarre default track geometries
** v3.19 - 28 September 2020
- Amiga, ADF: Fix X-Copy verified writes with out-of-order sectors
- Remember the latest written sector order for current cylinder
- Forgotten after head step or disk eject but sufficient for X-Copy
- FF.CFG: New interface= options 'jppc' and 'jppc-hdout'
- jppc: pin2=nc, pin34=RDY, Japanese PC standard
- jppc-hdout: As above but pin2=HD_OUT, similar to ibmpc-hdout
- akai-s950 is retained as a legacy alias for jppc-hdout
** v3.18 - 23 September 2020
- OLED/LCD: Fix potential minor display corruption
- Only seen with 128x64 OLED displays, bottom right corner
- alt/logfile: Write FFLOG.TXT to correct folder (root or FF/)
- IMG, DSK: Various cleanups to sector-write handling
** v3.17 - 17 September 2020
- DSK: Fix infinite loop when trying to open a bad DSK image file
- Quick Disk: Restart read stream immediately after a write
- QD support now works on Sharp MZ-800
- IMG.CFG: Remove [default] stanza from example config
- Users copying the example file will no longer break their IMG files
** v3.16 - 22 August 2020
- Rotary encoder: Velocity curve during image navigation
- Fast spin of the encoder skips multiple entries per click
- LCD/OLED/OSD: Fix image name when display is wider than 24 characters
- HFE: Fix double-step HFE images (broken since v3.14a)
- HxC Compat: Strip filename extension from image name display row
** v3.15 - 23 July 2020
- New stable release series
- Improve rotary encoder robustness by sampling at 4x higher rate
** v3.14a - 15 July 2020
- Properly implement non-existent tracks as empty / unformatted
- In particular this avoids writing tracks beyond end of disk image
- See issue #309: Could corrupt HFE images
- Akai IMG: Implement track skew (faster access and fixes Oberheim DPX)
- Speaker: Rate-limit step pulses at the speaker
- Avoids high-freq chirp in Direct Access mode and Gotek-aware fast loaders
- HxC Compat, v9-FF:
- Atari ST keymap is now QWERTY
- Remove unused settings from drive setup menu
- Fix the search/filter box (Esc and Backspace keys)
** v3.13a - 13 March 2020
- FF.CFG: New option 'write-drain=eot'
- Fixes writes to Gotek on Amstrad PPC series (#320)
- FF.CFG: New option 'display-on-activity=sel'
- Turns on display whenever the Gotek drive is selected by host
- HFE: Respect double-step header flag
- Fixes 180k disk images on Amstrad PCW (#318)
** v3.12a - 7 February 2020
- IMG: Support IBM 3174 1.2M and 2.4M formats (host=ibm-3174)
- HxC: Fix HxC mode with no file selector (AUTOBOOT.HFE)
- FF OSD: Fix dual-display operation with slower OLED
- Wait for OLED to initialise when display-type=oled...
** v3.11a - 30 December 2019
- LCD/OLED: Fix subfolder name, as shown in 3- & 4-row displays
- Subfolder wasn't updated correctly when moving to parent (..) folder
** v3.10a - 28 December 2019
- Bootloader: Wait for buttons to be pressed then released...
- ...before starting firmware update process
- Avoids an infinite loop when reprogramming Bootloader itself
** v3.9a - 27 December 2019
- IMG: Fix density-select pin output for HD images
- Fixes 'pin02=dens' and 'interface=ibmpc-hdout'
- Bug has existed since v2.2a
- Rotary Encoder: Improve tracking
- Higher frequency, and better debounce algorithm
** v3.8a - 10 December 2019
- USB: Fix buffer overflow when parsing string descriptors
- Fixes crash with recent SanDisk Ultra Fit drives
- HxC Compat, v8-FF: Fixes startup crash on Atari ST
- Amiga: Fixes for "interface = amiga" setting
- TR-DOS (TRD): Fix geometry when TR-DOS header is incomplete
- Quick Disk: Larger read/write window in default blank image
- GCC9 build fixes
** v3.7a - 11 November 2019
- Quick Disk Bug Fixes
- Fix write offsets and lengths within QD track
- Filter ADF images from navigator: only QD images supported
- Extra logging in FFLOG.TXT for debug purposes
- Amiga AutoSwap new title: Gobliiiins
- Thanks to Arkadiusz Makarenko!
- https://github.com/keirf/flashfloppy-autoswap/wiki/Downloads
** v3.6a - 13 October 2019
- Quick Disk Initial Release
- New firmware and blank QD image in alt/quickdisk
- Documentation in the Wiki
- Update HxC Compat to v7-FF
- Fix failure when booted on unmodded A1200 ESCOM boards
** v3.5a - 9 October 2019
- New Main Menu: Press Prev/Next or Select with no Flash drive inserted
- Factory Reset, Firmware Update, OSD Config
- OSD: Must be updated to latest version: v1.7 or later!
- OSD: Receive Gotek button commands via I2C
- OSD: Default to 40 columns if no other display is connected
- TR-DOS (TRD): Fix geometry detection based on TR-DOS header
** v3.4a - 25 September 2019
- FF OSD support
- Bus sharing with existing LCD/OLED display
- Gotek buttons can be remoted to FF OSD for OSD configuration
** v3.3a - 8 July 2019
- FF.CFG: New Disk-Change Reset option: chgrst=delay-N
- Automatically clears the DSKCHG signal Nx0.5s after disk insertion
- chgrst=delay-3 fixes Disk Change on Ensoniq EPS synths
- Change head-step signal handling to reduce interrupt rate
- OLED/LCD: Fix current-folder display line for image-on-startup=init|static
- image-on-startup=static: The static image is now specified in INIT_A.CFG
** v3.2a - 25 June 2019
- OLED: New default layout for 128x64 displays
- LCD: Support 20x4 character displays
- LCD: Row ordering is configurable
- FF.CFG: Rename oled-text= to display-order= to reflect this
- Eject menu: Confirmation required for Delete/Clone operations
- Trackball: Reduce jitteriness by adding simple inertia
** v3.1a - 13 June 2019
- OLED: Text height and content can be configured (FF.CFG:oled-text=)
- New default for 128x64 displays presents a new third text row
- LCD/OLED: Present an action menu when an image is ejected
- Includes Clone and Delete Image operations
** v3.0a - 10 June 2019
- Disk Change Reset: Emulate explicit Reset signal of certain vintage drives
- Requires a hardware modification and FF.CFG: chgrst=pa14
- Support ZHONGJY_TECH 2.23" 128x32 displays based on SSD1305 controller
- FF.CFG: display-type=oled-128x32-ztech
** v2.13 - 7 June 2019
- HFE: Fix read buffering error
- Update HxC Compat to v6-FF
- More robust error checking on writes
** v2.12 - 2 June 2019
- HFEv3: Support flaky/weak bytes
- LCD/OLED: Improve power-on initialisation robustness
- Roland: Direct support for *.OUT images
- IO-Test: New alternative firmware to test Gotek I/O pins
- https://github.com/keirf/flashfloppy/wiki/Testing-IO-Pins
** v2.11a - 23 May 2019
- Simpler bootloader update process with all-in-one update file
- Update firmware via SD card (enhanced Goteks with SD card slot)
- FF.CFG: sort-priority= to prioritise folders vs files during navigation
- Default: Folders are listed before files
** v2.10a - 20 May 2019
- Fix breakages since v2.2a:
- host=acorn: *.ADF handling
- host=tandy-coco: *.DSK handling
** v2.9a - 17 May 2019
- FF.CFG: New option motor-delay= to provide emulation of motor behaviour
- Requires modification of a standard Gotek PCB (see Wiki: Hardware Mods)
- Debug logging: An alternative firmware is provided to log to FFLOG.TXT
- Find the alternative update file in alt/logfile/
- Use this for personal interest or as directed by me for debugging
- Not for general use!
- IMG/DSK: Better RAM handling (more space for mass-storage block cache)
- Code optimisation (MFM decode speeded up 4x)
- Small fix to generate INDEX signal when starting read near end of track
** v2.8a - 10 May 2019
- DSK, IMG: Fix small error in generated MFM data
- Increase write buffer to 32kB, enough for a full high-density track
- More reliable whole-track writes, especially to HFE images
** v2.7a - 23 April 2019
- Sort folders into alphabetical order during direct navigation
- FF.CFG: folder-sort= to modify this new default behaviour
- Fix memory corruption issues (stack overflow)
- ATR: Interleave sectors for best performance over slow SIO interface
** v2.6a - 14 April 2019
- Fix feature breakages in v2.5a
- SSD/DSD/TRD auto-extend feature
- FF.CFG: eject-on-startup=yes feature
- Update HxC Compat to v5-FF
** v2.5a - 12 April 2019
- Fragment-offsets cache implemented at the FAT filesystem layer
- Block cache implemented at the mass-storage volume layer
- Faster image selection/navigation in large folders
- Improved reliability in image handling (reduced access latencies)
- USB stick will usually stop flashing when drive is not being accessed!
- FF.CFG: New rotary input options
- 'trackball': Blackberry-style trackball
- 'buttons': Push-to-ground Prev/Next buttons
** v2.4a - 9 April 2019
- This release fixes many raw track formats (SSD, DSD, OPD, VDK, ...)
- Thanks to John Gray for bug report, and testing!
- RAW: Fix FM track generation
- FM and IAM flags not plumbed through from front-end image handlers
- RAW: Fix interleaved/skewed track generation
- Data fetch not loading sectors from image file in the right order
** v2.3a - 8 April 2019
- OLED: Auto-detect SSD1306 vs SH1106 display controller
- FF.CFG: 'display-type = ...-sh1106' is now redundant and ignored
- ATR: Fix readability of downloaded ATR images
- Invert data as it is read/written, mirroring the standard XF551 interface
- Thanks to Piotr for this report (using his XF551 clone)
** v2.2a - 5 April 2019
- New image types supported:
- XDF: 3.5" HD eXtended Disk Format (1840kB)
- ATR: Atari 8-bit
- 7-Seg LED: Improved track display.
- Remove option 'led-trk' from FF.CFG. Track display mode is always on.
- OLED: Fix horizontal offset on SH1106 128x32 displays
- IMG.CFG: 'id' parameter simplified; 'sskew' renamed 'hskew' (head skew)
** v2.1a - 26 March 2019
- IMG.CFG: Allow up to 256 sectors per track
- IMG.CFG: Split skew into per-cylinder and per-side values (cskew/sskew)
- IMG.CFG: Introduce image-file layout option (file-layout=<csv-list>):
- sequential,interleaved: Cylinder-first or side-first track ordering
- reverse-sideN: Side-N cylinders in reverse order (high to low) (N=0,1)
- sides-swapped: Ordering of disk sides is swapped in the image file
- 7-Segment LED: Display track number when an image is mounted
- FF.CFG: "display-type = led-trk"
- Displays slot number as usual during image selection/navigation
- First button press reverts to slot display; Next press begins navigation
- LCD/OLED: Display full cylinder number on displays wider than 16 columns
- Previously truncated at cylinder 99
** v2.0a - 14 March 2019
- IMG: Allow geometry to be manually configured in new file IMG.CFG
- See examples/IMG.CFG for documentation
- Multiple formats can be defined; distinguished by image name tags
- IMG: Support FM mode with Index Address Mark (IAM)
- IMG: Support auto-configuration of GAP3 (post data gap) when using IMG.CFG
- FF.CFG: Fix parsing of comma-separated values
- Indexed Mode: Allow arbitrary image name after "DSKAnnnn" prefix
- eg. DSKA0000_myimage.img, DSKA0002_another.adf
- Indexed Mode: Allow the "DSKA" prefix to be changed (FF.CFG:indexed-prefix=)
** v1.0 - 4 February 2019
- Game/demo AutoSwap-disks feature
- No manual disk swapping, at all!
- Requires patching of host software titles
- Amiga titles so far (github:keirf/flashfloppy-autoswap):
- Beneath a Steel Sky
- Indiana Jones and the Fate of Atlantis
- The Secret of Monkey Island
- Monkey Island 2: LeChuck's Revenge
- FF.CFG: New OLED display-type sib-option "-narrower"
- 16-character-wide display (c.w. "-narrow" 18-char-wide)
- PC98: Direct support for HDM image files
- HxC Compat: Small fixes to Amiga file selector
** v0.15 - 8 January 2019
- Support Enhanced Gotek with SD card connector
- Board requirements are in the wiki (Hardware Mods)
- USB drive, if inserted, takes priority over SD card
- SD card is not supported for firmware update
** v0.14 - 7 December 2018
- Direct Access: Fix broken sector writes (USB corruption)
- Primarily affected the CPC/ST file selectors (not Amiga)
- Broken since v0.12
** v0.13 - 2 December 2018
- IMG: Support Casio FZ-1 (host=casio)
- IMG: Support SC Prophet 3000 (host=akai)
- Display D-A/DA/"Host Direct Access" in host file selector
** v0.12 - 27 November 2018
- IMG: Support Nascom 1 & 2 (host=nascom)
- Direct Access: Support FM/SD access on cylinder 254
- Direct Access: Support CMD_SELECT_IMAGE (cmd #4)
- HxC Compat: Fix occasional "LBA Change Test Failed" error
- Improvements to ribbon-upside-down checks
** v0.11 - 1 November 2018
- Detect and report upside-down data ribbon cable
- FF.CFG: Configurable OLED brightness/contrast (oled-contrast=)
- FF.CFG: Configurable head settle time (head-settle-ms=)
- FF.CFG: Fix comma-separated-list parsing (eg. rotary=)
** v0.10 - 30 October 2018
- FF.CFG: Allow up/down inputs to be reversed
- Reverse original two buttons (twobutton-action=reverse)
- Reverse rotary encoder direction (rotary=reverse)
- Modified version numbering scheme and remove alpha status
** v0.9.31a - 28 October 2018
- HFE: Sanity-check critical header fields
- FF.CFG: Better docs on pin02/pin34 options
- HxC Compat: File selector updates
** v0.9.30a - 9 October 2018
- TI99: Fix V9T9/DSK double-sided images
- HxC Compat: Enter slot-based mode even with no AUTOBOOT.HFE
- HFE: Support HFEv2 images
** v0.9.29a - 17 September 2018
- New and improved image handlers:
- ST: Fix 80-cyl single-sided images
- IMG: Kaypro (host=kaypro)
- IMG: MSX fix 40-cyl/5.25" formats (host=msx)
- IMG: PC-DOS fix missing IAM (host=pc-dos)
- IMG: All: Support long sectors (>1024k)
- Indexed mode: Don't require DSKA0000 image
** v0.9.28a - 26 August 2018
- New image types supported:
- IMG: Fluke 9100 (host=fluke)
- MBD: Spectrum MB02
- LCD/OLED: Display folder names in brackets
** v0.9.27a - 27 July 2018
- Direct Navigation: Fix hidden-file and dot-file filtering
- Direct Navigation: Filter __MACOSX/ resource-fork folders
** v0.9.26a - 24 July 2018
- DSK (CPC): More fixes for copy-protected tracks
- New image types supported:
- JVC, DSK: Tandy Coco (host=tandy-coco)
- VDK: Dragon
** v0.9.25a - 18 July 2018
- DSK (Spectrum, CPC, Sam Coupe): Fix tracks with little or no data in them
- FF.CFG: New options pin02= and pin34= allow precise interface configuration
** v0.9.24a - 9 July 2018
- DSK (Spectrum, CPC, Sam Coupe): Bug fixes. Please upgrade!
** v0.9.23a - 6 July 2018
- DSK (Spectrum, CPC): Support weak-data copy protection
- Used on most of the top commercial titles
- OLED: Utilise all rows on 128x64 displays
- LCD: Support up to 40x2 displays
- SSD, DSD (BBC): Add correct sector skew across tracks
- IMG: 1680kB DMF has 2:1 sector interleave
** v0.9.22a - 20 June 2018
- OLED: Support SH1106 controller (1.3-inch displays)
- FF.CFG: display-type = oled-128x64-sh1106
- Support a wider range of rotary encoders
- FF.CFG: rotary = quarter | half | full
- New image types supported:
- D81: Commodore 64 1581
- IMG: DEC RX33, RX50 (host=dec)
** v0.9.21a - 11 June 2018
- New default 6x13 font (Codec, by Chris Cannam)
- IMG: Support MSX (host=msx)
- Accelerate the stock Gotek buttons when using a rotary encoder
- FF.CFG: "twobutton-action = rotary-fast"
- HxC-Compat File Selectors:
- New font on Amiga and Atari ST
- Faster folder navigation on Amiga
** v0.9.20a - 6 June 2018
- New image types supported:
- IMG: UKNC/DVK (Soviet PDP-11 clones) (host=uknc)
- IMG/FDI: NEC PC-98 (host=pc98)
- IMG: Common retro IBM/PC formats work out of the box
- IMG: Detect disk layout from PC DOS BPB (host=pc-dos)
- Auto-extend truncated images (SSD, DSD, TRD images only)
- "extend-image=no" disables this feature
** v0.9.19a - 1 May 2018
- Amiga: Support high-density disk images
- ADF: 1760kB images
- Generate HD-ID pattern on pin 34 (interface=amiga)
- DSK: Fixes for Sam Coupe, and others with long tracks
** v0.9.18a - 19 April 2018
- Fix HxC compatibility mode ("LBA change test failed")
- SDU: Improve geometry detection
- More bug fixes to read-data ring-buffer handling
- LED 888 Display: Show firmware version when right/up button pressed
- LCD/OLED: When browsing through images, reset scroll to start of each file
** v0.9.17a - 17 April 2018
- New image types supported:
- Acorn DFS SSD/DSD
- Acorn ADFS 'S' (160kB)
- Akai 800kB (host=akai)
- Memotech IMG (host=memotech)
- SAB Diskette Utility (SDU)
- TI-99/4A DSK/V9T9 (host=ti99)
- New interface types supported:
- Akai S950 (interface=akai-s950)
- Bug fixes to read-data ring-buffer handling
- HFE: Improve write performance (batch reads/writes up to 8 blocks)
- OLED: Increase default initialisation probe to 3s
- USB: Respect volume write-protect status
** v0.9.16a - 16 March 2018
- Support ADFS D/E/F images (suffix *.ADF, FF.CFG: host=acorn)
- Direct Access: Fix sector data CRCs
- Reliability improvements for Acorn systems (index-suppression=no)
- Rearrange floppy read/write buffering to avoid corruptions
** v0.9.15a - 9 March 2018
- UI: Fix subfolder navigation when returning to parent folder (#66)
- OLED: Auto-detect OLED displays at I2C address 0x3d
- ST: Mimic TOS by applying track skew to ST image files (#44)
- 7-Seg LED: Allow write protection to be toggled as on LCD/OLED
- Support Ensoniq DD/HD custom IMG formats (host=ensoniq)
- Support IBM PC interface with density select (interface=ibmpc-hdout)
- Direct Access: Support track with fewer than 8 data sectors (#62)
** v0.9.14a - 4 March 2018
- Fix write pipeline: record track number for delayed write processing
- General Music (GEM): New host option "host=gem" for direct IMG support
- Direct support for Spectrum Opus Discovery (OPD) image files
- HFE, ADF: Batch writeback to the USB drive where possible
- FF.CFG: Replace "index-during-seek" with "index-suppression"
- Direct Access: Restart read at correct track position after a write
** v0.9.13a - 1 March 2018
- HFE: Emulate non-standard drive speeds (eg. Sony 600 RPM drive)
- HFE: Fix single-sector writes (broken since v0.9.8a)
- Direct Access: Support up to 64-sector track (Atari ST HxC Mount)
- Direct support for Spectrum TR-DOS (TRD) image files
** v0.9.12a - 27 February 2018
- LCD/OLED: Long filenames scroll during navigation
- LCD/OLED: Make filename scrolling more configurable
- FF.CFG: {nav,display}-scroll-{rate,pause}
- Direct navigation: ".." returns to subfolder position within parent
- Fix head-seek settle time emulation
- ADF: Generate longer tracks, like a real Amiga would
** v0.9.11a - 23 February 2018
- Fix Direct-Acesss mode (as used by HxC Autoboot, broken in v0.9.10a)
** v0.9.10a - 22 February 2018
- New default OLED font 6x13 displays more text per line
- 7x16 font removed
- 8x16 font MAY be removed, let me know if you use it!!
- Narrow OLED view (default Gotek display cutout) supported
- FF.CFG: display-type = oled-128x32-narrow
- All images can be write-protected by default
- FF.CFG: write-protect = yes
- Write-protect switchable by holding eject for 2 seconds
** v0.9.9a - 19 February 2018
- Fix write problems present in v0.9.8a (issue #53)
- Support rotary encoders with proper Gray code output
- FF.CFG: rotary = none | simple | gray
** v0.9.8a - 8 February 2018
- Pipelined writes
- New writes are buffered while older ones are written to the USB drive
- More reliable write/format/disk-copy operation with slower USB drives
- FF.CFG: Allow OLED display to be rotated 180 degrees (upside down)
- display-type = oled-128x32-rotate
- FF.CFG: Support BBC Micro with 8271 controller
- Index pulses must continue during seek (index-during-seek = yes)
- Index pulses must not be delayed by seek (track-change = realtime)
** v0.9.7a - 29 January 2018
- Performance & reliability improvements (eg. Github issues #35, #44):
- Sync data read after writes, prevents host missing next sector
- FF.CFG: Sync data read after track change (track-change=instant)
- Prevents host missing the first sector
- Old behaviour is configurable (track-change=realtime)
- FF.CFG: host=akai, support Akai synths with 1.6MB HD IMG files
** v0.9.6a - 17 January 2018
- USB: Fix power-on initialisation for some USB sticks
- FAT: Write-protect image files marked with read-only attribute
- ST: Support 11-sector .ST images
** v0.9.5a - 1 December 2017
- FF.CFG: New button assignment for rotary-encoder setup
- twobutton-action = rotary
- FF.CFG: Allow navigation mode to be specified
- nav-mode = native | indexed | default
** v0.9.4a - 30 November 2017
- Automatic support for crippled 'diymore' OLED displays
- FF.CFG: New option display-probe-ms (replaces startup-delay)
- FF.CFG: New option twobutton-action allows eject on two-button press
** v0.9.3a - 22 November 2017
- DSK: Fix disk write handling
- HFE: Improve read speed for HD images, reduce buffer underruns
** v0.9.2a - 21 November 2017
- DSK: Improve handling of per-sector status codes
- Fix bugs in front-end file handling & folder navigation
** v0.9.1a - 16 November 2017
- Acorn ADFS image support (ADM, ADL) [Daniel Jameson]
- Better detection of DSK image type (CPC-DSK vs raw sector file)
** v0.9.0a - 15 November 2017
** Amstrad CPC / Spectrum +3 DSK support
- DSK directly supported for read and write. Please report any issues!
- Improved error reporting
- New FF.CFG option "startup-delay = N"
-------------------------------------------------------------------------
** v0.8.8a - 7 November 2017
- Better error reporting (filesystem, media, power, image handling)
- Optional feature enhancements for Gotek clones
- Third button (select) may be used instead of prev/next for firmware
update and factory reset
** v0.8.7a - 17 October 2017
- Start in ejected state if button pressed or image previously
ejected (when "image-on-startup = last")
- Divide the configuration flash page into multiple slots to
reduce the number of erase cycles when FF.CFG is repeatedly
modified
** v0.8.6a - 13 October 2017
- New FF.CFG option image-on-startup
- Rename LASTDISK.IDX to IMAGE_A.CFG
- If image-on-startup is a folder, go directly into image selector
** v0.8.5a - 13 October 2017
- Cache FF.CFG values in Flash memory for next power on, replacing
'factory defaults'. Restore defaults by pressing both buttons.
- Glitch filter for SIDE-select signal (Kingstener)
- Small improvements to FF.CFG option and value naming
** v0.8.4a - 11 October 2017
- Bootloader OLED Display Fix (display was not enabled in update mode)
- Integrate 7x16 OLED font into main build, configurable in FF.CFG
** v0.8.3a - 10 October 2017
- Always search for HXCSDFE.CFG/AUTOBOOT.HFE in root folder, even
when FF/ subfolder exists
** v0.8.2a - 10 October 2017
- Parse FF.CFG file (see examples/FF.CFG for options)
- LCD/OLED: Don't display bogus 'folder depth' in Autoboot mode
** v0.8.1a - 30 September 2017
- Fix config-less navigation with simple digit displays
- Respond to USB stick pull when in ejected state
- LCD/OLED: Increase activity timeout to 60 seconds
- LCD/OLED: Turn on display on drive activity
** v0.8.0a - 29 September 2017
** Subfolder support
- Navigate subfolders in config-less mode
- All config files can now be stored in FF subfolder
- LASTDISK.IDX file now stores full path to the selected image
- OLED: Display turns off after timeout (same as LCD backlight)
- Wrap slot number at 0 and max when navigating
- Easter egg for Anders Kling. Thanks for your support!
-------------------------------------------------------------------------
** v0.7.4a - 25 September 2017
- Fix RDATA handling, specifically when drive B on an Amstrad CPC.
Reported by ikonsgr (EAB / Ebay) -- Thanks!
** v0.7.3a - 24 September 2017
- HxC: Respect autoboot- and ejected-on-startup flags
- Support 3rd button for eject and for immediate (re-)insert
- Do not wrap slot number at 0 and max.
** v0.7.2a - 21 September 2017
- Fixes to track timing and index position
- Properly emulate a single-headed drive
** v0.7.1a - 21 September 2017
- HFE: HFEv3 support
- HFE: Correctly set bitcell size for writes
- HFE: Reliability fix, read whole USB-disk sectors
- ADF: Support a wider range of ADF sizes
** v0.7.0a - 19 September 2017
** IMG/ST image handling. Rotary Encoder support.
- IMG and ST image files directly supported for read and write.
Please report any issues!
- Connect a rotary encoder to use in place of directional
buttons: Thanks to Fook42 (A1K/EAB). Documentation describes
how to connect.
-------------------------------------------------------------------------
** v0.6.3a - 18 September 2017
- Remove Amiga AUTOBOOT.HFE and config files from the distribution.
The HxC original files work fine, so forking is unnecessary.
- Resync index pulse after write handling: this dramatically
speeds up FAT filesystem access in the AUTOBOOT file selectors.
- Reorganise and update the documentation.
** v0.6.2a - 13 September 2017
- Prettier 7x16 'narrow' LED font (Kingstener)
- Remember last-selected slot in no-config mode (LASTDISK.IDX file
must exist). Thanks to Fook42 (A1K/EAB).
- Ignore glitches on SIDE-select signal (fix for Eric Gustafson's A3000)
- Various fixes for file selector on Atari ST and Amstrad CPC
- Suppress index pulse when writing to USB stick. Makes slow writes
more reliable (avoids timeouts on the host).
- Optimised memory copying and clearing
** v0.6.1a - 31 August 2017
- Support 2-digit LED display
- Suppress LCD update of side number when another drive is selected
** v0.6.0a - 24 August 2017
** PC Interface Support. OLED Fixes & Narrower Font Support.
- Allow PC Floppy Interface (DSKCHG on pin 34) to be selected via a
jumper at position JC. Default interface (no jumper at JC) remains
Shugart, as compatible with many non-PC systems including Amiga.
- Kingstener: Support narrower 7x16 OLED font. Allows entire display to be
visible through the 3-digit cutout in the Gotek case. This is a separate
firmware build, update file is in distribution subfolder alt/.
- OLED reliability fixes.
-------------------------------------------------------------------------
** v0.5.0a - 15 August 2017
** Greater stability on A1200 and accelerated Amigas
- I/O latency reduced on drive select/deselect. Results in more reliable
drive detection on A1200, with and without accelerator, and on warm
and cold reboots.
-------------------------------------------------------------------------
** v0.4.4a - 14 August 2017
- Improvements to power-on initialisation: initialise the floppy
interface earlier, start on cylinder 0, and don't trigger a spurious
step command
** v0.4.3a - 13 August 2017
- Fix DSKCHG handling. Should make disk insertion more reliable,
especially on Amiga with noclick patch.
** v0.4.2a - 11 August 2017
- More efficient I2C handling for OLED and fix synch during flash
update process.
** v0.4.1a - 11 August 2017
- Improve I2C robustness
** v0.4.0a - 10 August 2017
** 128x32 I2C OLED Display support
- Support for 0.91" I2C OLED (128x32, SSD1306 controller).
- Various optimisations and bug fixes.
-------------------------------------------------------------------------
** v0.3.2a - 7 August 2017
- Fix buffer overrun in HFE image handler when cannot read data from
USB stick fast enough.
- Update the Amiga AUTOBOOT.HFE with latest changes from upstream,
and bump version number.
** v0.3.1a - 7 August 2017
- Fix buffer overflow when copying long filenames in no-config mode.
** v0.3.0a - 6 August 2017
** Config-less & indexed operation
- Operate with no AUTOBOOT.HFE (requires HXCSDFE.CFG in 'indexed
mode'): files must be called DSKA0000.HFE, DSKA0001.HFE, and so
on. ADF images are also supported.
- Operate with no HXCSDFE.CFG! Buttons will cycle through all valid
images in the USB root folder.
- Step-pulse speaker is supported on output JB. Recommend buffering
through an NPN transistor unless using a piezo speaker (high
resistance).
- Long filenames scroll on the 1602 LCD
- LCD backlight timer, scroll speed, and step speaker volume all
configured via HXCSDFE.CFG (when available)
- Hack workaround for X-Copy problems. Verified writes/copies are now
reliable!
-------------------------------------------------------------------------
** v0.2.1a - 26 July 2017
** Fixes for LCD handling
- More reliable startup
- Fix crashes and deadlocks in operation
- More efficient command transmission (one I2C transaction for
successive commands)
- Support 0x38-0x3F I2C addresses
** v0.2.a - 25 July 2017
** 1602 LCD + Drive Logic Fixes
- 1602 LCD handling: Will recognise a 1602 LCD with "I2C backpack" as
used (and connected) for the usual "HxC LCD mod". Does not yet
scroll long filenames, this will be added shortly.
- Drive Logic: Will now play nicely in multi-drive systems and make
AmigaDOS much less confused (no more DF1-3:BAD type messages!)
- The bootloader is also modified to talk to the 1602 LCD: if you
want this feature then you must also update the bootloader by doing
a full serial or USB/DFU flash of the main HEX file.
-------------------------------------------------------------------------
** v0.1a - 21 July 2017
** Initial release
- Works only as sole drive in a host system (eg disconnect external
drives!)