Sunday, April 27, 2014

The Original 8-bit XT IDE Interface

Back in the late 1980s, Western Digital had a good idea.  Its idea was to simplify hard drive interfaces and make them much more reliable by incorporating all the drive interface electronics on the hard drive.  Instead of having two ribbon cables connect a mostly dumb hard drive to a complex controller board, as was the case for the IBM XT and AT drive controller boards, all that would be required was one cable.  This cable would bring only the pins of the AT/16-bit IDE bus (essentially the data bus lines and a few address lines and some drive select signals) that the drive needed and could be implemented with simple glue logic.

This was a great idea and eventually became predominant in the industry for reasonable cost hard drives.  Reliability and data transmission speeds markedly increased.  The older ST-506 interface was already long in the tooth, and its successor, the ESDI, still used separate cables for data and control and still had too many functions on an interface card to implement on a PC motherboard.  SCSI was, and still is, a high cost, high end solution with its own headaches.

However, consumer based PCs of the late 1980s were increasingly feeling the pressure to add hard drives, or least the option to install one, into the PC.  When Western Digital and others were finalizing the AT Attachment (ATA) Standard, they also introduced a less functional version of the standard called the XT Attachment (XTA) Standard.  This has also been called 8-bit IDE and XT-IDE, but care must be had to distinguish it from the modern XT-IDE devices.  Hereafter, I will refer to it as XTA.  The chief differences between the two standards are as follows :


AT Attachment XT Attachment
Data Path 16-bit Wide 8-bit Wide
Number of Drives Supported 2 1
I/O Addresses Used 1F0-1F7, 170-177 320-323, 324-327
Hard Drive Capacities 20MB-504MB 20MB-40MB
ROM Addresses Integrated into BIOS C8000-C9FFF
Interrupt IRQ14, IRQ15 IRQ5, IRQ2
DMA None 3

The XTA interface was intended to replace the IBM PC/XT Fixed Disk Drive Adapter, which worked on I/O 320-323, IRQ5 and DMA3.  The ATA interface was intended to replace the IBM PC AT Fixed Disk and Diskette Drive Adapter, which used I/O 1F0-1F7 and IRQ14.

Several very interesting systems from the late 1980s and early 1990s had the XT-Attachment interface.  This includes the 286 based Tandy 1000 TL/2, TL/3, RLX, RLX-B, IBM PS/2 Model 25-286 and Model 30-286, and the IBM PS/1 Model 2011.  Also, the 8086 based Tandy 1000RL & RL-HD and the IBM PS.2 Model 25 and Model 30 also had this interface.

The IBM version of the XTA interface derivatives somewhat from the standard.  It uses a 44-pin cable and supplies power to the drive on some of the pins instead of a separate Molex connector.  In its 286 machines, which have or can be equipped with 16-bit ISA slots, IRQ14 will be used instead of IRQ5.  Their hard drive BIOSes may be integrated into the main BIOS.  

With the Tandy XTA interface, you are typically restricted to only a few hard drives, including the Seagate ST-325-X (20MB) and ST-351-A/X & ST-352-A/X (40MB), the Miniscribe M8225XT (20MB) and M8450XT (40MB) and the Western Digital WD95028-X-11R (20MB), WD95038-X-11R (30MB) and WD93044-X-11R (40MB).  The best drives from Seagate offer a 28ms seek time, the other drives can have a 40ms seek.  Conner Peripherals, Epson and Areal and Prairietek also made XTA drives.

The best of the bunch must be the Seagate ST351A/X.  As its name implies, the drive can work with an ATA or XTA interface.  Thus it can be connected to a modern IDE port without difficulty, although its storage capacity is still tiny compared to what is available today.  On the standard IBM drives table, it would be type 18.  Tandy sold the WD93028, WD93044 and ST-325-X.  The WD drives have a low-level format utility and require head parking when being moved.  The ST drives do not and can auto-park their heads.

One word of caution cannot be emphasized enough when dealing with these drives.  Do NOT use a low-level formatting program unless that program is specific to your manufacturer and drive.  DOS formats at a high level, and you should use that.  While the Seagate drives use 17 sectors per cylinder, the WD and MS drives use 27 or 28.  

As you can see above, the XTA interfaces has many drawbacks and disadvantages to the ATA interface.  For modern devices, the most important limitation is the I/O ports used.  Modern Parallel ATA hard drives, Disk On Modules and Compact Flash cards only support the ATA interface and the eight register addresses it uses.  While CF and DOMs support an 8-bit transfer mode, they must be programmed into this mode on bootup.  

Three difficulties present themselves in trying to get modern hard drive devices to work with the XTA interface.  First, the data, control and status information would need to be translated from the ATA interface of the device to the XTA interface of the system.  Second, the device would need to support and be put into 8-bit transfer mode on startup.  Third, the BIOS would need to be instructed on the correct geometry for the modern device.  While #1 and 3 can be fixed with a ROM BIOS extension, #2 is not an easy fix because the XTA connector presents I/O at 320, not 1F0.  In theory, someone could design an adapter that could do all three.  


6 comments:

  1. I've been trying like crazy to find any XTA specifications so I can recover data from an old XT drive. Do you have any pointers?

    ReplyDelete
  2. There is no comprehensive documentation for the XTA standard anywhere online. Most of the important information can be gathered from the reference material for the hard drives it supports, the IBM PC XT Technical Reference Manual, April 1983 or the Options & Adapters - IBM Fixed Disk Adapter, the IBM PS/1 Model 2011 Technical Reference and the Tandy 1000 Tech Notes & Jumper Manual Volume 1.

    ReplyDelete
  3. Hi,

    First let me thank you for your VALUABLE information, its great!

    I have 1 old Schneider Euro XT PC's.
    Got it on ebay because it was my first PC, 30 years ago!!! on which I learned the basic's of DOS. Unfortunately , I believe, that during the shipment the hard drive (Miniscribe 8225 XT) died.

    I tried to create a primary partition with FDISK but all I get is the sound of the HD spinning, it doesn't work at all.

    I am now looking for a replacement HD.

    1) do you know if I can use any other drive with an IDE-XT Interface or I wil need to look specifically for the Miniscribe 8225 XT?
    2) Could I use a Compact Flash card instead of the HD? Do you know of there are any cable converters available for this?

    If you can give me some hints on how to proceed getting this working.. would be great!

    Regards.

    ReplyDelete
  4. My information indicates that a Miniscribe 8225XT is 20MB drive. Another 20MB drive that uses the 8-bit IDE interface should work, if you go up in capacity compatibility may not be guaranteed.

    No one has gotten a Compact Flash card to be used with an 8-bit XTA interface. You have to send a command to put the CF card into 8-bit transfer mode, then find a way around any size limits placed on these drives.

    ReplyDelete
  5. I also read that a DOM could do the trick. Do you think it is something doable?

    ReplyDelete
  6. DOMs are cheap these days, so you won't lose much by trying. I'd look for a 32MB drive.

    ReplyDelete