This wasn’t specifically a Raspberry Pi project but since it works very well with this nice hardware it is worth to be presented here:

This a universal floppy disk drive emulator based on the old USB HxC Floppy Emulator. This board was designed in 2006. This is a specialized floppy data shifter/streamer (USB to Floppy interface). A PC was needed to constantly feed the board.
The Raspberry Pi is like miracle : The combination of the two devices make a very powerful standalone floppy emulator with network capabilities : wired and wireless

Here is some videos :
Web browser floppy image upload & control :
http://www.youtube.com/watch?v=wJEekEhZtD8
The first tries :
http://www.youtube.com/watch?v=R9wGYqrM-68
http://www.youtube.com/watch?v=4CC7_IDqVnQ
Regarding the machines and floppy formats supported, the emulator can support any computer using Shugart, PC, or similar floppy interface : Amiga, Atari ST, CPC, TRS80, PC, Keyboards, Samplers, CNC Tools…
The list of the tested devices can be found here : http://hxc2001.com/download/floppy_driv ... upport.htm
The list of the file floppy images format directly supported can be found at the end of this post.
The device also support floppy disk protections emulation : Variable bitrate, flakeybits and so on.
One major limitation of the actual hardware : It doesn’t support the write from the host computer !
To make the emulator working on the Raspberry Pi, just get the sources from the sourceforge repository :
http://sourceforge.net/p/hxcfloppyemu/code/HEAD/tree/
and do a “make” into the “build” folder.
The USB interface use the libFTDI.
If you want to use the GUI, the X11 devel library will be needed (GUI based on FLTK).
All is working on the Raspbian distribution.
About the hardware you can found all you need to build it yourself there :
http://sourceforge.net/p/hxcfloppyemu/c ... yEmulator/
You can also buy it pre-made.
Next step of this project : Update the USB HxC Floppy Emulator hardware to add the write support and to use more modern parts

Code: Select all
HxC Floppy Emulator : Floppy image file converter
Copyright (C) 2006-2013 Jean-Francois DEL NERO
This program comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions;
libhxcfe version : 2.4.1.2
---------------------------------------------------------------------------
- libhxcfe file type support list -
---------------------------------------------------------------------------
MODULE ID ACCESS DESCRIPTION Extension
KRYOFLUXSTREAM (R ) : KryoFlux Stream Loader (*.raw)
AMIGA_DMS (R ) : AMIGA DMS Loader (*.dms)
AMIGA_ADZ (R ) : AMIGA ADZ Loader (*.adz)
AMIGA_EXTADF (R ) : AMIGA EXTENDED ADF Loader (*.adf)
AMIGA_OLDEXTADF (R ) : AMIGA OLD EXTENDED ADF Loader (*.adf)
ZXSPECTRUM_FDI (R ) : ZX SPECTRUM FDI Loader (*.fdi)
AMIGA_ADF (R ) : AMIGA ADF Loader (*.adf)
ACORN_ADF (R ) : ACORN ADF Loader (*.adf)
AMSTRADCPC_DSK (RW) : Amstrad CPC DSK Loader (*.dsk)
ATARIST_DIM (R ) : ATARI ST DIM Loader (*.dim)
ATARIST_STX (R ) : Atari ST STX/Pasti Loader (*.stx)
ATARIST_STT (R ) : ATARI ST STT Loader (*.stt)
COPYQM (R ) : COPYQM IMG Loader (*.dsk)
TELEDISK_TD0 (R ) : TELEDISK TD0 Loader (*.td0)
ATARIST_MSA (RW) : ATARI ST MSA Loader (*.msa)
RAW_IMZ (R ) : IBM PC IMZ Loader (*.imz)
HXCMFM_IMG (RW) : HXC MFM IMG Loader (*.mfm)
ORIC_DSK (R ) : ORIC DSK Loader (*.dsk)
ATARIST_ST (R ) : ATARI ST ST Loader (*.st)
ROLAND_W30 (R ) : Roland W30 file Loader (*.w30)
SPS_IPF (R ) : SPS IPF Loader (*.ipf)
TI994A_V9T9 (RW) : TI99 4A V9T9 Loader (*.v9t9)
AMIGA_FS (R ) : AMIGA FS Loader (*.amigados)
PROPHET2000 (R ) : PROPHET 2000 Loader (*.img)
RAW_IMG (R ) : IBM PC IMG Loader (*.img)
MSX_DSK (R ) : MSX DSK Loader (*.dsk)
FAT12FLOPPY (R ) : FAT12/MS DOS Loader (*.fat)
HXC_HFE (RW) : SD Card HxCFE HFE file Loader (*.hfe)
HXC_EXTHFE ( W) : SD Card HxCFE EXTENDED HFE file Loader(*.hfe)
HXC_HDDD_A2_HFE ( W) : SD Card HxCFE HFE file Loader (HDDD A2 Support)(*.hfe)
VTR_IMG (RW) : VTR IMG Loader (*.vtr)
IMD_IMG (RW) : ImageDisk IMD file Loader (*.imd)
HXC_AFI (RW) : HxC AFI file loader (*.afi)
C64_D64 (R ) : C64 D64 file image loader (*.d64)
C64_D81 (R ) : C64 D81 Loader (*.d81)
ZXSPECTRUM_TRD (R ) : Zx Spectrum TRD Loader (*.trd)
ZXSPECTRUM_SCL (R ) : ZX SPECTRUM SCL Loader (*.scl)
THOMSONTO8D_SAP (R ) : THOMSON TO8D SAP Loader (*.sap)
TRS80_JV1 (R ) : TRS80 JV1 Loader (*.jv1)
TRS80_JV3 (RW) : TRS80 JV3 Loader (*.jv3)
TRS80_JVC (R ) : TRS80 JVC Loader (*.jvc)
SVD (R ) : SVD Loader (*.svd)
NEC_D88 (RW) : NEC D88 Loader (*.d88)
X68000_HDM (R ) : X68000 HDM file Loader (*.hdm)
RAW_LOADER (RW) : RAW Sector loader (*.img)
SNES_SMC (R ) : Super famicom SMC Loader (*.smc)
VEGAS6809 (R ) : VEGAS6809 image Loader (*.veg)
TRS80_DMK (RW) : TRS80 DMK Loader (*.dmk)
TI994A_PC99 (R ) : TI99 4A PC99 Loader (*.pc99)
APRIDISK (R ) : APRIDISK Loader (*.dsk)
ENSONIQ_EDE (R ) : ENSONIQ EDE Loader (*.ede)
FAT12FLOPPY (R ) : FAT12/MS DOS Loader (*.fat)
ENSONIQ_GKH (R ) : ENSONIQ GKH Loader (*.gkh)
THOMSON_FD (R ) : THOMSON FD Loader (*.fd)
CASIO_FZF (R ) : Casio FZF file Loader (*.fzf)
DRAGON3264_VDK (R ) : DRAGON32 & 64 VDK Loader (*.vdk)
OBERHEIM_DPX (R ) : Oberheim DPX Loader (*.dpx)
ENSONIQ_EDM (R ) : Ensoniq mirage EDM Loader (*.edm)
EMAX_EM (R ) : EMAX EM1 & EM2 Loader (*.em1)
SAMCOUPE_MGT (R ) : SAM COUPE MGT Loader (*.mgt)
SAMCOUPE_SAD (R ) : SAM COUPE SAD Loader (*.sad)
EMULATORII (R ) : E-mu Emulator II / SP1200 dsk Loader (*.emuiifd)
EMULATORII_EMUII (R ) : E-mu Emulator II *.eii Loader (*.eii)
EMULATORI (R ) : E-mu Emulator I dsk Loader (*.emufd)
CAMPUTERSLYNX (R ) : CAMPUTERSLYNX Loader (*.ldf)
BBC_ADL (R ) : BBC ADL floppy image loader (*.adl)
BBC_SSD_DSD (R ) : BBC SSD & DSD floppy image loader (*.dsd)
FEI (R ) : FEI Loader (*.fei)
SYSTEM_24 (R ) : System 24 loader (*.s24)
APPLE2_NIB (R ) : Apple II NIB Loader (*.nib)
APPLE2_DO (R ) : Apple II DO Loader (*.do)
SPECCYDOS_SDD (R ) : Speccy DOS SDD File Loader (*.sdd)
ARBURG_SD (R ) : ARBURG dsk Loader (*.arburgfd)
73 Loaders
Stopping HxCFloppyEmulator...