For people like me who began the computing with computers as Atari
ST or Amiga and still possessing one, we still use it time to time for
some instant of nostalgias by viewing some demos and/or by playing some
old video games. However these computers are based on 3"1/2 floppy
disk, so it's necessary to prepare them from a PC. And this is a real
pain: you have to find a floppy disk in good condition, to format it
with makedisk (under DOS because it doesn't work with Windows) from
an floppy disk image, etc. After some long minutes of preparation, we
boot up the Atari ST with this floppy disk and then we realize that
the floppy disk lost some sectors and is unusable... This often occurs
because in a lot of cases, the floppy disk drive of the computer is
damaged.
Regarding Amiga floppy disks, it's impossible to create them from a
PC because their format is totally incompatible with the PC controllers.
Anyway the tiredness of the floppy disk drive, the decline of floppy
disks and their close disappearance required a fall-back solution to
be able to use these computers in the future...
The aim of this project is to replace the floppy disk drive by an electronic
device emulating the floppy disk drive.
Since the beginning of the project (2006), the HxC Floppy emulators
was designed to be very versatile and to support a large variety of
computers / keyboards / samplers / CNC machines at a low cost.
Thanks to its versability the HxC Floppy Emulator supports most existing
floppy formats.
Today the HxC Floppy Emulator is a well established floppy disk drive
replacement solution present into the Retro-Computing domain, the Music
domain and the Industrial domain.
At this day there are two differents floppy disk drive emulator :
- A USB version which allows to connect the floppy disk drive
interface of the computer to a PC via a USB cable.
For more information on this interface, go to "USB
HxC Floppy Drive Emulator" part.
- A SDCARD version which allows to emulate floppy disks which images are stored
in a SDCARD.
For more information on this interface, go to "SDCARD
HxC Floppy Drive Emulator" part.
In the table below, you can find the
list of supported/tested hardware/floppy file images:
Note : Some computer/hardware are probably missing in this list.
If you have tested the HxC Floppy Emulator successfully with another
hardware or if you want a new file/hardware support, don't hesitate
to contact me.
26/03/2008 > New software and CPLD core -> Full support
of protected floppies image. Variable bitrate and flakeys bits protection
are now supported.
"Non images" files.
The HxC Floppy Emulator software allows to create an virtual
AmigaDOS floppy disk containing files present in a PC folder.
Amstrad CPC6128/CPC6128+
*.DSK
*.DSK (extended)
*.IPF
Sinclair ZX Spectrum +3
DSKand Extended DSK
TRD (BetaDisk)
SCL (BetaDisk)
*.FDI
*.IPF
MSX2
*.DSK
Warning : The MSX2 computers often used a non-standard floppy
connector pinout.
Before plugging the HxC Floppy Emulator please check that the
pinout is compatible.
Thomson TO8D MO5 + CD90-640
*.SAP
Based on Libsap.
*.FD
FD files can be loaded with the raw image loader (in the gui
software) with these parameters :
MFM-256bytes/sector or FM-128bytes/sector, 16 sectors/tracks, 2
or 1 sides.
Oric+MicroDisk
*.DSK
Oric & MicroDisc support tested at the Infoticaires
2008 convention party
C64 + 1581
*.D81
Alpha version. Waiting for tests on real
hardware.
Dragon 32/64
*.VDK Dragon 32/64 disk image
Sam Coupé
*.MGT
*.SAD
TI99/4A
TI99 PC99
MFM & FM tracks supported.
TI99 V9T9 (*.V9T9 / *.PC99)
TRS-80
*.JV1
*.JV3
JV3 support done by Gustavo E. A. P. A. Batista. Thanks to him.
Here
a video demo
Note : The operating system image (emaxos.emx) must
be present in the same folder than the bank files.
Prophet 2000 & 2002
*.IMG
E-mu Emulator
*.EMUFD
E-mu Emulator II
*.EMUIIFD
*.EII
Note : The operating system image (emuiios.emuiifd) must be present
in the same folder than the bank files.
Credits & Thanks: E-mu Emulator I & II support was
possible thanks to Jan Kiefer who supply all necessary materials
and supports, to the Software Preservation Society team for the reverse engineering
of the EmuII Floppy disk format, and to Kris
Van de Cappelle (EMXP developer) for the tests and EmuII technicals
informations.
> Shugart compatible mode supported.
> PC compatible mode supported.
> Two floppy disk drives emulation. (Two floppy disk drive emulator
in One !)
- Power supply
> 5V +/- 10% standard power floppy connector input.
> 500mA max. (80mA in standby).
- User Interface
> 3 LEDs ("Power LED","Floppy access LED"," SDCard access LED ").
> 3 buttons ("Next","Select/Eject","Previous").
> 1 audio transducer.
> 2*16 chars Alphanumerical LCD.
(Note : LCD and buttons can be put on an external front panel)
> On
screen display software for Atari ST, Amstrad CPC and Amiga Computers
- SDCard support
>SD Card up to 2GB.
>SDHC Card supported up to 32GB. - SDCard Filesystem
>FAT12/FAT16 & FAT32 supported. Subdirectory and long name
file supported.
>Multi-Volumes/Images support:
- More than 8000 HD (1.44MB) Floppy Images on a 32GB SDCard !
- More than 16000 DD (720KB) Floppy Images on a 32GB SDCard !
- Read / Write support
Track mode based floppy emulator (Full track pre-encoded in the HFE
image file)
> Read support: Most of existing formats (FM/MFM/GCR/Amiga/E-mu track...)
supported.
Custom tracks supported.
> Write support:ISO FM /SD 128/256/512/1024/2048/4096Bytes sector
write supported.
> Any data mark supported : 0xFB, 0xF8, 0xF9, 0xFA
> Amiga Write support.
> E-mu (Emulator I / II / SP1200) Write support.
> Low level format support !
The host machine can format the image with the right disk setup exactly
as with a real floppy disk ! No need to already have an image with the
right format, just make it by formatting it !
(Note : Variable bitrate not supported. So protected floppy disk image
(IPF and STX file format) file support will be only partial ! If you
look for a device supporting IPF / STX please a have a look to the USB
HxC Floppy Emulator device)
> Fast floppy image loading (<<1second), no conversion time.
> Floppy Emulator ready at power up! Boot sequence possible right
after the power up !
> SD Card Direct Access mode : Direct Floppy to SD bridging.
> Host control : The host machine can send a command to the emulator
to change the current selected image.
> File image renaming embedded function.
> Supersized DOS Floppy emulation! : Up to 5 MB free per floppy image
file !
> Data integrity security of the original system respected ! :
CRC fields present into the HFE images ! No direct usage of not secured
IMG/IMA/”ISO” images or direct flash media bridging without CRC in floppy
emulation mode !
Host
control tool (Atari ST, Amstrad CPC, Amiga) :
With this tool the host computer can access directly to the SDCard
to select files images and change the SDCard HxC Floppy Emulator settings.
With this tool the LCD screen and the buttons are becoming optional
/ useless. You can even remove the LCD screen to put the SD HxC Floppy
Emulator inside the Amiga/Atari/CPC computer without case modification.
Actually Atari ST, Amstrad CPC and Amiga versions of
this tools are available.
Here are the main features of the USB HxC Floppy Emulator:
Hardware specification:
- Read only Floppy emulator (SD,DD,HD &
ED mode) (!!!!!! No Write Support !!!!! Have
a look to the SD Card version for the write support!) - USB 1.1 device interface (based on the
FTDI FT245.).
- MFM, FM and GCR compatible (can handle custom encoding).
- Bitrate between 63Kbits/s and 1MBits/s.(250 differents
bitrates by step of 62.5ns). - Variable bitrate, flakey bits and long tracks, custom tracks support
(emulating of copy protected floppies).
- Can emulate floppies up to 128 tracks.
- "jumper free" Design : Device configuration on the software.
- Flexible Floppy Interface: Shugart, IBM PC and Amiga compatible.
To see the list of computer tested with it, please go
to this List
All necessary informations to build your own USB HxC Floppy
Emulator is available here.
The hearth of the USB HxC Floppy Emulator is a MAX EPM7128S
CPLD from Altera with 128 Macrocell. This chip is connected to a 32KB
SRAM used as buffer and a FT245 from FTDI for the USB communication.
Warning
: Do not disconnect the Floppy
interface cable while the USB is connected. This may damaged the
emulator and your equipements.
Always disconnect the USB cable
before connecting/disconnecting the Floppy interface cable.
Schematic
of the USB HxC Floppy Emulator:
USB
HxC Floppy Emulator CPLD:
The bitstream
to use to program the CPLD is available
here. To program this chip you can use Quartus II and an Altera
compatible JTAG probe (The
ByteBlaster for example). The programmer software can be downloaded
on the Altera website.
Note : The EPM7128S CPLD can be remplaced with the Atmel ATF1508AS.
Once programmed the CPLD got this pinout ->
There are four LEDs on the board:
D1 : Power LED
D2 : Select LED :Is on when the target computer acccess the floppy
disk.
D3 : Step LED : Is on when the target computer is stepping/changing
track.
D4 : Link LED : This is the USB link status: Is on when dialoging
the host PC.
There are actually two differents PCB of the USB
HxC Floppy Emulator:
- An "homebrew" version (Rev B). This
is a one layer PCB. "Easy" to make at home.
- A "Production" version (Rev C). This
is a two layers PCB. The general quality of this board better
but may be harder to build at home..Anyway i recommend this
one if you are able to make this PCB.
Regarding the features of the board there are
no differences between these two boards.
This software act as the floppy server with the USB HxC Floppy Emulator.
This program also allows you to convert floppy image files for the SDCard
based HxC Floppy Emulator.
Supports many input floppy image file formats: List
of the supported floppy image formats.
Notes:
- Operating systems supported :
-> Windows 98 / 2000 / XP / Vista / Seven.
-> Mac OS X.
-> Linux.
- The USB HxC Floppy Emulator support is based on the FTDI
D2XX Direct Drivers.
If you have the USB HxC Floppy Emulator you must install this driver.
The following elements allow you to program the low cost Gotek
USB Floppy Emulator with the HxC bootloader & Firmwares.
To purchase the firmware : http://hxc2001.com/store/
Project Initiator - Main project developper/maintainer.
Gregory ESTRADE (Torlus)
Forum hosting, FAT32 support of the SD HxC Floppy Emulator.
Christophe ESC. (Giants)
Manufacturing of the First USB HxC Floppy Emulator batch.
Przemyslaw Krawczyk (Lotharek)
Manufacturing and selling facilities.
Arnaud STORQ (Norecess)
Amstrad CPC file selector optimization and support.
Gustavo E. A. P. A. Batista
TRS-80 JV3 support implementation.
David Barr
TRS-80 JV3 write support implementation.
Michael Gibs (gibs)
Some incredible promotionals videos ;-)
Kris VC (Esynthesist)
Providing a great help for the E-mu Emulator I & II support.
(Technical informations and tests).
The Software Preservation Society Team
Providing the first E-mu Emulator I & II floppy disk dump
and E-mu track format.
Joseph REDON (Namida)
NEC PC88 support tests.
Alex Mena
x68000 support tests.
Petari
Atari ST ST/MSA/STT support tests.
Jan Kiefer
E-mu Emulator II tests.
Rosefloyd (One MPC Two DJ'S)
E-mu SP1200 tests and some demos videos.
And thanks to all others who contribute to the project by reporting
bugs, submitting new ideas, contributing code, spreading the word about the
project...