-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-----------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-----222222----0000-----0000----1111------------
-------------------------------------------------------------------------------
----------------------------------------------------- http://www.hxc2001.com --
-------------------------------------------------------------------------------
09 July 2012: Firmware SD HxCFloppyEmulator v1.7.1.2

    - Drive A <> Drive B constant polling issue corrected (Atari ST).
    - Better SD Card error handling.

08 July 2012: Firmware SD HxCFloppyEmulator v1.7.1.1

    - New embedded setting menu : To access this menu remove the SDCard and press the select button
                                  By this menu you can  : 
                                     ->Change the floppy Interface mode
                                     ->Change the bitrate
                                     ->Change the track step mode
                                     ->Enable/disable the drive B
                                     ->Enable/disable the step sound
                                     ->Set the user interface sound volume
                                     ->Set the backlight timing
                                     ->Set the standby timing
                                     ->Check the software and bootloader version (integrity test included).
                                     ->Clear/reset the settings and reset the Emulator
                                     ->Exit this menu...

    - SD Card :            Issue with some sd card corrected : Incompatibility with some SD chipset corrected.

    - Write support :      Timing for MFM / FM 250/300/500KBits/s write support readjusted.
                           DataMark supported : 0xFB,0xF8 (deleted data mark), 0xFA,0xF9.
                           HFE file format enhanced : Track 0 Side 0 & Track 0 Side 1 track write mode can be different from the others tracks.
                            
    - New track seek algorithm : Faster track seek/settle time -> Faster Loading time !

    - Flip disk function : the disk image can now be flipped (reverse side 0<->side 1).

    - Bad track number at power up corrected (E-mu Emulator I/II, SP1200, Linn/Forat 9000...)

    - Experimental "Rev2" HFE support : Correct some issue with some Amiga games/demos.

    - Lots of internals code optimization...


10/04/2011: Firmware SD HxCFloppyEmulator v1.6.0.0

    - File browser       : The file browser now jump to the start/end of the file list once you reached its end/start. 

    - Direct access mode : 
                           Speed optimization for the Hard Disk Emulation mode ;-) : 
                           ->Faster read and write Access 
                           ->Dynamic sector number during read/writing
                           (Hard disk emulation driver available soon on Atari ST computers ;-) )

                           Note: The file selector software must be updated!

    - HFE file renaming Function :

                           ->The HFE file can now be renamed. 
                           To do this just select an HFE file and press the select button during 1 second.
                           Then In the function menu choose "Rename Img file".
               Note: The file name on the sdcard isn't directly changed by this function but the new name is changed into the HFE file.

    - New boot/power up mode : 
                           ->New Option to force loading STARTUPA.HFE at power up into the drive A.
                           ->New Option to force loading STARTUPB.HFE at power up into the drive B.                            
                           
    - Autoboot/file selector program boot mode enhanced :

                           ->New Option to Force loading AUTOBOOT.HFE at power up (don't load the last selection at power up)
                           ->New Option to choose the next slot when inserting the SDCard.
                            With this feature, the LCD screen and buttons are optional 
                            because the SDCard can be used like a true floppy disk: eject it and reinsert it to choose the next Floppy.

    - Write support :      No more glitch on the read data line during writing (Correct write problem on some FDC).
                           Write gate management bug corrected in 500Kbits/s MFM mode. (765A FDC write bug).

    - Various bugs corrected and code enhancement...

30/01/2011: Firmware SD HxCFloppyEmulator v1.5.1.0
    - Direct access mode : Bad Write mode corrected.
    - Display: Negative Track position bug corrected.
    - Internal : write mode selection code clean up. 	

25/01/2011: Firmware SD HxCFloppyEmulator v1.5.0.0
    - SDcard : Init frequency corrected

    - SDcard : Multi sector read & Write access added.
	-> SDCard access time improved (Slow sdcard issues corrected)

    - Some important parts of the floppy write support fully rewritten : Important codes improvement (speed & size)
    -> MFM ISO Sector write support speed & code size improvement.
    -> Amiga write support speed & code size improvement .
    General result: Faster write data throughput.

    - New MFM/DD  write support bitrate added.
    -> 300kbits/s (256/512/1024 bytes sectors).

    - FM write support added.
    -> 128bytes sector SD/FM write support added.
    -> 256bytes sector SD/FM write support added.
    -> 512bytes sector SD/FM write support added.	 
    -> 1024bytes sector SD/FM write support added.
    -> SD/FM write support bitrate : 250kbits/s, 300kbits/s & 500kbits/s

    - E-mu write support added (E-mu emulator, E-mu emulator II,...) 
    Note : Need the Rev C SD HxC Floppy Emulator hardware!
    -> 3584bytes sector FM E-emu write support added.
    -> E-mu write support bitrate : 312kbits/s

    A big Thanks to Kris VC / esynthesist (http://www.emxp.net/) for all tests done on this firwmare
        with the E-mu Emulator & E-mu Emulator II.
    Without this great help, releasing this new feature wouldn't be possible.

    - Two floppy drive emulation improvement/bug corrected
    -> The two virtual floppy disk drive can have different bitrate now. 
    (example : an 1.44MB floppy disk in the first disk drive and a 720KB in the second disk drive.)

    - SDCard HxC Floppy emulator settings (sound/blacklight...) are now stored into the eeprom 
      and used at power up. At power up the last known settings are used.

07/11/2010: Firmware SD HxCFloppyEmulator v1.3.0.4
    - Amiga : Change disk delay added.
    - Buzzer driving bug corrected.
    - "One button" mode feature added. 
    - Double step support added. 

26/09/2010: Firmware SD HxCFloppyEmulator v1.3.0.3
    - Direct access mode : Write mode corrected (Amiga support).
    - Corrupted MFM flux bug corrected  

05/09/2010: Firmware SD HxCFloppyEmulator v1.3.0.2
    - Shugart & PC interface mode behavior corrected.

28/08/2010: Firmware SD HxCFloppyEmulator v1.3.0.1
    - Amiga Write support : SRAM identification corrected.

22/08/2010: Firmware SD HxCFloppyEmulator v1.3.0.0
    - Amiga Write support added :

    Note to the Revision B PCB owners :

    To activate this new features you need to add a Microchip 23K256 SPI SRAM chip and 4 resistors.
    The connection to do is :

    23K256 pin 1 ->  220ohms resistor -> PIC18F4620 pin 22 	
    23K256 pin 5 ->  220ohms resistor -> PIC18F4620 pin 27 	
    23K256 pin 6 ->  220ohms resistor -> PIC18F4620 pin 28 	
    23K256 pin 2 ->  220ohms resistor -> PIC18F4620 pin 29 
    23K256 pin 8 & 7     -> VCC3.3V  (this voltage can be found at the capacitor under the sdcard connector or at the output of the regulator)
        23K256 pin 4         -> GND
    23K256 pin 3 -> Not connected.

    (a 100nF capacitor is also recommended at the pin 8 of the 23K256)

    After this modification you should see the message "SRAM OK" at power up.


10/08/2010: Firmware SD HxCFloppyEmulator v1.2.0.1
    - SDcard code optimizations
    - Dead loop bug corrected in Slot mode (if a bad file is in the list AUTOBOOT.HFE is selected). 

07/08/2010: Firmware SD HxCFloppyEmulator v1.2.0.0
    - Bootloader update :
    - Size Improvement.
    - ASM-C stack corrected, code optimizations. 

24/07/2010: Firmware SD HxCFloppyEmulator v1.1.3.0
    - 1KB sector write bug (data corrupted) corrected.
    - Direct Access mode : Sustain mode implemented, Address mark added, dead lock bug corrected.
    - Index signal position corrected.
    - Default Ready/Disk Change signals states corrected.
    - Global: ASM-C stack corrected, code optimizations, internal buffer policy changed.

14/07/2010: Firmware SD HxCFloppyEmulator v1.1.2.4
    - Direct Access mode : Track side ID changed/corrected : 1 -> 0
    - Write support : Overwrite bug corrected.(this bug occured on systems with more than one floppy disk drive)
    - LCD / IHM : backlight speed enhanced / current access type bug display corrected. 

13/06/2010: Firmware SD HxCFloppyEmulator v1.1.2.3
    - Atari ST/STE/Falcon :"Write protect" disk change emulation implemented (disk change detection is now working correctly).
    - Direct Access mode : Density select signal set in the right state. (Atari ST computer with HD able FDC)
    - HFE file format : new parameter : "Write allowed" byte.
    - Some code optimizations (speed & size).
 
06/06/2010: Firmware SD HxCFloppyEmulator v1.1.2.0
    - New parameters added in the HXCSDFE.CFG file:
    > "Head step sound" volume
    > "Scroll text speed"
    > "Load last loaded floppy"

29/05/2010: Firmware SD HxCFloppyEmulator v1.1.1.0
    - Amiga Floppy interface mode bugs corrected.
    - Some optimizations.

11/05/2010: Firmware SD HxCFloppyEmulator v1.0.1.1 (Note: This version should be already in the delivered devices)
    - Prototype -> Final Hardware Layer adaptation
    - Two disk drives emulation added.
    - Direct Access mode added : The host computer can now access directly to the SDCard.
    - Slot mode added: The emulator can be used without LCD screen.
    - Track step sound added. (can be disabled in the HXCSDFE.CFG file).
    - Events sound added. (can be disabled in the HXCSDFE.CFG file).
    - Backlight timeout setting added in HXCSDFE.CFG.
    - Many bugs corrected...

20/12/2009: Firmware SD HxCFloppyEmulator v0.2.2.0
    - Another write bug corrected.
    - Power consumption enhancement : Idle mode in the main loop.

17/11/2009: Firmware SD HxCFloppyEmulator v0.2.1.0
    - New track position display format :"aa T:ppp/ttt S:s" aa->current access type, ppp->current track number,ttt->number of track, s->current side. 
    - a bug around the hot sdcard swapping feature corrected.

15/11/2009: Firmware SD HxCFloppyEmulator v0.2.0.0
    - LCD Backlight control on RB5 added
    - Doze mode added. (actived after 5 seconds without access).
    - FAT32 browser bugs corrected (folders name / scroller).
    - UPD file format enhanced. (Note: bootloader replacement needed!)

28/10/2009: Firmware SD HxCFloppyEmulator v0.1.1.0
    - Hot SDCard swapping (works but not very recommended)
    - write protect switch : without sdcard on the emulator press select to change the write protect state.
    - fast floppy change: press up/down buttons to change floppy without ejecting the loaded floppy.


27/10/2009: Firmware SD HxCFloppyEmulator v0.1.0.0
New bootstrap added - update procedure enhanced ! :
- New bootstrap allowing to upgrade the firmware with an SDCard :
    -> Copy the new firmware file (*.upd) to a freshly formated FAT32 SDCard.
    -> Insert the SDCard into the emulator
    -> Press Up and Down buttons at power up.
    -> Wait some seconds .... its done !


03/10/2009: Firmware SD HxCFloppyEmulator v0.0.6.0
Some bugs corrected ! - update highly recommended to fix write related bugs ! :
- "write sector dropped" bug corrected
- 1KB sector write support corrected.
- 500kbits write mode buffer overflow protection added (protection against track format).
- Interface mode setting (amiga/shugart) bug corrected.
- 256/512/1024bytes sectors write is now functionnal in 250kbits/s and 500kbits/s mode.

20/09/2009: Firmware SD HxCFloppyEmulator v0.0.5.1
- 1KB sector write support added. (to be tested)
- Autoload feature added: At power up the lastest floppy emulator state is restored.
The floppy image loaded during a power down will be reloaded at power up. 
To activate this feature you must copy HXCSDFE.CFG at the root of the SDCard.
- UI : version code at startup

09/08/2009: Firmware SD HxCFloppyEmulator v0.0.4.4
-MSSP PIC18F4525/4620 Rev. A4 Silicon Errata applied.
-SPI code optimized

26/04/2009: Firmware SD HxCFloppyEmulator v0.0.4.3
-Write support : MFM encoder bug corrected, GAP3 first byte encoding (WD1793)  

18/04/2009: Firmware SD HxCFloppyEmulator v0.0.4.2
-Faster write routines
-500kb/s write support (warning alpha version/unstable) 

21/03/2009: Firmware SD HxCFloppyEmulator v0.0.4.1
-256bytes sector write support added 

15/03/2009: Firmware SD HxCFloppyEmulator v0.0.4.0
-Write support added : 
 Warning: the only sector format supported by the write feature is 250kbits/S MFM (DD) 512bytes sector. 
 Tested with PC and Atari ST. Should work with any computer using this common format (CPC, ZX SPECTRUM, MSX ,etc).
-Some code optimizations : table driven crc7 generator and faster MFM handler 

11/12/2008: Firmware SD HxCFloppyEmulator v0.0.3.0
-SDHC SDcard support (up to 32GB - tested with 8GB SDHC Card)

14/10/2008: Firmware SD HxCFloppyEmulator v0.0.2.0
-(beta version):
 Sub-folders support.
 Bug in Sdcard routines corrected. 
 LCD routines rewritten.
 SDcard change support.

21/02/2008: Firmware SD HxCFloppyEmulator v0.0.1.0
-First public version (alpha version):
 Support Amiga, Atari ST and Amstrad CPC series computers. 
 FAT32 only

