Tuesday, April 08, 2014

The HxC Solid State Diskette Emulator

What is HxC
HxC is a small electronics, solid state diskette emulator. Using the emulator and some diskette images stored in .HFE files on an SD card, your computer  can emulate 5.25 and 8 inch diskette drives that were commonplace in the 1980's

You may have an old or vintage computer that uses diskettes. But diskettes get old and unreliable, and your diskette drives too may be faltering.

If only there was some way to image your diskettes and store them.  Then as needed you could take the diskette image and use them in the emulator.  Yes, this is what the HxC can provide.

This post uses my Cromemo machines as a practical example but the techniques can also be applied to other S100 brand systems and other machines of this genre.

HxC Features at a Glance

  • Emulate Two drives simultaneously, not just one
  • Each 1.2MB diskette physical stored as a 4MB file  (trivial these days!)
  • HxC unit has a SD card slot.  You format the SD card FAT32 and place the .HFE diskette images onit
  • Virtual Diskette format can accomodate FM and MFM format disks, and critically combined format diskettes  (e.g. track 0 is FM format and remainder is MFM)
  • 300 and 360 rpm
  • Different versions of the emulator exist.  Mine has an LCD display to indicate what .HFE file is mapped to which emulated disk, plus buttons to change that mapping and some other functions.

I've tried a lot of other emulators!  I think the solid state floppy disk emulator market was born out of necessity because of the use of floppies in fabric machines in Asia and Electronic organs in America/Europe.  Demand for an electronic/ solid state replacement to floppies was significant. I recommend Gough Lui Gotek review   (and his website is amazing BTW)

I've also commented on the issues with emulating diskettes that have a mixed format track 0.  Please read this.

Setting Up the Hardware:

That Cromemco 64FDC Modification

I devised a simple modification that has previously allowed me to use Mode 3, 3.5" drives to emulate the older physical 8" drives.

This is advantageous because Mode 3, 3.5" drives whilst scarce are still available.  And the 8" DSDD  (double sided and density) format stored 1.2MB, considerably more than the 5.25" DSDD format of about 390KB.

Even if you don't use a physical 3.5" drive you need the conversion if your HxC is going to emulate an 8" drive on your Cromemco system.


Setting the HxC Jumpers

The configuration I settled on is 4 drives
(I won't bore you with all the other configurations that did not work)

Drive A = HxC drive A
Drive B = Physical 3.5" emulating 8"
Drive C = HxC drive B
Drive D = Physical 5.25"

I tried a lot of other jumper combinations but I found the manual quite annoying and unhelpful

So for now if you use these settings you will get a C: and A: drive on your Vintage System

Cutting the Cable
I had a 4 position cable which I have just cut so that 3 devices will now have 4 drives ...

You only need 3 positions because the single HxC connector will be good for 2 drives of course.

First find a full floppy cable with 5 connectors on it: The motherboard connector and  2 card edge females (for 5.25" drives) and two IDC? connectors to take male pins (from 3.5" drives).

This is the end of the cable with the twist in it.
I don't require the last card edge so I cut it off

Next Pull open the last IDC connector and untwist the cable. Then I re-assembled and had to glue back the top, because it was a single use affair and it would not fit back otherwise.

At this point 1 have a cable with 

1. A motherboard connector
2. 3 other connectors
3. No twist!

The connections will be in sequence:

1.  Computer
2.  360K 5.25" drive as D:
3.  3.5" drive emulating B:
4.  HxC with drives known to herself as A: B:  and to the computer as A: and C:

 Filing of the power connector necessary also

Lashup before mounting.


This was complicated by the fact that on my unit the mounting holes were not tapped i.e. just holes and so no screws could be used to mount.

Instead I settled on self adhesive Velcro.   It's been 3 weeks and it is holding nicely!

Initial Plan
The cunning plan was to add 2 synthetic drives (A: and C:) via HxC to the existing machine configuration.  Then I can boot the machine to the physical B: (8" pseudo) diskette, for example, and copy information to the A: or C: drives which are stored on the SD card.

A bit of a Problem
Diskettes are stored as .HFE images on the FAT32 formatted SD card.

Each .HFE image is bigger than the diskette.  A 1.2MB floppy is stored as a 4MB .HFE file.  On my 2GB SD card for example this is trivial!

There is a tool under Windows that can create blank .HFE files.  Except

It cannot create Cromemco Blank diskettes!

Can you see why? Well it is because there is only the provision to create all tracks of the virtual diskette image the same.  And we need track 0 in FM format, and the remainder in MFM format. Hmmm.

So the cunning workaround plan is
a) Make a Blank Physical disk on Vintage Cromemco
b) Take diskette to my real (1983) IBM PC and convert from  physical disk to .IMD (Dave Dunfield's Image Disk program).
c) Take the .IMD file to my Windows 2012 x64 server virtualisation PC and startup the HxCFloppyEmulator v2.0.20.1
c) Use the HxCFloppyEmulator program to read the .IMD and write .HFE
Repeat steps a-c with the different blank disk formats that you need.

Of course there are CDOS, Cromix, Uniform, Ftar

And single and Double sided

And single and Double Density

In other words a lot of combinations.

I have saved all the common blank HxC Cromemco Formats here

Some Initial Tests I made 
I selected the A: of the HxC to be a large Cromemco CDOS  (Cromemco Disk Operating System) diskette image.  Then in the Resident Disk Operating System   (RDOS) monitor program ran the tz command to test the memory and diskette.

Cromix for the Z80 Processor can (just) fit onto a single 1.2MB diskette (sans help files). And here we see an HxC image loading to Cromix.

I will make a much longer separate post showing many more tests that were performed and the results (mostly positive!)
How Can I use the HxC with Cromemco Images?

  • Goto the Cromemco diskette index
  • Perhaps decide the diskette you need from the catalog
  • Download the HxC software and install
  • Using the VirtualFloppy Emulator, read in the .IMD file and save as .HFE file
  • Place the .HFE file onto your SD card
  • Place card into HxC reader, press middle button to select drive, then select the file to be loaded against that drive.
  • You are now ready to use that diskette either to boot from or as a data source etc.
  • Further you can of course reformat that .HFE image or do anything you want to it.

NB: I already knew that some .IMD images were not correctly made.   (Often commented in the catalog). In this case you should contact me and ask for the IMD to be remade, and then (of course) after doing it, I will as a matter of course make a .HFE companion image and place to website.

What do the buttons Do?

Again the manual was not very helpful.  So I can tell you:

The middle button is to select an option
The left and right buttons navigate a list
Hold down the middle button to get into a list of functions

Some helpful pictures:

Which HxC Emulator?
I chose the SD FB Floppy Drive Emulator on a Black Case.  There are many other models.  But this one has a case and a display.  Important to me.  The polish Przemyslaw Krawczyk nickname Lotharek runs the best website of HxC emulator designs and he'll build your emulator to order after you have purchased it from his website or ebay shop.

In Conclusion

The HxC diskette emulator is a huge advance for Cromemco or other vintage owners wishing to preserve their diskette images on solid state media.

The emulator is crucially able to cope with read and write to images of mixed FM and MFM single and double density formats.

Furthermore the rotational speeds of 300 and 360 RPM used by 5.25 and 8" diskette drives.

The emulator can emulate 2 drives simultaneously with each virtual diskette image normally being about 4MB on the FAT32 formatted SD card.

Cromemco users can take advantage of the existing  diskette index to find the diskette(s) they need, place them onto the SD card in the HxC reader in just minutes and be up and running.

SD FB Floppy Drive Emulator

Blank .HFE Cromemco format diskettes