Misplaced Pages

Floppy disk hardware emulator: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 12:38, 4 August 2011 editGuy Macon (talk | contribs)Extended confirmed users, File movers, New page reviewers, Pending changes reviewers, Rollbackers59,291 edits Editor with COI removing links to websites of competitors. See talk page. Undid (most of) revision 442982672 by Blackvisionit (talk)← Previous edit Revision as of 13:04, 4 August 2011 edit undoGuy Macon (talk | contribs)Extended confirmed users, File movers, New page reviewers, Pending changes reviewers, Rollbackers59,291 edits Tagged with Template:COI.Next edit →
Line 1: Line 1:
{{COI|date=August 2011}}

] ]



Revision as of 13:04, 4 August 2011

A major contributor to this article appears to have a close connection with its subject. It may require cleanup to comply with Misplaced Pages's content policies, particularly neutral point of view. Please discuss further on the talk page. (August 2011) (Learn how and when to remove this message)
A hardware emulator, same size as a 3½ drive

Old PCs, keyboards and industrial automation equipment such as programmable machinery and industrial robots may not have a USB interface. Data and programs are still loaded from a floppy disk, which can be damaged in industrial environments. This outdated equipment may not be replaced due to cost, or requirement for continuous availability.

Hardware emulators with USB / SD / MMC interface

Unlike general-purpose desktop personal computers, existing software emulation and virtualization tools can't solve this problem:

  • because of the lack of an operating system
  • because of the use of a customized / non-standard operating system

A hardware floppy disk emulator interfaces directly to a floppy disk controller (FDC), allowing users:

FDC interface

PC and numeric control FDC standard interfaces differ in some signals, on which hosts may depend. Emulators, unlike real drives, can be designed to interact with both standards and even with other non-standard / custom FDC interfaces (e.g.: Japanese NEC PCs).

A Laptop 26pin to Numeric Control adapter
A Yamaha 24pin to Numeric Control adapter
Pinout comparison
Pin Type PC NC Type Laptop 26pin Type Yamaha 24pin
1 Gnd +5V +5V
2 Out Density Select Disk Change Out Index Hole +5V
3 Gnd +5V nc
4 nc - - In Drive Select +5V
5 Gnd +5V +5V
6 nc - - Out Disk Change Out Ready
7 Gnd ? Reserved Gnd
8 Out Index Hole Index Hole Out Ready Gnd
9 Gnd ? Media In Head Select
10 In Motor A Drive Select 0 In Motor Gnd
11 Gnd Out Density Select Out Read Data
12 In Drive Select B Drive Select 1 In Step Direction Out Write Protect
13 Gnd ? Reserved Out Track 0
14 In Drive Select A Drive Select 2 In Step Pulse In Write Enable
15 Gnd Gnd Gnd
16 In Motor B Motor In Write Data In Write Data
17 Gnd Gnd Gnd
18 In Step Direction Step Direction In Write Enable In Step Pulse
19 Gnd Gnd In Step Direction
20 In Step Pulse Step Pulse Out Track 0 In Motor
21 Gnd Gnd nc
22 In Write Data Write Data Out Write Protect In Drive Select
23 Gnd Gnd Out Index Hole
24 In Write Enable Write Enable Out Read Data Out Disk Change
25 Gnd Gnd
26 Out Track 0 Track 0 In Head Select
27 Gnd
28 Out Write Protect Write Protect
29 Gnd
30 Out Read Data Read Data
31 Gnd
32 In Head Select Head Select
33 Gnd
34 Out Disk Change Ready

Raw data, received from the Write Data pin and sent to the Read Data pin, is MFM / FM / GCR encoded. A hardware PLL or a software-based filter component translates encoded data into physical sectors (identified by TRACK:SECTOR:SIDE), more compact and suitable for storage.

Numeric control signals are often affected by strong and regular disturbing sources. Emulators designed to handle such a high amount of glitches usually rely on software-based filters.

Data storage

Raw tracks (all sectors belonging to both sides of a track) are read from and written to a fast volatile internal RAM track buffer. The emulator, upon receiving a Step Pulse:

  • saves the current modified track to a permanent storage or sends it to a remote storage
  • changes the current track number according to the Step Direction
  • loads the new track from local or remote storage

Simple emulators are not equipped with an internal permanent storage and directly send data to a remote storage or to the data exchange module. Complete stand-alone emulators instead are equipped with flash memory with no need of a remote link or an external memory device always plugged in. Simple and complete emulators, however, share an intrinsic limit: a big seek time (> 12ms), due to current track saving and new track loading operations. Some hosts could reject any of these emulators.

Best emulators are equipped with FRAM memory, that replaces both RAM track buffer and flash memory, allowing permanent internal storage and minimum (< 1ms) seek time.

A hardware emulator front panel - USB data exchange

Data exchange

Data exchange from and to a user memory device can be implemented as:

  • direct access to a special partition (e.g.: a 1.44Mb partition on a USB key)
  • floppy file system translation (e.g.: FAT12 floppy ←→ USB key folder)
  • ISO floppy image support (e.g.: raw floppy ←→ .iso USB key file)

All of these implementation can be extended to a multi-floppy support.

Direct access and ISO image implementations can also emulate system / non-standard floppies, whose file system can't be simply translated.

ISO image implementation can also be coupled with a virtual floppy drive to seamlessly emulate floppy drives on a laptop.

Manufacturer comparison
Brand Read support Write support Internal memory ISO support USB support SDC support Other
EMUFDD yes yes yes yes yes no FRAM, Ethernet*
FLEXIDRIVE yes no no no yes no -
HXC yes yes* no no no yes PC via USB
PLR yes yes yes no yes no PC via USB
QHSFD yes yes* no no yes no -
SWEROB DDR yes no no no no yes -

References

  1. http://www.saitosite.com/database/index.html NEC Floppy Drives
  2. http://pinouts.ru/Storage/InternalDisk_pinout.shtml PC / Numeric control
  3. http://www.buchty.net/casio/fz1-diskdrive.html NC / Shugart Bus
  4. http://faq.msxnet.org/connector.html MSX / Yamaha 24pin
  5. http://www.lintech.org/comp-per/07MAGREC.pdf Magnetic recording fundamentals
  6. http://www.hermannseib.com/documents/floppy.pdf Floppy user guide
  7. http://www.pcguide.com/ref/fdd/index.htm Floppy drives PC guide
  8. http://embeddedsw.net/EMUFDD_Floppy_Hardware_Emulator_Home.html EMUFDD hardware emulator

External links

(FDHE = Floppy Disk Hardware Emulator)

  • EMUFDD FDHE (USA Europe) (USB Thumb Drive, internal non-volatile memory)
  • HXC FDHE (SD Card, PC via USB (not USB Thumb Drive))
  • PLR FDHE (USB Thumb Drive, RS485 (not Ethernet))
Categories:
Floppy disk hardware emulator: Difference between revisions Add topic