﻿-------------------------------------------------------------------------------
-----------H----H--X----X-----CCCCC-----22222----0000-----0000-----11----------
----------H----H----X-X-----C--------------2---0----0---0----0---1-1-----------
---------HHHHHH-----X------C----------22222---0----0---0----0-----1------------
--------H----H----X--X----C----------2-------0----0---0----0-----1-------------
-------H----H---X-----X---CCCCC-----22222----0000-----0000----11111------------
-------------------------------------------------------------------------------
-- Contact: hxc2001<at>hxc2001.com --------------------- https://hxc2001.com --
-------------------------------------------------------------------------------
HxC Floppy Emulator project
(c) 2006-2019 Jean-François DEL NERO / (c) HxC2001
Forum    : http://torlus.com/floppy/forum
Facebook : https://www.facebook.com/groups/hxc2001
Twitter  : https://twitter.com/jfdelnero

Store    : https://hxc2001.com/store/
-------------------------------------------------------------------------------

                HxC STM32 USB Floppy Emulator release notes

   ( User Manual : http://torlus.com/floppy/forum/viewtopic.php?f=33&t=1683 )
          ( Firmware customization : https://hxc2001.com/custom_fw/ )

   For bug report and feature request don't hesitate to send an email to :

                           hxc2001<at>hxc2001.com

3 September 2019 : Firmware STM32 USB HxCFloppyEmulator v3.4.4.6a ( https://hxc2001.com/custom_fw/ and WIP_Firmware folder )

	- QuickDisk support : Fixes/Timing improvements. Data masked outside the read window.

	- OSD : Keys/Rotary regression fixed.

1 September 2019 : Firmware STM32 USB HxCFloppyEmulator v3.4.2.1a

	- QuickDisk support : Various write enhancement for Roland machines support (Roland S-10,S-220,...)

	- OSD : Keys/Rotary wake-up behavior changed/enhanced.

15 August 2019 : Firmware STM32 USB HxCFloppyEmulator v3.4.1.4a

	- QuickDisk support : More Fixes again ! Blank.qd image : Ready window increased from 5s to 5.5s

14 August 2019 : Firmware STM32 USB HxCFloppyEmulator v3.4.1.2a

	- QuickDisk support : More important write support fixes !

13 August 2019 : Firmware STM32 USB HxCFloppyEmulator v3.4.1.1a

	- QuickDisk support : Write support fixed (DMA descriptors fixed).

11 August 2019 : Firmware STM32 USB HxCFloppyEmulator v3.4.0.0a

	- Work in progress : QuickDisk emulation support added !

		A new build variant is now available to emulate QuickDisk drive !

		The Gotek floppy port to the QuickDisk interface is :
		-- Shugart pin --          -- QuickDisk Machine--

		Pin  2 (/DC)           ->  /MS (/MediaSense)
		Pin 10 (/DS0)          ->  Connect it to GND/VSS
		Pin 16 (/MotorOn)      ->  /MO
		Pin 20 (/Step)         ->  /RS (/Reset)
		Pin 22 (/WriteData)    ->  /WD (/WriteData)
		Pin 24 (/WriteGate)    ->   WG (WriteGate)
		Pin 28 (/WriteProtect) ->   WP (WriteProtect)
		Pin 30 (/ReadData)     ->   RD (ReadData)
		Pin 34 (/Ready)        ->  /RY (/Ready)

		Pins 4,6,8,12,14,18,26 and 32 can be left unconnected on the Gotek.
		Odd pins Gotek pins (1,3,5,7,...,33) should be connected to the GND/VSS.

		The jumper must be set to "MO".

		A Blank QuickDisk floppy disk can be found in the firmware archive in the /QuickDisk folder.

9 August 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.8.15a

	- Fix 3.3.8.14a PC Floppy interface mode regression.

7 August 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.8.14a

	- Faster disk-change state head-step clear and mask ready during the diskchange delay. (Fix Yamaha Clavinova diskchange issue)

24 July 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.8.2a

	- USB stick browser : Faster/smoother files/folders browsing.

	- USB stick folder Auto mount : Faster files copy/image generation.

13 July 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.7.4a

	- You can hide HXCSDFE.CFG, AUTOBOOT.HFE and /mount/emptyfat.img files on the stick now.

9 July 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.7.1a

	- Default 7 segments screen standby / powerup can changed on the custom firmware page : https://hxc2001.com/custom_fw/

8 July 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.6.2a

	- Fix non-working v3.3.6.1a firmware !

8 July 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.6.1a

	- On screen display : Separated HSYNC/VSYNC signals support added :

	For machines without CSYNC (Composite Sync) signal.

	Once this option is enabled the Gotek video IOs are mapped as this :

	OSD Video out : Gotek U8 Pin 5 (PB15).
	OSD Video HSYNC in : Gotek "JTCK-SWCLK" pin (PA14).
	OSD Video VSYNC in : Gotek U8 Pin 1 (PB12).

	See the https://hxc2001.com/custom_fw/ page to get a firmware with this feature enabled.

6 July 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.5.2a

	- New system family raw file support : Roland W30/W50/S50/S330/S550. (7 digits display menu entry -> 019)

	- Fix floppy IO pins state when the select line is permanently low (v3.3.4.1a regression).

6 July 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.5.1a

	- Write codes speed optimizations.

	- HFE : Format support : Fix the "too early index" issue.

4 July 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.4.7a

	- Raw files : Fix interface mode settings. (v3.3.4.4a regression)

4 July 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.4.6a

	- File sorting : Ignore file name case.

	- Direct access : Fix the "set index" command.

	- OSD : CSYNC Pull-up enabled.

	- Fix some possible format issues.

	- Some more optimizations.

2 July 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.4.4a

	- Head settling time default value fixed on the custom firmware page : https://hxc2001.com/custom_fw/

	- "Interface CFG" LCD/OLED/OSD menu entry fixed.

2 July 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.4.1a

	- OSD :
		- Code speed optimizations (CPU pipeline + Flash prefetch optimizations).
		- OSD Polarity can be now set with the "OLED screen polarity" parameter.
		- Better/lower lines jitter while floppy emulation is running.

	- USB : Code speed optimizations (read & write Fifos, ISR).

	- ASM ISR (Step, Drive Select...) : Many code speed optimizations (CPU pipeline + Flash prefetch optimizations).

	- The firmware is now stable with both OSD and floppy emulation working in the same time !

28 June 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.2.1a

	- "Normal mode" / Direct disk browsing : Files entries are now alphabetically ordered.
                                             Folders appears first then the files images.

	- "Load Last selected image" : Fix reload issue with some long file names.

22 June 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.1.2a

	- Fix multi-screens support (OSD + 7 segments screens).

20 June 2019 : Firmware STM32 USB HxCFloppyEmulator v3.3.1.1a

	- New Major feature !!! : On screen display support (OSD overlay)

		The HxC firmware for Gotek now support the On Screen Display !
		You can now select images and see the drive status on the machine's screen without any additional software or LCD/OLED !
		No need to make holes in the machine case anymore ;).

		https://hxc2001.com/download/floppy_drive_emulator/HxCGotek_OSDAmiga1.jpg

		You only need 2 wires and a resistor to connect the Gotek to the machine's video signals :
		One wire is used for the CSYNC video signal (Composite Sync), the other wire for the red, green (prefered) or blue signal.

		One resistor must be put in serie on the color signal between the Gotek and the machine.
		You can use a value between 220 and 470 ohms for this resistor. A potentiometer can be also used to tune the OSD brightness/contrast.

		This was currently tested on Amiga 500, Atari STE and Amstrad CPC 6128 machines, but should work with any machines having a composite sync signal.

		HxC Firmware for Gotek OSD wiring :

		Gotek wiring :

		OSD Video out : Gotek U8 Pin 5 (PB15)
		OSD Video CSYNC in : Gotek "JTCK-SWCLK" pin (PA14)

		Picture : https://hxc2001.com/download/floppy_drive_emulator/HxCGotek_OSD_Mod.jpg

		Amiga 500 :

		OSD Video out : Gotek U8 Pin 5 (PB15) -> 220 / 470 ohms resistor (or a 1k ohms potentiometer) -> Amiga 500 Ferrite bead E432 (see picture).
		OSD Video CSYNC in :  Amiga 500 U41 Pin 8 -> Gotek "JTCK-SWCLK" pin (PA14) (near the serial tx programming pin, please see HxCGotek_OSD_Mod.jpg picture).

		Picture : https://hxc2001.com/download/floppy_drive_emulator/HxCGotek_Amiga500_OSD_Mod.jpg

		Amstrad CPC6128 :

		OSD Video out : Gotek U8 Pin 5 (PB15) -> 220 / 470 ohms resistor (or a 1k ohms potentiometer) -> CPC6128 R128 (see picture).
		OSD Video CSYNC in :  CPC6128 IC116 Pin 5 -> Gotek "JTCK-SWCLK" pin (PA14) (near the serial tx programming pin, please see HxCGotek_OSD_Mod.jpg picture).

		Picture : https://hxc2001.com/download/floppy_drive_emulator/HxCGotek_AmstradCPC6128_OSD_Mod.jpg

		Atari STE :

		OSD Video out : Gotek U8 Pin 5 (PB15) -> 220 / 470 ohms resistor (or a 1k ohms potentiometer) -> Atari STE R420 (see picture).
		OSD Video CSYNC in :  Atari STE R475 -> Gotek "JTCK-SWCLK" pin (PA14) (near the serial tx programming pin, please see HxCGotek_OSD_Mod.jpg picture).

		Picture : https://hxc2001.com/download/floppy_drive_emulator/HxCGotek_AtariSTE_OSD_Mod.jpg

12 June 2019 : Firmware STM32 USB HxCFloppyEmulator v3.2.4.1a

	- Power supply voltage measurement :

		You can now see/read the power supply voltage incoming to the floppy emulator.
		This feature is quite useful to check the machine power supply state/working condition.
		If you want to use this feature you must add this voltage divider to measure
		the power supply on the JC jumper input :

		VSS/GND|---| 1Ko Resistor |--(JC pin)--| 4.7Ko Resistor |---< 5V Power Supply input.
		(See https://hxc2001.com/download/floppy_drive_emulator/HxCGotek_voltage_system_monitor.jpg)

		Notes :
		- Use +/-1% Resistors if possible.
		- This voltage divider support up to 18V.

		Use the embedded menu to access the system monitor :
		Press both buttons to enter the menu. Choose "System Monitor" or "E  " if you have the original 7 segments display.

	- "Temperature" menu renamed "System Monitor".

10 June 2019 : Firmware STM32 USB HxCFloppyEmulator v3.2.3.1a

	- On-die STM32 temperature sensor support : You can get the current CPU core temperature from the embedded menu :
		press both buttons to enter the menu. Choose "temperature" or "E  " if you have the original 7 segments display.

	- Blackberry trackball : Sensitivity reduced/better usability.

5 June 2019 : Firmware STM32 USB HxCFloppyEmulator v3.2.2.3a

	- External/Additional select button support :  Behavioral fix -> remove glitch-like effect when selecting images.

27 May 2019 : Firmware STM32 USB HxCFloppyEmulator v3.2.2.2a

	- Fix the short and long read emulation pipeline buffer size options (custom fw web page).

22 May 2019 : Firmware STM32 USB HxCFloppyEmulator v3.2.2.1a

	- HFEv3 : Weakbits support added.

17 May 2019 : Firmware STM32 USB HxCFloppyEmulator v3.2.1.2a

	- Fix the files extensions display option : you can now also hide the file name extensions in selector/indexed mode.

5 May 2019 : Firmware STM32 USB HxCFloppyEmulator v3.2.1.1a

	- New major feature ! : Auto mount USB stick folder to a FAT/DOS compatible virtual floppy !

	This feature allows you to directly put your files in a stick's folder and mount this folder as a FAT/DOS floppy disk !

	You can use it with any machine compatible with the FAT file system (PC, Atari ST, lots of keyboards/samplers and CNC machines...).

	To use this feature, copy an empty/preformatted DOS IMG image to the stick path "/mount/emptyfat.img"
	This image can be a 720KB or 1.44MB blank DOS image or any other FAT compatible blank image.
	You can use the HxC Floppy Emulator software Disk Browser to create it or take the ones present in the firmware archive.

	Once you select a "mount source" folder on the emulator, the emptyfat.img file is duplicated to a "MOUNTED.IMG" file.
	Then all files/subfolders present into the selected folder are added into this duplicated image.
	(Note : the emptyfat.img remains untouched).

	Your "mount sources" / root folders should have the extension ".mnt" to be mounted by the emulator :
	example : "myvirtualdisk.mnt"

	This new feature can be used with the "normal"/direct browsing (oled/lcd screen usage) and indexed modes.
	For the indexed mode just put the DSKAXXXX prefix in the mount point folder name.
	example : "DSKA0000_MyMidiFiles.mnt"

	Please note that the image duplication and files copy operations can take some seconds.
	I will try to optimize/speedup the mount operations in the next releases.

	Let me know if you have any problems or any suggestions/questions/comments on the HxC forum or by email.

	- FAT 12/16/32 layer write support enhanced to create entries (files & folders) and allocate clusters.

1 May 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.60.5a

	- GeneralMusic S2/S3 : Undocummented floppy format support added + *.gem file extension support.

	- Non-gated interface : Ignore the floppy selection line for the head step + Some fixes.

28 April 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.60.2a

	- Motor-ON signal support to emulate properly the "READY" and "INDEX" signals.
	See the https://hxc2001.com/custom_fw/ to select the input line and tweak the timings.

	- OLED : SSD1305 2.23" 128x32 OLED screen support added.

	- Internal enhancements. (WIP)

12 April 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.48.1a

	New direct raw format support :

		- Yamaha QX3 format (*.IMG,*.DSK)

	7 segments screen menu : Add missing system family entries :

		15 = Robox RC9400
		16 = Kawai
		17 = Yamaha QX3
		18 = User defined format

11 April 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.47.1a

	- New option : Hide the files extensions on the OLED/LCD screens.

29 March 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.46.1a ( -> In the "Diagnostic_Firmware" Folder and https://hxc2001.com/custom_fw/)

	- Gotek I/O Lines Diagnostic/Test mode

		Since this hardware is quite sensitive to ESD and other electrical issues, the floppy lines can be easily damaged.

		This new mode allows you to test/check all Gotek's Input/Output lines with a simple wire.
		The test must be run with floppy ribbon disconnected from the machine.
		Once enabled/flashed with the diagnostic firmware, all outputs will toggle every 2 seconds.
		All inputs states are displayed on the screen.

		-> Input lines test method :

		The default input states should be High (1), so to test an input line you have just to connect it
		to the ground/vss. On the floppy port you just need a jumper to make a contact between the line and the ground.
		Once the jumper is placed between the line pin and the ground/vss pin the corresping input state should turn to Low (0).

		-> Output lines test method :

		All outputs are toggling every 2 seconds during the test.
		(Note : A 1 ms pulse is sent to the JB output at each toggle to test the buzzer ouput)

		Connect the output line to test to one input line (use a tested input by the above method) with a simple wire.
		If the corresponding input status is toggling with the outputs line, then this means that the output line/driver is working properly.

		-> LCD / OLED / 7 segments screens output/input status definition :

		LCD/OLED input lines status format : "IN:123456 789AB"

		1 or Digit-1-segment-a : Floppy Drive Select line (Pin 10 or 12 or 16 -> Depend on the S0/S1/MO jumper !).
		2 or Digit-1-segment-b : Floppy -Direction In (Pin 18)
		3 or Digit-1-segment-c : Floppy -Step (Pin 20)
		4 or Digit-1-segment-d : Floppy -Write Data (Pin 22)
		5 or Digit-1-segment-e : Floppy -Write Enable (Pin 24)
		6 or Digit-1-segment-f : Floppy -Head 1 Select (Pin 32)

		7 or Digit-1-segment-g : Down push button (left)
		8 or Digit-2-segment-a : Up push button (right)
		9 or Digit-2-segment-b : Select push button (JA)
		A or Digit-2-segment-c : Rotary CK (J7-2)
		B or Digit-2-segment-d : Rotary DIR (J7-1)

		7 Segments Digit-3 : 'h' when the outputs are high and 'L' the outputs are low.
		7 Segments Digit-2-segments e,f & g : ON when the outputs are high and OFF the outputs are low.

		-> Floppy connector pinout :

		Pin Signal     Pin  Signal
		01  Ground  (O)02  -High Density Select
		03  Ground     04   Reserved
		05  Ground     06   Reserved
		07  Ground  (O)08  -Index
		09  Ground  (I)10  -Drive Select 0 (*)
		11  Ground  (I)12  -Drive Select 1 (*)
		13  Ground     14   Reserved
		15  Ground  (I)16  -Motor Enable (*)
		17  Ground  (I)18  -Direction In
		19  Ground  (I)20  -Step
		21  Ground  (I)22  -Write Data
		23  Ground  (I)24  -Write Enable
		25  Ground  (O)26  -Track 0
		27  Ground  (O)28  -Write Protect
		29  Ground  (O)30  -Read Data
		31  Ground  (I)32  -Head 1 Select
		33  Ground  (O)34  -Diskette Change/Ready

		(*)Depend on the S0/S1/MO jumper!

		-> 7 segments screen segments definition :

		//   a
		// f   b
		//   g
		// e   c
		//   d

	- Fake/Pre-April Fools "Side 0 tracks file opposite order" option removed from the front page. ;)

26 March 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.45.2a ( -> In the "WIP_Firmware" Folder and https://hxc2001.com/custom_fw/)

-----------------------------------------------------------------------------------------------------------------------------------------
EDIT/NOTE : This release was a fake release with a nonsense feature. Ignore it (nothing was changed versus the v3.1.45.1a).
			There is no image with tracks in opposite order on side 0 in this universe. ;)
			This was an Pre-April Fools day trap for someone ;).
-----------------------------------------------------------------------------------------------------------------------------------------

	- New Custom firmware option : File format -> support now images with tracks in opposite order on the side 0.
									(Side 0 tracks file opposite order option)

24 March 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.45.1a

	- Custom firmware option : Blackberry trackball -> Single and double step support.

	- Custom firmware option : Extra up/down buttons or navigation switchs on the rotary connectors.

	https://hxc2001.com/custom_fw/

21 March 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.44.2a

	- Some fixes in the user defined image feature.

	- Custom firmware option : Display the current track number on the 7 segment screen.

	- Custom firmware option : Debug output on the serial port (115200 8N1).

	- Custom firmware option : Read pipeline buffer size.

	- New system family support : Kawai.

	https://hxc2001.com/custom_fw/

17 March 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.41.1a

	- Blackberry trackball support.

	- Track position display changed to when the screen line size is less than 16 characters.

	https://hxc2001.com/custom_fw/

12 March 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.40.3a

    - Fix some OLED fonts glitches.

	- New parameter : OLED line alignment.

	- New fonts : 8514oem 10x20, xwindow 8x32, unscii 8x32.

	https://hxc2001.com/custom_fw/

11 March 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.40.1a

    - More customization options :

        - 2.42 Inch OLED screen support.
        - 100 khz / 400 khz I2C bus selection.

10 March 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.39.1a

    - Indexed mode files naming convention enhanced :

        - DSKAXXXX become a prefix : You can now add something after the prefix. e.g : DSKA0000_MyDiskName.IMG, DSKA0001_SaveDisk.HFE...
        - The prefix can be changed on the customization page if you don't like it : https://hxc2001.com/custom_fw/

    - AUTOBOOT and config files names are now not case sensitive.

    - And some more fixes (rotary settings...).

    Customization page : https://hxc2001.com/custom_fw/

8 March 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.38.2a

    - More customization options :

        - Raw file image/disk format selection.

        - You can now define your raw file image/disk format !

        - Floppy Interface modes.

        -> https://hxc2001.com/custom_fw/

6 March 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.37.8a

    - More customization options :

        - 16 different oled graphic fonts available.
        - New oled screen models supported (128x32,128x64, SSD1306, SH1106...).
        - Default raw system selection.
        - And many more new options : sound volume, auto select delay, ...

        To customize the firmware with all these new options : https://hxc2001.com/custom_fw/

16 February 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.37.3a

 - New raw formats support :

    - Coat-A-Matic 9400 / Robox RC9400 (*.IMG/*.DSK) (289KB)

15 February 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.37.1a

    - Fix Track 00 issue (v3.1.34.1a regression).

    - AutoSwap support enhanced/completed (sub-folders in normal mode supported).

    - Internal optimizations.

04 February 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.36.2a

    - Direct access mode : Some fixes for the auto disk swap ("AutoSwap") support.

03 February 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.36.1a

    - Direct access mode : New functions
        - Select mode (0x5) :
            Mode 0 - Flash sector access mode (Default)
            Mode 1 - Plain text browser, Entries format : "IIII;T;SSSSSSSS;File name\r\n"
            IIII = Object ID (ASCII HEX Number).
            T = Type -> 'F'=FILE, 'D'=DIRECTORY
            SSSSSSSS = File Size  (ASCII HEX Number).
            Mode 2 - Slot list mode.
        - Change Objects list ID base (0x6) (Plain text browser).
        - Select/Enter Object (0x7) (Plain text browser - Image/Directory selection or File tranfert mode).
        - Set file base offset (0x8) (File transfer mode).
        - Get current selected image (0x9).
        - Select file with path (0xA) (Select image with a plain text file path).

        - MFM & FM support. (see the customization page : https://hxc2001.com/custom_fw/)

        With these new direct access API functions small file selector/browser/swapper/loader can be
        developed without the need of any FAT32 library on resource-limited machines.
        The protocol specification document will be updated soon at this address :
        https://hxc2001.com/download/floppy_drive_emulator/SDCard_HxC_Floppy_Emulator_Direct_Access_mode.pdf

01 February 2019 : Firmware STM32 USB HxCFloppyEmulator v3.1.34.3a ( -> on the firmware customization page : https://hxc2001.com/custom_fw/ !)

 - First online-customizable firmware available !

   Fill up the form on the page to https://hxc2001.com/custom_fw/ customize the firmware.
   The firmware will be recompiled/rebuilt following your requests and sent to the provided email some minutes later.
   This is a fully automated and free service so don't hesitate to play with it ! :).

   More and more options will be added on the customization page.

08 January 2019: Firmware STM32 USB HxCFloppyEmulator v3.1.34.2a ( -> In the "WIP_Firmware" Folder !)

 - Fix v3.1.34.1a regression : Disk density selection issues with some raw formats. Please update.

07 January 2019: Firmware STM32 USB HxCFloppyEmulator v3.1.34.1a

 - Files & Folders names starting with '.' are now hidden.
 - Firmware memory size reduced once again : More tables size optimizations.

19 November 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.32.1a

 - Menu subsystem refactored :
   Smaller code size with more features.
   Menu OLED and sound parameters (Video Inverse, contrast, step sound) are now taking effect immediately.

 - Code optimizations.

6 November 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.31.4a

 - CPC DSK : Write cache flush timeout set to 2 seconds.

4 November 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.31.3a

 - Once again more code size optimizations !

4 November 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.31.2a

 - More code size optimizations.

3 November 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.31.1a

 - Code optimizations.
 - STM32 startup / init functions refactored (WIP).
 - Flash memory code size reduced.

23 September 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.30.2a

 - Inversed Floppy Ribbon detection at power-up :
   "rib" (7 segments display) or "Floppy ribbon reversed !" (LCD/OLed display) message printed at power-up if the floppy ribbon is not connected properly.

 - Code optimizations.

12 August 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.30.1a

 - Fix a regression introduced into the v3.1.28.1a : Fix normal and indexed mode possible browsing issues (unexpected wrap to index 0).
   Please update !

5 August 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.29.1a

 - OLED screen : Standby/screen saver mode - The screen is now dimmed to a minimal level.
   The standby delay can be changed into the setting menu.

 - OLED screen : New Menu entry - "Video" Polarity mode (Normal/Inverse)

31 July 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.28.1a

 - Files Browser : All Files/Folders with the hidden attribut set are not shown anymore... (Hide Windows/MAC system folders)

30 July 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.27.1a

 - Push buttons Auto-repeat : Better/Smoother rate changes. Rate changes delays adjusted.

15 July 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.26.5a

 - Thomson *.FD file support : Faster Loading (sectors interleave factor fixed).

19 June 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.26.1a

 - Fix the "clear settings"/reset factory function.

17 June 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.25.1a

 - Internal improvements.

 - "Double steps per increment" rotary support added.

 - New menu entries :
    - Head settling time. (7 digits gotek meny entry number 6).
    - Rotary type. (7 digits gotek menu entry number 7 - 0=Single Step, 1=Double Step, 3=Disable.).

2 May 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.23.1a

 - 7 segments Gotek : New menu entry : 5 -> Auto select delay setting.
 - Floppy Interface initialized before the screen. (Fix Emu Emulator second drive detection issue).
 - Amiga ID support enabled by default (HD ADF support).

28 April 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.22.6a

 - HFE files : Fix MPC60 MkII formatted images write support regression.
               May also fix possible write issues on HFE files with some others machines/disk formats.
               Update recommended.

26 April 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.22.4a

 - 2 Digits screen Gotek : Fix embedded config menu.

19 April 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.22.3a

 - OLED screen setting sanity check : Do not allow more than 21 characters per line.

3 April 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.22.2a

 - TI99/4A : V9T9/DSK Loader -> Better disk layout detection.

1 April 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.22.1a

 - TI99/4A : Direct support of *.DSK/*.PC99/*.V9T9 sectors dump images
             SD/DD/HD density support (Read & Write).

 - New embedded menu entry : You can now force the user interface mode
                        (Normal/Indexed or selector mode selection).

19 March 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.21.2a

 - USB Direct Access mode code : Index gap increased
                   (Amiga File selector & HxC copy utility under WB fix)

18 March 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.21.1a

 - Indexed mode : Ignore file extension. You can now use any file extension
                  as long as the file is supported by the floppy emulation engine.
                  (Can be DSKA0000.HFE/IMG/DSK/ADF/ADL...)

 - Acorn machines (*.ADL, *.ADM, *.ADF):
                  Sectors gap, interleave and tracks skew aligned to the real machine.

17 March 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.20.1a

 - USB Direct Access mode code refactored :
       - Read/write performance increased (hxcmount).
       - Command/Write indications printed on the LCD.

 - USB access cache : Write timeout value set to 2 seconds.

15 March 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.18.1a

 - Normal mode : Remove unwanted key delay when entering in direct mode.

11 March 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.18.1a

 - End part of the read output pipeline reworked (pulses generator).

 - Akai S20 IMG images : sectors gap and tracks skew aligned to the real machine.

 - Casio FZ1 IMG images : sectors gap and tracks skew aligned to the real machine.

4 March 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.16.3a

 - Fix last the v3.1.16.2a compilation option !
   Please update if you have the v3.1.16.2a released yesterday !

3 March 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.16.2a

 - Autoboot mode + 3 Digits Gotek screen : Fix slot number.

25 February 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.16.1a

 - User interface part : Code Refactored

   - Better buttons behavior.
   - Better/faster rotary behavior.

 - Normal mode : Press both buttons shortly to jump to the first entry of the current
                 folder. ("..")

 - Normal mode : When returning to parent folder ("..") the position in the folder
                 is restored.

 - Autoboot mode : Press both buttons shortly to jump to Autoboot.hfe
                   Press both buttons more than 2 seconds eject/insert the disk.

 - Indexed mode : Press both buttons shortly to jump to DSKA0000.HFE
                  Press both buttons more than 2 seconds eject/insert the disk.

 - 7 segments screen : Now show when an image is inserted ("---") or ejected (" - ")

 - OLED : init algorithm revised for diymore.cc screens.
          (Press the right button at power up at the first diymore.cc screen installation).

 - Various user interface fixes.

If you have any comments or suggestions, requests or issue to report please contact me :

Email    : hxc2001 <at> hxc2001.com
Forum    : http://torlus.com/floppy/forum
Facebook : https://www.facebook.com/groups/hxc2001

-------------------------------------------------------------------------------
-- Work in progress / Alpha Firmwares version :
-------------------------------------------------------------------------------

Cumulative modifications since the last stable firmware version :


18 February 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.10.6a

 - Normal mode : key auto-repeat delay increased.

18 February 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.10.3a

 - Revert filtering changes (Rotary support)

18 February 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.10.2a

 - Keys debouncing filter increased.
 - Normal mode : Wait the select key release after a directory change.

14 February 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.10.1a

 - New interface modes :

            IBMPC_DD_HD (PC Mode with auto density selection)
            S950_DD_HD  (Akai / Shugart-Like Mode with auto density selection)

 - New Family :

            Ensoniq ASR10 (Ensoniq Auto DD & HD support)

 - New 7 segments config menu 1 (Interface mode) entries :

            0F = S900/S950 (Density Auto)
            10 = PC DD/HD  (Density Auto)

 - New 7 segments config menu 0 (System family) entry :

            11 = Ensoniq ASR10 (Ensoniq Auto DD & HD support)

 - Some file system & disks access sanity checks added.

13 February 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.9.1a

 - New menu setting interface menu for normal 7-segments Goteks:

    -> To access it, remove the USB Stick and press both buttons.
      -> Choose the sub menu number - wait some seconds for the selection validation.
        -> Check and/or change the setting - wait some seconds for the selection validation.

    The new setting is then saved into the device.
    Reminder : To clear all settings to the default values, press the right button at power up.

    Current Menu and sub selection definition :

    Menu 0 - System family selection :
            00 = AUTO (DEFAULT)
            01 = Amiga
            02 = Acorn
            03 = Atari ST
            04 = IBM PC AT/XT
            05 = Camputer Lynx
            06 = Commodore 1581
            07 = Thomson
            08 = x68000
            09 = SAMCOUPE
            0A = MSX
            0B = Spectrum
            0C = Akai
            0D = Casio
            0E = Emax
            0F = Ensoniq
            10 = General Music
            11 = Korg

    Menu 1 - Interface mode :
            00 = AUTO (DEFAULT)
            01 = IBM PC DD
            02 = IBM PC HD
            03 = ATARI ST DD
            04 = ATARI ST HD
            05 = AMIGA DD
            06 = AMIGA HD
            07 = CPC DD
            08 = GENERIC SHUGART DD
            09 = IBMPC ED
            0A = MSX2 DD
            0B = C64 DD
            0C = EMU SHUGART
            0D = S950 DD
            0E = S950 HD

    Menu 2 - Write protect mode :
            00 = AUTO (DEFAULT)
            01 = Write protected.
            02 = Write enabled.

    Menu 3 - Double Step :
            00 = AUTO (DEFAULT)
            01 = Single step
            02 = Double step

    Menus 4<->E : Not currently assigned.

    Menu F - Display firmware version


06 February 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.8.1a

 - Raw files : Write sector performance increased.
               Near Real time sectors write !

05 February 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.6.0a

 - Low level Floppy IO optimizations.

04 February 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.5.1a

 - Raw *.IMG PC Files : Use the DOS 6.22 disk layouts.
 - And as always some code optimizations.

02 February 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.5.0a

 - Cache flush fix :
   Do you not reorder the cache when not needed ( e.g when the track fit the cache size )

 - CFG File V1 fix (Autoboot mode) :
   slots support now file images with 2 characters filename extension...

 - More code Speed optimizations. (again ! :) )

01 February 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.4.0a

 - More Code Speed optimizations.
 - RAW MFM & FM Images (IMG/ST/...) :
        - More Write speed improvement : Sector Data cache prefetch.

31 January 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.3.0a

- RAW MFM & FM Images (IMG/ST/...) :
        - Write speed improvement :
              - Track cache workflow improvement.
              - Code optimization (CRC16, MFM 2 BIN...).

29 January 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.2.0a

- *.ST 720KB Files : Switch to the TOS 1.62 Disk Layout.
- RAW files loader : Internal enhancement.

27 January 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.1.4a

- Config file "Load last loaded floppy" flag is now supported
  in indexed and file selector mode.

27 January 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.1.3a

- Normal mode Fix : ST files are visible again !

21 January 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.1.2a

- "Load Last selected image" : Save & Restore previous folder position.

15 January 2018: Firmware STM32 USB HxCFloppyEmulator v3.1.1.1a

- Fix broken Rotary support in normal mode.
  (Connection points reminder : Clock -> J7 pin 2,Direction -> J7 pin 1)

17 December 2017: Firmware STM32 USB HxCFloppyEmulator v3.1.1.0a

More direct raw formats support :

 - Akai formats (*.IMG)
 - Casio FZ1 (*.FZ1)
 - Emax machines formats (*.IMG)
 - Ensoniq EPS & Mirage series formats (*.IMG)
 - General Music formats (*.IMG)
 - Korg formats (*.IMG)
 - X68000 (*.HDM,*.XDF)

 - Internal optimizations.

Please report any issue to hxc2001 <at> hxc2001.com
And if you want a specific file/disk format supported by the HxC firmware, send me an email too !

Thanks ! :)

03 December 2017: Firmware STM32 USB HxCFloppyEmulator v3.1.0.4a

Major update !

- New direct file formats support (Read & Write !) :
 - Acorn machines : *.ADL,*.ADM,*.SSD,*.DSD and *.ADF file support
 - Camputer Lynx : *.LDF
 - Commodore C64 : *.D81
 - Thomson machines : *.FD
 - Sam Coupé : *.SAD, *.MGT
 - MSX Machines : *.IMG, *.DSK
 - Spectrum : *.TRD, *.SDD

- New menu entry : Target system family selection.
  This reduce a lot the risk of erroneous raw file identification.

- Lots of RAW file support improvements :
  All sector sizes supported, advanced track skew and interleaving support.
  FM & MFM support.

- Amstrad CPC DSK support : Fix for the One Disk/double sided Batman demo.

- Fix attempt of the "diymore.cc" OLED screens : OLED init screen delay
  menu option added.
 (Note : Please avoid these "diymore.cc" screens until i got an idea
  what is the root cause of the issue.)

- Internal improvement : Track cache layer improved, RAW files support/identification improved.

Please report any issue to hxc2001 <at> hxc2001.com
Thanks ! :)

11 November 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.33.12a

- Extra LCD size option added :
    - 2x40 characters (for 2x40 I2C-HD44780 screens)

- Clear internal settings function : Press "up" button at power up to
  clear the settings with the default values.

- SP1200 write support fix.

26 October 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.33.4a

- CPC DSK / RAW DSK : If not a CPC DSK file, open it as a RAW image.
- RAW Image : *.DSK and *.OUT files support added.

25 October 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.33.3a

- System tick optimization.

19 October 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.33.2a

- OLED screen support : Characters generator code speed optimization.

17 October 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.33.1a

- Config-Less Mode :

  Use the settings saved into the device internal flash memory and
  switch to normal/direct selection mode when no HXCSDFE.CFG are present.

  To change settings without config file, just use the embedded config menu
  (Remove the USB Stick and press both buttons to enter it).

  NOTE : Without HXCSDFE.CFG the last image selection is not saved.

- More CPC DSK format variant support.(again !)

15 October 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.32.5a

- More CPC DSK format variant support.

15 October 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.32.4a

Normal/Direct selection mode :

   - Don't load at power up the last selected image if this one was previously ejected.
   - Don't load at power up the last selected image if a button is pressed.

10 October 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.32.3a

Amstrad CPC EDSK & DSK : Fix some DSK identification issues.

10 October 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.32.2a

Amstrad CPC EDSK & DSK : Fix file type detection with CPC File selector v2.5

10 October 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.32.1a

Amstrad CPC EDSK & DSK : Write Support working !

9 October 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.31.2a

Amstrad CPC EDSK & DSK support : Fix issues with non-standard sector size images (Midline Process...).
                                 256/512/1024/2048/4096/8192 sector size supported.

9 October 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.31.1a

- Amstrad CPC DSK direct support added (Old and new format) : Read only for the moment.
  Write support and simple copy protection support incoming ;).

7 October 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.30.1a

- New setting menu item : auto selection setting.
  You can now set the desired timeout for the auto selection
  function or disable it.

4 October 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.29.5a

- Normal mode : Fix random "Bad file" and IMG read issue at power up/USB stick
  change.

- Some optimizations.

30 September 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.29.1a

- Write pipeline issue fixed.

- Fix : IMG/IMA/DSK and ST files are now visible in normal/direct browsing mode.

- Rotary support added. Connection points : Clock -> J7 pin 2,Direction -> J7 pin 1.

This version passed the 10 Hours intensive Read/Write tests successfully.
(R/W HD Density @ 500Kbits/s on HFE & IMG files).

24 September 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.28.1a

- HD ADF and non standard ADF sizes support added.

- HxCFEUSB_V3_0_28_1a_EXPERIMENTAL_AMIGADRIVE_ID firmware variant :
  Experimental emulation of the Amiga drive ID circuit.
  You need to strap the MTRON input to the J7's Pin 1 (The display connector).
  This variant is experimental, not ready for daily usage.

16 September 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.27.1a

- Extra LCD resolutions and sizes options added :

    - 2x16 characters (for 2x16 or 2x20 I2C-HD44780 and 128x32 OLED screens)
    - 2x18 characters (for 2x20 I2C-HD44780 and 128x32 OLED screens)
    - 2x20 characters (for 2x20 I2C-HD44780 and 128x32 OLED screens)
    - 2x21 characters (for 128x32 OLED screens only)

To select the desired resolution, enter the internal menu, and choose the "LCD size" sub-menu.

- To enter the internal config menu you can now press both up and down buttons. (without usb stick inserted).

- The internal config menu can now be browsed without the selection button, just wait 4 seconds to select an item.

- SD HxC Floppy Emulator internal EEPROM emulation added : The parameters changed into the internal config menu are
  now saved into the Flash memory and restored/used at power up.

- Some more internal optimizations.

11 September 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.26.6a

- Fix early adopter bootloader support (Before june 2015)

9 September 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.26.4a

- Fix write support with non contigus/fragmented tracks into the image (usb stick fragmentation issue).

6 September 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.26.3a

- SSD1306 OLED screen support fully working and enabled.
  You can now connect an SSD1306 based 128x32 OLED screen.

  These screens are compatible with this firmware : http://www.ebay.com/itm/302110929185  ( IIC Interface ! )

  You can connect the screen directly to the J7 connector. (additional pull-up resistors NOT required.)

 - GND, VCC 3V3, SCL and SDA position on J7 :

                           _____|
                          |     |
                          | USB |
                          |_____|
        OO______________________|
    SDA OO|SCL
    GND OO|VCC3V3
        J7|
          |
__________|

! > Take care with the 3.3V and GND while connecting the screen. Any mistake may damage the screen ! < !

3 September 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.25.1a

- Disk change signal delay reduced when swapping the images.

- Faster HFE write :
  - HFE write cache size extended.
  - Huge write back function optimization.

- Write flux decoder buffer size reduced to optimize the write latency (ACA500 ARIII support) .

- SSD1306 OLED support (W.I.P!) : SSD1306 Init and mire test.

- Floppy Interface assertion/deassertion IRQ completely turned into assembly.

- USB Stack optimization.

20 August 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.24.1a

- GPIOs access speed up (IRQ latency reduced).
- Write flux decoder speed up (+50%).
- I2C/LCD low level routines optimized and prepared to support the incoming OLED screen support.
  ( + I2C transmission issues fixed)
- User interface : Fix the printed total number of slot in autoboot and indexed mode.
- Indexed mode + LCD : The file name is printed (Fix).

17 August 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.23.5a

- Fix format/track write issues introduced by the v3.0.23.3a

17 August 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.23.3a

- Write descriptors and write pipeline added :
  The drive can now "capture" a new floppy write while it is writing
  previous write(s) to the stick.

11 August 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.22.1a

- Step signal : Faster irq.
- Write gate : glitch filter fixed.

11 August 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.21.6a

- LCD Display : Set the CGRAM address at init/reinit.

10 August 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.21.5a

- LCD Display : Automatic screen recovery/reinit.

10 August 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.21.4a

- LCD Display : Screen updater optimized.

9 August 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.21.3a

- Indexed/Selector mode : Fix the UP/DOWN buttons behavior.
- Attempt to fix the OLED mod support.

9 August 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.21.2a

- LCD Display : Fix possible blackout/garbages issue.

8 August 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.21.1a

- LCD Display : Refresh rate adjusted and I2C dead lock issue fixed.

- Normal / direct browsing  mode :

Auto selecting the current image or subfolder if you don't
press the buttons during than 4 seconds. If needed, the file name
scroll during the delay time.
This modification make the additional select button optional.
Of course the LCD still needed for this mode.

- Indexed/selector mode :

Delay added before selecting the image. Browsing through the slots
is smoother. If needed, the file name scroll during the delay time.

- 7 segments display :
  New error/message codes :
  "FAt" : Fat init error.
  "NFL" : No file. Empty stick ?
  "CFG" : Config file not found !
  "cFG" : Bad config file !
  "Nor" : Warning -> in Normal/Direct browsing mode. You should use a LCD screen.
  "AUt" : Autoboot.hfe not found.
  "Err" : File image error !
  "Ldr" : Into the bootloader.

- Config file save : Before writing to the disk, check that this is really needed.
                     (Parameters change check)

7 August 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.20.1a

- Low level I2C & LCD IO redesigned and optimized.
- Long names are now scrolling on the LCD during floppy emulation.
- Short name image type identification issue fixed.
- USB "Hot plug" support fixed in autoboot/"file selector" mode.

4 August 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.19.2a

- New buttons behaviour and better debouncing filter. Navigation user-experience should be better now.
- Disk Eject function : Press both buttons to eject the disk. Working in indexed, autoboot mode, and normal mode.
- "Eject at power up" option added.
- Support up to 999 Images in autoboot mode (with the File selector) (Use the new CFG file and selector to use this feature)
- LCD : Display refresh improvements.
- New CFG file format : Some new flags and no more slots/disk drive limitation.
- Some critical parts rewritten in assembly. Huge code speed improvement -> Better HD density reliability. ED density to be tested ;).
- Code size reduced.
- Advanced USB mass storage cache implemented to improve read/write reliability.
  (Btw : Now when track size can be stored into the SRAM, the emulator will not read forever the data from the stick but use the cached data instead).
- IMG/ST file write support done.
- Huge RAW (*.ADF/*.ST/*.IMG) Write performance enhancement (Write 2 tracks at once !)
- RAW *.IMG files can be used in indexed mode : Name the files DSKA0000.IMG,DSKA0001.IMG,DSKA0002.IMG,...
- HFE write performance enhancement.
- "Autoboot.hfe not found" message added.
- 7 segments display "dots" glitch fixed.
- 128 & 256 bytes sectors support added in raw mode.
- FM support : Write to HFE file fixed.
- FM support : Raw (*.dsk) read/write support.
- New File format support (WIP) : HFEv3. Can now support copy protected images converted from IPF and others similar formats !
  Variable bitrate supported (CopyLock & SpeedLock). Weak/Flakey bits support to be added !
- Fix IPF support for these games: Jim Power, Z-Out,Xenon 2,Ghosts'n Goblins,Rainbow Islands,B.A.T II  and probably some others !
- Slot number printed on the second line during slot search with an LCD.
- XCopy write issue fixed.
- Sound buzzer output on the "JB" jumper position. You can connect a piezo or a magnetic buzzer (transistor needed for the magnetic version).
  The sound output can be disabled or enabled into the selector settings.
  (Note : Please remove these old sound mod using directly the step signal, they are producing reliability problems...)
- Mixed track format/density write support fixed (To be tested!).

  Current direct images support : *.HFE (RW),*.HFE V3 (RW) (early write support), *.ADF (RW), *.ST (RW), *.IMG (RW).
  Note : HFE files is a multiplatorms floppy image format supporting many systems and disk formats.

Selector software :
- New Bootblock for the Amiga version : The file selector is now "trackloaded" and start faster.
- Speed up the sub-directory change/browsing.
- Can start an image from the slot page with the F7 key.
- The File selector is now available under Windows and Linux ! : You can now edit the list from a PC !. (Compatible with all SD/USB HxC drives !)
  To launch it : HXCFEMNG -disk:[SD/USB drive letter:]
  See the selector readme file for more details.
  This is a new selection solution for all others machines without native file selector available.
- Linux/Windows version : You can now import from txt file / export to txt file / auto populate / check / fix and clear your slots configuration.
  Very useful for fast populating and compilations duplication ;)
- Windows version : Fix big size (>8GB) usb stick/sd access issue.
- populateslots option : autoboot.hfe filtered.
07 aug 2017:
- Fix the config file access error when the file haven't the archive flag set.


Converter / HxC Software :
- WIP : HFEv3 Import/export support added. This format support copy protections (variable bitrate protections and soon weakbits protections).

Thanks to all alpha/beta testers for testing the firmware and reporting the issues ! :)

-------------------------------------------------------------------------------
-- Stable Firmware versions :
-------------------------------------------------------------------------------

31 May 2016: Firmware STM32 USB HxCFloppyEmulator v3.0.8.2a

    - HD floppy disk format issue corrected : write buffer size corrected.

15 April 2016: Firmware STM32 USB HxCFloppyEmulator v3.0.8.1a

    - Last selected image save issue corrected.

14 April 2016: Firmware STM32 USB HxCFloppyEmulator v3.0.8.0a

    - "Autoboot"/ File selector mode :
       Fast backward/forward mode : Keep the button pressed to speed up the image change.
       Press both buttons in the same time to jump the autoboot/file selector image.

    - "Indexed mode :
       Fast backward/forward mode : Keep the button pressed to speed up the image change.
       Press both buttons in the same time to jump the DSKA0000 image.

       Up to 1000 indexed images (DSKA0000-DSKA0999).

21 January 2016: Firmware STM32 USB HxCFloppyEmulator v3.0.6.7a

    - Tandy TL/2 write issue corrected - glitch filter reduced
      (Probably solve write issue with some others machines too).

    - 2 digits display init issue corrected (I2C timeout reduced).

    - LCD support : Characters glitches with some long file name corrected.

11 October 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.6.6a

    - Some more random crash issues corrected into the disks images managers.
      USB Stack updated.
      Firmware Update strongly recommended !

26 September 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.6.4a

    - Random crash issues corrected into the disks images managers.

23 September 2015: Firmware USB HxCFloppyEmulator v3.0.6.3a

    - Some user interface delays added to make it more usable ;)
    - "Press select for the Setting menu" text added.

20 September 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.6.2a

    - Normal mode : Endless init loop corrected.

20 September 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.6.1a

    - Amiga : Disk change detection corrected : Desert Strike, Dizzy Crystal and
                  probably others games disk change detection are now working properly.

    - Direct access mode : Correct interface mode set when activated from an PC HD image.

13 September 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.6.0a

    - Low level write layer redesigned : Some write issues solved.

    - 2 digits display detection issue corrected.

    - HFE : Index timing changed/corrected.

    - Select button added at the JA jumper position.
      This additional button and the I2C LCD screen allow you to freely
      select a file image without the indexed mode or any selector software.

    - Indexed mode : "Previous"/"Minus" button repeat rate reduced.


3 August 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.5.4a

    - Amiga : Extra Disk change delay added. Solve some disk change issues (Protracker 3.15, Defender of the Crown,...).

25 June 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.5.1a

    - CPC Fileselector issue corrected (-> If no file extension, HFE format mode is selected).

20 June 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.5.0a

    - Direct *.ST / *.IMG file support added :)

    (Read only - Write support incoming !)
    For Atari ST users, you need to update your file manager too :
    https://hxc2001.com/download/floppy_drive_emulator/SDCard_HxC_Floppy_Emulator_Manager.zip

    Current image support : *.HFE (RW), *.ADF (RW), *.ST (RO), *.IMG (RO).
    (Note/Reminder : The HFE format was designed to be universal. This one can be used with many types of machines).


17 June 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.4.0a

    - I2C LCD auto detection/scan and communication improved/corrected

    - Low level pulses generator improved :
        - Code size reduced.
        - 250Kbits/s, 300Kbits/s, 500Kbits/s support (FM/MFM).
        - Variable bitrate & flakey bit support "Ready" ;)

07 June 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.3.1a

    - Some IOs timing improved.

        - Agony game issue almost corrected.

06 June 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.3.0a

    - USB Sticks are now mounting a way faster at power up ! :)

    - I2C LCD display support added !

    These kind of I2C LCD board is compatible with the firmware :

    http://www.ebay.com/itm/IIC-I2C-TWI-SP-I-Serial-Interface-Board-Module-Port-For-Arduino-1602LCD-Display-/310565362720?pt=LH_DefaultDomain_0&hash=item484f235c20
    (board only - without the LCD)

    http://www.ebay.com/itm/IIC-I2C-TWI-SPI-Serial-Interface-Board-Module-Port-for-Arduino-1602LCD-Display-/161245616356?pt=LH_DefaultDomain_0&hash=item258afcd8e4
    (board only - without the LCD)

    http://www.ebay.com/itm/New-Blue-IIC-I2C-TWI-1602-16x2-Serial-LCD-Module-Display-for-Arduino-/221439853893?pt=LH_DefaultDomain_0&hash=item338ed80545
    (board + LCD)

    http://www.ebay.com/itm/IIC-I2C-TWI-SP-I-Serial-Interface1602-16X2-Character-LCD-Module-Display-Yellow-/310565065933?pt=LH_DefaultDomain_0&hash=item484f1ed4cd
    (board + LCD)

    Any I2C address is supported : The firmware scan automatically the I2C bus at power up (0x20-0x27 and 0x38-0x3F address range scanned)
    So there is no specific requirement about the I2C address setting.

    To connect the I2C LCD, you have to connect SDA & SCL at the J7 connector (see below).
        Please note that 2 additionals 4.7Kohms pull up resistors (+5V) are needed on SCL & SDA.
    the +5V and GND wire can be connected on the programming connector (see below) :

    If you want to build the I2C board yourself, here is the schematic:
    https://hxc2001.com/download/floppy_drive_emulator/Ext_Slim_HxC_Floppy_Emulator_I2C_LCD_Schematic.pdf


- Possible +5V source on the PCB (on the programming connector):

 _____________________________
 |
-+--- NC
-+--- GND      O J3 (BOOT0)
-+--- GND      O VCC3V3
-+--- +5V     OO TX
 |        +5V OO RX
 |        GND OO RST
 |--
 |  |
 |  |


 - SCL & SDA position on J7 :

                           _____|
                          |     |
                          | USB |
                          |_____|
        OO______________________|
    SDA OO|SCL
    GND OO|VCC3V3
        J7|
          |
__________|



31 May 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.2.5a

    - CPC & Shugart disk change signal timing corrected.
    - Dead lock issue while existing the direct access mode corrected.

23 May 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.2.2a

    - Amiga Disk change timing corrected. (Goal!, Arabian Nights, and probably other titles)
    - The last disk selected is now saved to the USB Stick.
    - Long press on one button allows to select the manager disk (000).

15 May 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.2.0a

    - ADF Write support is now working correctly !
    This firmware have now the full Read & Write capability for both ADF & HFE format !

11 May 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.1.1a

    - Ready  / Dskchg amiga timing corrected.

11 May 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.1.0a

    - ADF file support added :)
    (Write support not tested yet ! And Manager v1.13 needed -> Please update it! :
    https://hxc2001.com/download/floppy_drive_emulator/SDCard_HxC_Floppy_Emulator_Manager.zip )


30 April 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.0.1a

    - Write Data line filter reduced (CPC issue)

28 April 2015: Firmware STM32 USB HxCFloppyEmulator v3.0.0.0a (HFE file support - "Gotek" HW)

    - First public USB version firmware.

        -> FAT 12 / FAT 16 / FAT 32 USB stick support.

    -> Read & Write support.

    -> DD (MFM 250) & SD (FM 250) density support.

    -> Software compatible with the SD HxC Floppy Emulator : Use the same HXCSDFE.CFG file.

    -> USB Direct Access mode : Direct Floppy to USB bridging. Protocol compatible with the SD HxC :
       see https://hxc2001.com/download/floppy_drive_emulator/SDCard_HxC_Floppy_Emulator_Direct_Access_mode.pdf
       Amiga, Atari ST and CPC file managers are working with this firmware.

