6

I have an old hard drive and would like to try to read the data from it. The hard drive is IDE, but it is the old version of IDE, called XTA and it is only 8 bits wide (compared to "normal", 16bit IDE). It is also incompatible with the modern version. 8 bit controllers sometimes show up on ebay, but they are very expensive.

So, I decided to try to create an adapter from parallel (a PC is easier to program than a MCU, for me anyway) port to 8 bit IDE. For that I need specifications (timings, registers, commands), but I cannot find them anywhere. googling for XT-IDE finds lots of pages about a reverse project - a modern IDE controller that can be used in a 8bit ISA slot (on old PCs), but I want to connect an old hard drive to a newer PC. Wikipedia says that the registers have different meanings on XTA than IDE.

Can anybody share the specifications, or at least tell me where to find it?

Pentium100
  • 6,550
  • 3
  • 32
  • 39
  • As I know these standard could be covered by a licence, and you could have to pay for it. Not sure, but if I remember well... – clabacchio Jan 29 '12 at 10:00
  • 1
    I would assume that the timings are equal to 16-bit ISA, IIRC you could use 8-bit cards in the 16-bit bus. – Trygve Laugstøl Jan 29 '12 at 17:04
  • the idea of putting the drive interface board on the drive, and running the ISA bus signals to the drive (instead of putting it in a slot, and running low level drive signals across a MB full of digital noise) was quite new then. it almost seems like the register set could have been identical to MFM/RLL adapters of the time. – JustJeff Jan 29 '12 at 17:53
  • Have a look at http://www.vintage-computer.com/vcforum/showwiki.php?title=XTIDE+project – posipiet Jan 30 '12 at 01:28
  • @posipiet That project is in reverse - their goal is to connect a modern IDE drive to an old system, while I want to connect an old drive to a (relatively) modern system. – Pentium100 Jan 30 '12 at 01:42
  • I dug around some more in some old PC hardware books I have that date from the late 1980s, and it seems that XTA IDE was really, really rare. – JustJeff Jan 30 '12 at 19:49
  • see www.retroarchive.org/dos/docs/ibm5160techref.pdf ; page 1-191 (document numbering) or page 201 (pdf numbering) – JustJeff Jan 31 '12 at 00:39
  • @JustJeff thank you. Looks like I have enough information to try to access the drive. Just need to build that LPT adapter (since IDE needs more than 12 outputs and 4 inputs), but that does not look difficult. – Pentium100 Jan 31 '12 at 02:08
  • Did you ever figure out how to do this? I'm trying to do the same thing, read and duplicate an old ST351A/X drive. –  Mar 20 '12 at 01:23
  • @Bob, IIRC that drive can work in 8bit and 16bit modes. Can't you switch it to the 16 bit mode and read the data? I downloaded the docummentation, made a schematic of how to connect that drive to the parallel port (basically a bunch of latches), but did not try to actually build it yet (no time for that now). – Pentium100 Mar 20 '12 at 09:21

2 Answers2

3

From googling XTA I found the wikipedia page, which mentions XT-IDE.

The wikipedia page mentions the ST351 A/X as being a 40MB XTA drive.

Googling "ST351A/X xta programming model" led to a PDF (3rd hit, as of this writing) about the Amstrad PCW.

Why do you care about the Amstrad PCW? B/c it used a ST351 A/X in "XT mode", and said PDF contains references to where the registers lived in the XT: ports 0320h-0323h.

Now you still need to track down how ports 0x320 to 0x323 worked in an XT, but that's closer than you were.

Kortuk
  • 13,362
  • 8
  • 60
  • 85
JustJeff
  • 19,163
  • 3
  • 48
  • 75
  • Thank you. I downloaded the IBM PC technical reference and it has explanations for the registers. I will build an adapter (so I could connect the drive to a parallel port) and will try to talk to it. I also found the pinout for XTA, which is basically the modern IDE but with all even pins grounded. – Pentium100 Jan 29 '12 at 21:12
  • Any progress on this @Pentium100? :) – rdtsc Jul 31 '16 at 23:05
  • @rdtsc, not really. I tried programming an Arduino to access the drive but couldn't really make it work - the problem is that I do not know whether this is a problem with my signals or the drive is just broken. – Pentium100 Aug 01 '16 at 11:48
2

Maybe it is slightly backdated...

There is no official, de-jure standard for XT IDE, but a de-facto (like ISA itself) was.

So called "XT Mode" of operation are supported by (at least) the following ICs and defined in theirs datasheets:

  • Western Digital # WD42C22C disk controller IC (google it).

  • Cirrus Logic # CL-SH260 disk controller IC (google it).

(IMO, each of these datasheets describes the XT IDE bus and protocol in full.)

Historically, WD was the first who developed a single IC solution supporting XT Bus, some historical background and common information on XT bus "concentrated" in one place, to become familiar with, could be found here:

To understand the nearest environment the controller works within, the following would be also interesting to a modern XT designer:

  • Texas Instruments (former National Semiconductor) document # SNOA710 = AN-413, Disk Interface Design Guide and Users Manual - a very good collection of necessary knowledge to begin with.

  • IBM Personal Computer 5155 (PC AT) and/or IBM Personal Computer XT 5160 (PC XT) Hardware Technical Reference Manual(s).

  • IBM Fixed Disk Adapter Hardware Reference Manual.

In the task to clearly determine between what you need and what you do not, the following sources would be useful too:

  • Seagate Technology ST-506/412/225/351A(X) Disc Drive (OEM) Manual.

  • Western Digital's WD1002S-WX2 Disk Controller (now it is about a card, not an IC) and/or WD1010-05 Disk Controller (it is an IC from pre-WD42C22C era) manual(s).

To be more accurate, ISA access timings are equal to PIO Mode 0 of ATA-1, ATA-2, ATA-3 standards and therefore they (but only they - in the scope of XT-IDE) could be considered officially (de-jure) standardized.

Again, sorry for so backdated answer :)

asndre
  • 1,597
  • 10
  • 17