|
|
|
||||||||||||

![]() |
For those who as me began the computing with legendary computers as Atari ST or Amiga and still possessing one, they sometimes organize some moments of nostalgias by viewing some demos or by playing some old video games. However these computers being based on 3"1/2 floppy disk of 720KB, it is mostly necessary to prepare these disks from a PC. And it's a real pain: you have to find a floppy disk in good condition, to format it with DOS using a makedisk (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 phenomenon often occurs because in a lot of cases the floppy disk drive of the computer is tired. Regarding Amiga floppy disks, it's impossible to create them from a
PC because their format is totally incompatible with the PC controllers.
|
|
The aim of this project is to replace the floppy disk drive by an
electronic device emulating the floppy disk drive.
In the table below, you can find the list of supported hardware/floppy file images:
To download the software please go to the software section. |
|
Here are the main features of the USB HxC Floppy Emulator: Hardware specification: - Read only Floppy emulator (SD,DD,HD &
ED mode) To see the list of computer tested with it, please go to this List |
|
Fonctionnement de l'émulateur USB: Le fonctionnement de l'émulateur est relativement simple : Le PC transforme les données utiles présentent
dans fichier image d'une disquette (*.ST,*.MSA,*.ADF,...) en données
compréhensibles par le contrôleur de la machine cible : Les données
brutes présentent dans l'image sont encodées pour créer
une copie physique de la disquette. Une fois l'ensemble des pistes de
la disquette encodé, celles-ci sont envoyées directement
par l'USB. La gestion des transferts de données par paquet est
faite de telle sorte que l'on puisse émuler n'importe quelle
longueur de piste, vitesse de rotation et format de disquette et ceci
en émulant le plus fidelement possible le comportement d'un véritable
lecteur.
Pour ceux qui voudraient plus de détails techniques,
la carte se compose d'un serialiseur et d'un générateur
d'impulsions pour transmettre à la machine cible les données
MFM encodées par le serveur. Le CPLD contrôle 8ko de SRAM.
Cette mémoire est en fait un ring-buffer par lequel le flux MFM
transite. Les données en provenance de l'USB sont stockées
dans la SRAM, pour être lues en temps voulu par le générateur
FM/MFM. |
|
Tout les éléments permettant de monter son propre émulateur sont présents ci-dessous: Un premier prototype de cet émulateur fonctionnant sur port parallèle a été développé à l'aide de bonnes vieilles portes logiques. Il s'est vite avéré que le nombre de composants nécessaires serait assez important et le routage serait un vrai supplice ;-). J'ai donc réorienté l'étude pour me baser sur un CPLD. Les fonctions de cette carte ont donc été écrites en VHDL. L'ensemble a été développé et testé sur un CPLD de 128 macrocells de la série MAX7000 (l'EPM7128S, compatible avec l'Atmel ATF1508AS).
- Vérifier la présence de la terre sur vos appareils. Si l'un des appareils se trouve sans terre il est préférable de relier les masses des 2 appareils avec un fil avant de relier l'interface. - Toujours éteindre
votre machine cible (le ST ou l'Amiga ainsi que son moniteur) et débrancher
l'USB de l'interface avant de brancher ou de débrancher l'interface
de votre machine cible. Schematic of the USB HxC Floppy Emulator:
|
![]() |
Note : The SDCARD HxC Floppy Emulator still in development, so all the below informations/specifications (schematic, pcb,...) can change without notice. |
|
Here are the main features of the SDCard HxC Floppy Emulator: Hardware/software specifications: - 40Mhz PIC18F4525/PIC18F4620 based. - Read/Write support: -RPM: - Filesystem : -Floppy interface: - User Interface: -Additionnal features:
|
|
Fonctionnement de l'émulateur SDCARD: Le fonctionnement de l'émulateur SDCard est relativement simple : La SDCard contient les images des disquettes pré-encodées et directement compréhensibles par le controlleur de la machine cible. Le PC transforme les données utiles présentent dans fichier image d'une disquette (*.ST,*.MSA,*.ADF,...) en données compréhensibles par le contrôleur de la machine cible : Les données brutes présentent dans l'image sont encodées pour créer une copie physique de la disquette. Une fois l'ensemble des pistes de la disquette encodé, celles-ci sont directement enregistrées sur la SDCARD. La carte se contente ensuite de relire les tracks pré-encodées a partir de la SDCARD et de les sérialiser vers l'interface floppy. L'implémentation matériel/logiciel à été étudier pour garantir un flux MFM continu, enfin de garantir une compatibilité logiciel maximum, comme dans la cas de la version USB. |
|
Schematic of the SDCard HxC FLoppy Emulator : |
|
SDCard HxC Floppy Emulator PCB Layout / Bill of material: All informations needed to build a prototype SDCard HxC
Floppy Emulator can
be found in this file. |
|
Firmware: The latest PIC firmware binary can be donwloaded here
: HxCFloppyEmulator_Soft_PIC.zip
20/12/2009:
Firmware SD HxCFloppyEmulator v0.2.2.0 17/11/2009: Firmware SD HxCFloppyEmulator v0.2.1.0 15/11/2009: Firmware SD HxCFloppyEmulator v0.2.0.0
28/10/2009: Firmware SD HxCFloppyEmulator v0.1.1.0
27/10/2009: Firmware SD HxCFloppyEmulator v0.1.0.0
03/10/2009: Firmware SD HxCFloppyEmulator v0.0.6.0 20/09/2009: Firmware SD HxCFloppyEmulator v0.0.5.1 09/08/2009: Firmware SD HxCFloppyEmulator v0.0.4.4 26/04/2009: Firmware SD HxCFloppyEmulator v0.0.4.3
21/03/2009: Firmware SD HxCFloppyEmulator v0.0.4.1 15/03/2009: Firmware SD HxCFloppyEmulator v0.0.4.0
11/12/2008: Firmware SD HxCFloppyEmulator v0.0.3.0
|
|
This software act as the floppy server with the USB HxC Floppy Emulator. Notes: The lastest software sources codes can be donwloaded here : HxC_Floppy_Emulator_soft_src.zip 23/01/2010:
HxCFloppyEmulator 1.3.7.0 22/01/2010:
HxCFloppyEmulator 1.3.6.0 20/12/2009: HxCFloppyEmulator 1.3.5.0 28/11/2009: HxCFloppyEmulator 1.3.4.0 07/11/2009: HxCFloppyEmulator 1.3.3.0 01/11/2009: HxCFloppyEmulator 1.3.2.0 27/09/2009: HxCFloppyEmulator 1.3.1.1 20/09/2009: HxCFloppyEmulator 1.3.1.0 08/08/2009: HxCFloppyEmulator 1.3.0.0 19/07/2009: HxCFloppyEmulator 1.2.1.1 12/07/2009: HxCFloppyEmulator 1.2.1.0 18/05/2009: HxCFloppyEmulator 1.2.0.13 20/03/2009: HxCFloppyEmulator 1.2.0.12 For past release notes please read this file : hxcfloppyemulator_soft_release_notes.txt |
|
|
|
A small user manual: Installation: |
|
How to load a floppy disk image ? : - Fisrt method : To load a floppy disk image, a simple drag & drop of the file over the HxC Floppy Emulalor window is enough. The software use the plugin able to load the file image type used. The plugin extract all floppy datas and generate a true floppy disk track then start the emulating These operations take less than one second. |
|
|
|
How to load a floppy disk image ? : - Second method : Under Windows you can associated your floppy image file
type with the HxC Floppy Emulalor software. |
|
The "Drive" menu are used to configure the interface: The fisrt part allows you to choose the drive id of the emulator :
If you are using a twisted floppy cable, don't forget to select the
"twisted cable" case. |
|
For more information about Floppy disks here some interesting documents:
ST / IBM / ISO Format :
- The floppy user guide
- Un datasheet : USB 3.5" Micro Floppy Disk Drive
(voir page 7-9)
Amiga Format :
-
The .ADF (Amiga Disk File) format FAQ
- Les sources de WinUAE ;-)
Semi-Virtual Diskette (SVD): Projet au principe de fonctionnement assez proche du HxCFloppyEmulator version USB mais cible les machines TRS-80, Heathkit, Apple ][ et TI99/4a.
Projet 1541-III : Solution permettant d'émuler un lecture de disquette 1541-II pour Commodore C64 à partir d'une SDCARD.
Projet 1541 Ultimate: Cette solution assure une excellente compatibitée grâce à son émulation complète du 1541.
Projet "MegaDrive" : Projet au principe de fonctionnement similaire au précédent, mais cette fois ci pour Amiga. Ce projet est en cours de développement. Pour plus d'information voir le forum d'Amiga.org
Projet SdiskEmul : Solution permettant d'émuler un lecture de disquette pour Atari/Amiga/CPC à partir d'une SDCARD. Cet emulateur affiche ses menus de contrôles sur l'écran de la machine.
Projet TFE (Tolga Floppy Emulator): Solution permettant d'émuler un lecture de disquette pour Amiga (d'autres machines sont prévues) à partir d'une SDCARD. Cet emulateur affiche ses menus de contrôles sur l'écran de la machine.
All pictures / videos of the project can be found on this page!
(C) HxC2001 - jfdn