-------------------------------------------------------------------------------
-----------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 ---------------------- http://hxc2001.com --
-------------------------------------------------------------------------------
HxC Floppy Emulator project
(c) 2006-2017 Jean-Franois DEL NERO / (c) HxC2001
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
- General STM32 HxC Floppy Emulator Firmware Usage                            -
-------------------------------------------------------------------------------

 -> Format the USB Stick in FAT32 (FAT12 & FAT16 also supported).
 -> Copy the right HXCSDFE.CFG file to the root of the USB Stick
    (See "Mode selection" below for more details).
 -> Copy or generate your disks images to the USB Stick.
    (See "File images supported" below for mode details).
 -> Insert the USB Stick into the emulator.

-------------------------------------------------------------------------------
- Mode selection                                                              -
-------------------------------------------------------------------------------

There are actually three modes available :

---------------
- Normal mode -
---------------

In this mode the file image/disk to load is directly selected with the buttons
and the LCD screen. One I2C screen and a push button on the JA connector is needed
to be able to use this mode. No extra software needed.

The config file to copy to the root of the flash media for this mode :

Config_Files/Normal_mode/HXCSDFE.CFG

----------------
- Indexed mode -
----------------

In this mode the file images must be named DSKA0000.HFE, DSKA0001.HFE, DSKA0002.HFE,...
The 2/3 digits display shows the actual file number selected.

No LCD and/or extra push button is needed to use this mode.
No extra software needed.

This is the recommended mode when you don't have the extra LCD & button and when
your machine can't use the autoboot mode (see below).

The config file to copy to the root of the flash media for this mode :

Config_Files/Indexed_mode/HXCSDFE.CFG

-------------------
- "Autoboot" mode -
-------------------

In this mode, the AUTOBOOT.HFE software is used to select the images to load
directly on the computer.
This software is actually available on Amiga, Atari ST and CPC computers.

No LCD and/or extra push button is required to use this mode, but the LCD may help you
to see which disk is actually mounted.

The config and the software file to copy to the root of the flash media for this mode
are in the folder File_Selector/ and Config_Files/Autoboot_mode

-------------------------------------------------------------------------------
- File images supported                                                       -
-------------------------------------------------------------------------------

Direct support :

- *.ADF (Read / Write)
- *.ST  (Read / Write)
- *.IMG (Read / Write)
- *.HFE (Read / Write)
- *.HFE V3 (Read / Write)

The HFE files can be generated from a large kind of files images with this software :

http://hxc2001.com/download/floppy_drive_emulator/HxCFloppyEmulator_soft_beta.zip


Indirect image support (With the HFE support) :

KRYOFLUXSTREAM      :  KryoFlux Stream Loader                (*.raw)
AMIGA_DMS           :  AMIGA DMS Loader                      (*.dms)
AMIGA_ADZ           :  AMIGA ADZ Loader                      (*.adz)
AMIGA_EXTADF        :  AMIGA EXTENDED ADF Loader             (*.adf)
AMIGA_OLDEXTADF     :  AMIGA OLD EXTENDED ADF Loader         (*.adf)
ZXSPECTRUM_FDI      :  ZX SPECTRUM FDI Loader                (*.fdi)
AMIGA_ADF           :  AMIGA ADF Loader                      (*.adf)
ACORN_ADF           :  ACORN ADF Loader                      (*.adf)
AMSTRADCPC_DSK      :  Amstrad CPC DSK Loader                (*.dsk)
ATARIST_DIM         :  ATARI ST DIM Loader                   (*.dim)
ATARIST_STX         :  Atari ST STX/Pasti Loader             (*.stx)
ATARIST_STT         :  ATARI ST STT Loader                   (*.stt)
COPYQM              :  COPYQM IMG Loader                     (*.dsk)
TELEDISK_TD0        :  TELEDISK TD0 Loader                   (*.td0)
ATARIST_MSA         :  ATARI ST MSA Loader                   (*.msa)
ATARIST_STW         :  STW Loader                            (*.stw)
RAW_IMZ             :  IBM PC IMZ Loader                     (*.imz)
HXCMFM_IMG          :  HXC MFM IMG Loader                    (*.mfm)
ORIC_DSK            :  ORIC DSK Loader                       (*.dsk)
ATARIST_ST          :  ATARI ST ST Loader                    (*.st)
ROLAND_W30          :  Roland W30 file Loader                (*.w30)
SPS_IPF             :  SPS IPF Loader                        (*.ipf)
TI994A_V9T9         :  TI99 4A V9T9 Loader                   (*.v9t9)
AMIGA_FS            :  AMIGA FS Loader                       (*.amigados)
PROPHET2000         :  PROPHET 2000 Loader                   (*.img)
RAW_IMG             :  IBM PC IMG Loader                     (*.img)
FLP_IMG             :  FLP PC Magazine image Loader          (*.flp)
MSX_DSK             :  MSX DSK Loader                        (*.dsk)
FAT12FLOPPY         :  FAT12/MS DOS Loader                   (*.fat)
HXC_HFE             :  SD Card HxCFE HFE file Loader         (*.hfe)
VTR_IMG             :  VTR IMG Loader                        (*.vtr)
IMD_IMG             :  ImageDisk IMD file Loader             (*.imd)
HXC_AFI             :  HxC AFI file loader                   (*.afi)
C64_D81             :  C64 D81 Loader                        (*.d81)
ZXSPECTRUM_TRD      :  Zx Spectrum TRD Loader                (*.trd)
ZXSPECTRUM_SCL      :  ZX SPECTRUM SCL Loader                (*.scl)
THOMSONTO8D_SAP     :  THOMSON TO8D SAP Loader               (*.sap)
TRS80_JV1           :  TRS80 JV1 Loader                      (*.jv1)
TRS80_JV3           :  TRS80 JV3 Loader                      (*.jv3)
TRS80_JVC           :  TRS80 JVC Loader                      (*.jvc)
SVD                 :  SVD Loader                            (*.svd)
NEC_D88             :  NEC D88 Loader                        (*.d88)
X68000_HDM          :  X68000 HDM file Loader                (*.hdm)
RAW_LOADER          :  RAW Sector loader                     (*.img)
SNES_SMC            :  Super famicom SMC Loader              (*.smc)
VEGAS6809           :  VEGAS6809 image Loader                (*.veg)
TRS80_DMK           :  TRS80 DMK Loader                      (*.dmk)
TI994A_PC99         :  TI99 4A PC99 Loader                   (*.pc99)
APRIDISK            :  APRIDISK Loader                       (*.dsk)
ENSONIQ_EDE         :  ENSONIQ EDE Loader                    (*.ede)
FAT12FLOPPY         :  FAT12/MS DOS Loader                   (*.fat)
ENSONIQ_GKH         :  ENSONIQ GKH Loader                    (*.gkh)
THOMSON_FD          :  THOMSON FD Loader                     (*.fd)
CASIO_FZF           :  Casio FZF file Loader                 (*.fzf)
DRAGON3264_VDK      :  DRAGON32 & 64 VDK Loader              (*.vdk)
OBERHEIM_DPX        :  Oberheim DPX Loader                   (*.dpx)
ENSONIQ_EDM         :  Ensoniq mirage EDM Loader             (*.edm)
EMAX_EM             :  EMAX EM1 & EM2 Loader                 (*.em1)
SAMCOUPE_MGT        :  SAM COUPE MGT Loader                  (*.mgt)
SAMCOUPE_SAD        :  SAM COUPE SAD Loader                  (*.sad)
EMULATORII          :  E-mu Emulator II / SP1200 dsk Loader  (*.emuiifd)
EMULATORII_EMUII    :  E-mu Emulator II *.eii Loader         (*.eii)
EMULATORI           :  E-mu Emulator I dsk Loader            (*.emufd)
CAMPUTERSLYNX       :  CAMPUTERSLYNX Loader                  (*.ldf)
BBC_ADL             :  BBC ADL floppy image loader           (*.adl)
BBC_SSD_DSD         :  BBC SSD & DSD floppy image loader     (*.dsd)
FEI                 :  FEI Loader                            (*.fei)
SYSTEM_24           :  System 24 loader                      (*.s24)
SCP_FLUX_STREAM     :  SCP Stream Loader                     (*.scp)
APPLE2_NIB          :  Apple II NIB Loader                   (*.nib)
APPLE2_DO           :  Apple II DO Loader                    (*.do)
SPECCYDOS_SDD       :  Speccy DOS SDD File Loader            (*.sdd)
ARBURG              :  ARBURG RAW Loader                     (*.arburgfd)
GENERIC_XML         :  Generic XML file Loader               (*.xml)

(Note : the actual STM32 firmware wasn't yet tested with the above mentionned machines !)

Software step by step guide :
http://hxc2001.com/download/floppy_drive_emulator/HxC_Floppy_Emulator_Software_User_Manual_ENG.pdf

-------------------------------------------------------------------------------
- Optional Add-on hardware                                                    -
-------------------------------------------------------------------------------

-----------------------
- I2C 2x16 LCD Screen -
-----------------------

 These kind of I2C LCD boards are 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 additionnals 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:
 http://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|
          |
__________|


-----------------------
- Extra select button -
-----------------------

The missing select/middle button, needed in "normal" mode
can be added on the JA jumper position.
JA is present near the floppy connector.

-----------------------
- Buzzer sound output -
-----------------------

You can connect a piezo or a magnetic buzzer to the JB jumper position.
A transistor is 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 floppy step signal, they are producing reliability problems...)


(c)2006-2017 Jean-Franois DEL NERO
(c)2006-2017 HxC2001

http://hxc2001.com
http://hxc2001.free.fr/floppy_drive_emulator/index.html

