Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Sinclair Spectrum
Memotech MTX
    About
    Library
    Manuals
    Options
    Photos
    Projects
    Repairs
    Software
    Tools
    User Groups
    Video Wall
Memotech CP/M
Atari ST
DEC 3000 AXP
OpenVMS
Raspberry Pi

 

 
 
 

The Memotech MTX Series

MEMOTECH  DISK UPGRADE - HxC

 
From this . . . or this . . .   to this !

 

Update : August 2014

Important

I have been recommending the HxC SD Floppy Disk Emulator as a replacement for floppy drives in Memotech disk systems for a while now, and whilst this remains broadly true, please read this section for a caveat should you intend to use the device with an FDX

 
Update : April 2018
Whilst the HxC emulator works well, there is a new player in the market. Keir Fraser has released replacement firmware for the Gotek USB floppy drive emulator. These devices are ultra-cheap, making it possible to add replacement USB "drives" to FDX/SDX systems for under £20.
See my Memotech Gotek upgrade here.

 

Background

Having improved the reliability of my FDX system by replacing the original Astec PSU with a HEC-200SR ATX PSU and replacing the ageing 5.25" drives with 3.5" ones, I now wanted to enhance the storage facilities on my FDX.

Many vintage computers have had CF (Compact Flash) or SD (Secure Digital) memory card devices developed to emulate floppy and hard disk drives. Unfortunately, there are no integrated storage card options, such as Andy Key's REMEMOrizer for the MTX, available for the FDX (yet ?), so even with the largest floppy disk supported by the FDX (Type 07, 640k), a lot of disks are required to store all of my old programs and data. As well as that, the long term reliability of floppy disk media is not guaranteed and backing up a collection of even a moderate quantity of floppy disks is a chore that I can do without, There had to be a better solution . . . . . . .

 

HxC Floppy Disk Drive Emulator

The HxC Floppy Drive Emulator is a Universal Floppy Disk Emulator, developed by Jean-François Del Nero (Jeff). It began as a way to emulate the 3.5" disk drives on Atari ST and Commodore Amiga computers and has developed into a solution that can replace floppy disk drives in a wide range of computers, music samplers and a range of industrial machines - in fact, just about anything that has a floppy drive interface.

There are two main kinds of HxC :-

  • A USB version which allows connection of the floppy disk drive interface of the target hardware to a PC via a USB cable.

  • An SD Card version which emulates floppy disk drives with disk images stored on an SD card

Full details of the HxC Emulator can be found on either

The HxC Emulator is a popular add-on for users of vintage home computers and is widely discussed in forums such as the amibay (Amiga focused) or startdot (Acorn/BBC focused) forums. It also has its own HxC support forum, When looking through the HxC forum, there were plenty of references to the use of the emulator with a range of computers and other systems, but only a single thread about its use with Memotech systems. Jim Wills had purchased one in 2011, but had apparently had problems getting it to work with this FDX - and in particular, had never been successful writing from the FDX to the emulated disk. There have been multiple improvements to the HxC firmware since 2011 and I was hopeful that any issues either had been, or could be, resolved.

 

The SD card based emulator is available in a number of form factors, including :-

 

 

Click image to open full size photo

The original design, available since 2010.

This version has been successfully installed in a wide range of home computers, music systems, industrial machinery, etc.

You can see pictures the wide range of previous installations on the HxC web site by following this link.

 

The display and buttons can be remotely mounted, allowing installation of the emulator inside the target hardware.

This example shows the emulator mounted in place of the floppy disk drive in an Atari ST.

For situations where more flexibility is required, the emulator can be supplied in a case - both grey and black are available.

When I was assessing the suitability of an HxC emulator for use with my FDX, I decided to buy a cased model first, as, if it turned out not to be suitable, I knew that it would work with my Atari ST and BBC computers.

Although the grey would have matched my Atari and BBC computers better, I decided that the black looked better and would match my FDX and SDX disk systems.

And actually, if it did work, it would look nice sat next to my SDX controller!

However, assuming that it would work with the FDX, the ultimate goal was to be able to install an HxC inside the FDX in place of one of the existing disk drives.

A new model with a standard 3.5" floppy disk drive form factor was released in 2012 - hopefully, this is what my final solution will look like.

The 3.5" form factor "drive" is available with grey and black adhesive labels for the facia. The black label would be closer to matching my FDX, but even then, is a little "cluttered" to match the FDX's "minimalist" look.

I know that some users have elected just to paint, and in at least one case, powder coat, the fascia completely black. This would be a much neater solution for installation in the FDX.

Update : 2014

The Rev "F" is now available with optional power coating for an additional 3 Euros. This would be a far nicer look for a device mounted in the FDX.

If you open the full size photo, you can see indents in the coating from the fixings, this takes a little away from the look of the fascia, but is still better than the adhesive labels.

An ultra slim line version was released in 2013

This allows the HxC to be mounted in a slim 3.5" floppy drive case, such as those used for laptops etc.

   

Images courtesy of Jean-François Del Nero (Jeff) and Przemyslaw Krawczyk's (Lotharek)

 

FDX Drive Configuration

The FDX disk controller supports up to 4 floppy disk drives and the starting point for me was with the FDX configured for two, 3.5" 80 Track drives. I needed the original drives to be addresses as DS0 and DS1 as some Memotech software, e.g., FDXB.COM, will only run from the first physical disk - addressed as DS0. I needed to be able to add the two emulated HxC drives as IDs DS2 and DS3.

I had made the necessary changes to the configuration switches on the FDX disk controller when I installed the 3.5" drives, I had set up the third and fourth drives to be compatible with Memotech Type 07 disk drives. If you need to modify the settings on your disk controller, you can get the details of what is required by following this link.

 

HxC Hardware Configuration

The HxC emulator is advertised as being fully compatible with IBM PC floppy interfaces as well as fully compatible with the Shugart "standard" found on many other systems, it can also emulate two separate floppy drives and has ID select pins marked DS0, DS2, DS2 and DS3, suggesting that it can support drive IDs in this range. Whilst the HxC manual does describe pinning of the HxC to assign the emulated floppy drive ID(s), it is not too clear on IDs other than 0 and 1, and setting ID 3 in particular appeared not to be as straight forward as the lower IDs. I posted a question on the HxC support forum*, but in the meantime, went ahead and configured the HxC as device ID 2 - this would be connected to my FDX as the "D" drive.

*Jeff has confirmed that "out of the box", DS2 is supported, but the connection for DS3 is not wired from the 34 pin header to the the circuit board on the HxC. To verify that the HxC could be made to work as DS3, I was asked to do some testing by either modifying the HxC (which I was not keen to do) or modifying a floppy disk cable :-
 
  • The modification to be done before the last connector of the cable is : -

    • On the floppy cable cut the wire n°6 and n°10 OR n°12 (as you want since the n°10 & n°12 are used by the floppy disk drives)

    • Connect the wire °6 coming from the host system to the wire n°10 OR n°12 coming from the HxC.

    • On the HxC the jumper setting is : ID2-A & ID0-B (if the wire n°10 is used) OR ID1-B (if the wire n°12 is used).

This has the effect of having the HxC appear to the FDX to be Drive D: (using the normal pinning on the HxC associating the HxC "A:" drive with DS2) and Drive E: (using the pinning on the HxC for the "B" drive using the FDX DS3 signal, wired to the HxC DS0 line in the interface).

This temporary work around has proved that the HxC will work in my desired configuration of 3.25" disks as FDX drives B: and C:, with HxC emulated drives as FDX drives D: and E.

Update : August 2014

When I did some testing in May 2013 to prove that the FDX & HxC combination would work with drive ID DS3, I was led to believe that a modification to the Rev "F" HxC would be introduced 3-6 months after the tests.

As it turns out, there are no modifications being made to the Rev "F" design and the seller will not perform the required modification on an "as needed" basis, even with instructions from the designer. Because of this lack of flexibility to support the Shugart "standard" and the FDX disk option for 4 drives, I have cancelled my order for a Rev "F" HxC until this deficiency is corrected. Until then, I will continue to use my cased HxC.

Update 2 : August 2014

A few words on my experiences while trying to get an HxC Rev "F" configurable for drive ID's 0 to 3.

This has proven to be far more difficult than it needed to be, so I have parked the idea of adding a Rev "F" for the foreseeable future. I know that Jeff is working on a new floppy replacement design and I am hopeful that it will be able to support DS0 to DS3 "out of the box".

From my perspective, the reason that things have been difficult is due the way that HxC design and support (Jeff) are divorced from manufacture and supply (Lotharek) - it feels almost Kiplingesque - an example of " Never the twain shall meet" !

I have found Jeff (HxC developer) to be very helpful and willing to discuss and resolve technical queries and am now confident that it is possible to add a small patch wire to the Rev "F" PCB to provide the device with the flexibility to respond to drive ID DS3 in addition to DS0 to DS2.

On the other hand, Lotharek (HxC seller) is far from flexible. Although Lotharek is the sole source of supply for HxC, it is only part of the product range in his extensive on-line store, which is very much a commercial enterprise. Whilst I have found that, in general, Retro computer hobbyists and developers are willing to engage with others, things are a bit different with Lotharek.

For whatever reason, the size of his operation perhaps? His lack of time? The commercial nature of his enterprise? etc.? He is very much a "box-shifter", all of his products are available to order from the website, but they are sold on a "take it or leave it" basis, there is no flexibility for any degree of "customisation". At one level, I can understand this, but for the case in point, it is very disappointing that a small modification to correct a deficiency in the product that can cause problems for a very few customers and prospective customers on a one-off basis is not possible unless an order for 200 units is placed - not a viable option.

 

NB : These observations are based on my personal experiences -

"your mileage may vary"

In summary, should you want to use HxC with SDX type controllers, there will not be an issue as, depending on the model, SDX controllers only support 1 or 2 floppy drives (DS0 and DS1). Similarly, should you want to use HxC in an FDX and address the drives as DS0, DS1 or DS2, then things will be fine. However, should you wish to have 4 drives in your FDX, it is highly likely that you will need the HxC to be addresses as drives DS2 and DS3. This is not possible "out of the box" in the current versions of the HxC. The options available are :-

  • Modify the HxC yourself, doable, but you will void the warranty, don't expect much support from the seller
  • Make a custom floppy cable, or bodge an existing one like I did, this will work, but I think it's a crude solution for correcting a problem with the device. It's not an acceptable long term solution for me.
  • Wait for a new product or find an alternative

HxC Software Configuration

The HxC is configured using a Windows configuration tool :

The latest version can be downloaded from either of the websites above :

 

When the HxC starts up, it looks for a file called hxcsdfe.cfg in the root directory of a FAT32 formatted SD card. This file sets various emulator options such as the backlight timer, sound effects volume and basic disk parameters.

A default configuration file can be created with the software. The first step is to copy this file onto an SD card, freshly formatted as FAT32.

In the current general release of software, the HxC needs the emulated floppy disks to have been created on the PC, then copied over to the SD card.

A number of standard formats, such as for a PC or the Amstrad CPC computer are defined in the software, such as the 720K PC format shown here.

If you want to use non-standard "disks", such as those for the Memotech FDX and SDX, the disk configuration and format must be specified before creating a new floppy "disk"..

The required parameters for the most common Memotech disk types are :

Parameter

Type 03 Type 07
Track Type MFM MFM
Bit rate 250,000 250,000
RPM 300 300
Number of Tracks 40 80
Number of Sides 2 2
Sectors per Track 16 16
Sector Size 256 256
Sector ID Start (default) 1 1
Interleave 3 3
Skew (default) 0 0
Format Value ("E5") 229 229

All other options unchecked

Resultant capacity Type 03 Type 07
Total Sectors 1280 2560
Total Size 327,680 655,360

 

It is easy to create new HxC profile files (".fpf") with this information but you can also download pre-built profiles for Memotech disk Type 07 and Type 03 from the bottom of this page.

   
This picture, from The PC Guide, illustrates the concepts of interleave and skew, it shows a simplistic overview of a disk with the concentric tracks divided into a number of sectors.

Reading and writing a given sector on a track takes a finite amount of time, if adjacent sectors are being accessed and the disk controller cannot process the data fast enough before the head is over the next sector, it will have to wait for a complete revolution of the disk before being able to process the next sector.

Skew relates to a similar concept, movement of the drive head from one track to the next is a mechanical operation. The diagram shows how sectors on adjacent tracks may be "skewed" to optimise the track to track seek time.

The Memotech FDX disk controller manual does not discuss skew, but does give the interleave values for the different disk types, which, apart from 8" Type 10 disks, are all the same. Based on my reading of a poor quality scan of the FDX controller manual, I initially thought that controller does not use sector interleaving, so initially set both interleave and skew to 0.

 

Initial Testing

I created a number of Type 03 and Type 07 images and copied them to the SD card, along with the HxC configuration file. I connected up the HxC, booted the FDX from one of my Type 07 floppy drives and CONFIGured drive D: as a Type 07 disk. I could do DIR from CP/M and the "drive" was recognised, reporting "NO FILE" (as expected), which was encouraging.

When I tried to use the emulated drive "D" though, I found that it was extremely slow. It took a very long time to copy files to and from it, even a directory listing was very very slow. The disk checked out OK with no errors when running RCHECK.COM, but the speed of checking the disk was again painfully slow. I would estimate that the performance of the HxC was certainly no faster than 25% of a normal FDX floppy drive. When the HxC was connected, I also experienced sector read errors on real floppy drives that did not occur when the HxC was not connected.

Needless to say, I was very disappointed at this point!

I submitted a query to the HxC support forum which was very quickly responded to by Jeff, the HxC developer.

<Quote>

"This is generally an interleave/skew/gap setting problem : With the wrong interleave/skew/gap setting, the host machine may not have the time to "catch" the next sector and must do some additional disk rotation to get it. In the worst case the machine has to make 16 rotation to get the 16 sector present on a track... (0.2s *16 = more than 3s...) To got the right interleave/skew/gap setting, update update the firmware with the 1.8.1.7 (in your email box), and format one of your images on the host machine. Send me back the image by email. "

<End Quote>

The new firmware supported formatting of the "disk" from the host controller, when I formatted a "disk" on the FDX, the performance of the system improved markedly. I have not done any quantitative testing yet, but, so far, I am happy with the performance.

When Jeff looked at the image file that had been formatted on the FDX, he was quickly able to see that the FDX controller was using an interleave value of 3 - his comments above were spot on! Armed with this knowledge, I took another look at the FDX controller manual and saw that I had misinterpreted the information that I had read earlier. The manual actually shows that the sector interleaving arrangement is "1 - - 2 - - 3 - - 4" confirming Jeff's investigation. (I had misread the FDX manual as "1-2-3-4" and wrongly took this to mean that the sectors were read consecutively and that interleaving was not being used).

 

Early Observations

SD Card Options

The HxC can use SD cards up to 2GB and SD HC cards up to 32GB, that sounds great - the bigger the better, however, this is far more than actually needed and probably far more than is manageable - certainly for a Memotech system. 32 GB is equivalent to some 8000 1,44MB disks, and although the emulated floppies can be stored in sub-directories, file navigation is all done using the "<<Prev", "Enter" and "Next>>", buttons, it is probably going to take you a long time to get to disk 4000!

I think it is probably far better to use a number of smaller SD cards, but for Memotech systems, even a 256MB SD card would hold all of the available library of commercial software, your own data as well as a huge amount of commercial and Public Domain CP/M software. A 256MB card is able to store the equivalent of over 130 Type 07 floppies. Even using sub-directories, that is going to need careful file management if you are going to be able to retrieve the required floppy image without a lot of searching.

The display panel is 16 characters wide, to support long filenames, the display scrolls to allow the full filename to be seen. Although the scroll speed can be adjusted in the HxC configuration file, I find that navigating through lists of files with long names is not a pleasant experience. I use filenames with an 8.3 naming convention, it is obviously a user preference to go with more descriptive filenames as opposed to speed of navigation.

There is an argument for using higher capacity cards though - whether you will use all of the available storage space or not, and that is the speed of the card as shown in the table below :-

SD Card Class

Minimum Performance

MB / second

2 2
4 4
6 6
10 10

Jeff recommends a good quality SD card such as the Sandisk Class 10 Extreme Series. You will probably not find a Class 10 SDHC card that holds less than 4GB and even a Sandisk Extreme that size should cost you well under £10. On the other hand, many people have older xMB sized SD cards left over from old digital cameras, media players etc. that would probably give acceptable performance on a Memotech disk system, particularly as the file sizes being used on the emulated disks are relatively small and the performance of higher capacity cards can fall off when reading & writing small files.

 

   

SD Card Filing Structure

Whilst an operating system such as Windows has the option of sorting a display of the SD card directory according to user preference, such as, Name, Date, Type. etc. native FAT32 file ordering is mainly by the order they were placed on the card. Due to memory constraints on the HxC, the files are displayed in native FAT32 order by the emulator.

The DriveSort program can be used to customise the order in which the files will appear in the HxC display.

 

Backups

The ability to "copy & paste" floppy disk images from the SD card to other storage locations using Windows is going to make backing up my Memotech software unbelievably easy! - I think that this functionality alone is worth the cost of the HxC emulator and the small amount of effort it is going to take to get all of my FDX disks copied over to SD card.

 

Image Portability

The default file format used by the HxC is ".hfe", a custom file format written by Jeff for the emulator, it is openly available and details can be found in the HxC document at the bottom of this page. This format is only used by the HxC floppy disk drive emulator so the image files are only directly useable by people with HxC hardware. However, the PC software can be used to convert images between various other formats, including TeleDisk and ImageDisk. Teledisk was widely used to create floppy disk images and some Memotech disk images are available in TeleDisk (.td0) format, but TeleDisk is not free software and its current status is a bit of a grey area, in any event, the HxC software can import, but not export images in TeleDisk format. It can though, import and export images in ImageDisk (.imd) format, written by Dave Dunfield, ImageDisk is Freeware.

There are also advantages in using ImageDisk (or Teledisk) format for archiving or exchanging files, the HxC format does not use any form of compression, and even a Memotech Type 07 (620kb) disk image is almost 2 megabytes in size. The ImageDisk file format compresses the same image down to 213kb - around 10% of the size of the .hfe file. Of course, the .hfe image can also be compressed with WinZip etc., which brings the image size down to around 183kb.

The HxC Floppy Disk Emulator software can also read in files in RAW data format, i.e., the data bytes as they are written on the disk, this means that it is also compatible with Andy Key's MFLOPPY format which other Memotech owners may already be using. I was able to take Andy's SDX System disk from his MLOPPY distribution, read it into the HxC PC software then write out a file to the SD card which I could then use to boot my SDX.

My CP/M Images page contains links to a number of Memotech disk images available for download, until I get more of my Memotech disk images converted, by way of example, I have posted a copy of Andy's SDX System disk on the page. I would appreciate it if you could let me know your experiences, good or bad, if you download any of these images.

 

Wish List

I can already see that the HxC will be a great add-on for my FDX (and SDX) disk systems, but the obvious restriction is that the PC software can only create, read and write complete disk images. For more common formats, such as for the PC, the PC software can work with the "disk" at file level - creating, browsing and exporting new "disks" as required.

Similar functionality for the Memotech disk format is not available in the HxC software, and as there is nothing like that available for Memotech users under Windows (although there are some low level disk manipulation tools like "dd" and "cpmtools"), this would make a great enhancement to the HxC software for Memotech users. However, with the very small user base of Memotech owners with HxCs, I guess that this is unlikely to make it into the PC software - unless of course, it would encourage more Memotech owners to purchase the HxC - which I'm sure it would.

Update, April 2018: Hopes raised, then dashed . . . .

At one point, I was discussing the possibility a file browser with Jeff, and having sent him more details of the Memotech disk format and copies of "dd" and "cpmtools". Jeff did start to work on this, but I guess it fell into the "too difficult" bucket and he stopped returning my emails, so, sadly, it looks like a Memotech hfe file browser will never happen.

 

HxC Related Resources

The most up to date documents will always be found on Jeff and Lotharek's sites, the documents here are a snapshot of the documents that I downloaded at the time that I bought my cased HxC in April 2013 - they are not guaranteed to be current by the time you download them, but are posted here for convenience.

Documentation

SD Card HxC Users Manual Rev.2.1 14/08/2011

SD Card HxC Product Brief Rev.2.2 28/05/2012

SD Card HxC .hfe file format Rev 1.1 20/06/2012
 

Software

HxC Floppy Emulator Software Version 2.0.12.2

Floppy Software Release Notes Version 2.0.12.2
 

Supporting Files

Memotech Type 03 Empty Disks 100 Pre-formatted "Disks"

Memotech Type 07 Empty Disks 100 Pre-formatted "Disks"

Memotech HxC Disk Profiles Type 03 and Type 07 Config
     
     
     

 

mailto: Webmaster

 Terms & Conditions