XT IDE Controller

[Geordy] wanted to use some IDE devices but he didn’t have an interface card for his XT system, which can’t handle 16-bit  IDE. He looked around for 8-bit ISA controllers but they were hard to find and quite expensive. Lucky for him there’s an open source project that makes a solution to this problem. The XTIDE project brought together a group of vintage computing enthusiasts to design this ISA card. [Geordy] was even able to order a professional PCB from one of the forum members. He ordered the parts an soldered it together, costing about $30 total. He had a friend help him burn the code to the EEPROM but that’s easy enough to do with an Arduino, Bus Pirate, or one of several other methods. Now his grand plans at installing DOS 6.22 have been realized.

35 thoughts on “XT IDE Controller

  1. @MS3FGX

    I think the main point that Mike was trying to get to other than this is a kit, is that you can totally make your own IDE ISA card. I remember when I was just a wee-hacker my first PC was DOS6 with about 6 ISA ports. Had I been able to keep bessie, this totally would have been a bad ass concept to use to show her and some killer soldering skills off. I say kudos to geordy and the entire community for creating such a kit. Especial props go out to the board maker. My only question now is, does it come in colors? :D

  2. Not that I have done it, but IDE is apparently reasonably easy as it is always popping up on retro computer sites usually implemented in software and a hand full of glue (logic)

  3. The “hack” is that modern IDE hard drives are working at all in a 25 year old computer that was designed before IDE was even conceived. The interface card itself was designed by a small group of enthusiasts, plenty of credit goes to them.

  4. IDE is easy to talk to, but to get it going as a functional boot/system drive can be a bit of a trick. The real magic here is the BIOS that was written for this card, the hardware itself is very simple.

  5. “The “hack” is that modern IDE hard drives are working at all in a 25 year old computer that was designed before IDE was even conceived. ”

    eh sorta, hard drives before IDE all did the same thing so its not a new idea, just a open and documented version of it

  6. Not that I like to burst bubbles, but after exactly 12 seconds of googling, I found this link :

    http://www.computerpartsgalore.com/cards-controller.htm

    The third line says:

    Acculogic 110-00410 / sIDE IDE Interface Board / ISA

    Ok, it’s 48$, not 30… but you’re making a nice gesture for the planet (and your fellow earthlings) by preventing something that’s probably not exactly ROHS compliant to go in a landfill.

    Just my two (Canadian) cents.

  7. The trick to getting the 16bit IDE to work over the 8bit ISA bus, is that the card read’s 16bits from the drive, then only sends 8bits at a time thru the isa bus.

    It’s a trick i’ve come across for using IDE on other 8bit systems, like the Appple II.

    But dang, I wish I still have an XT or something similar.

  8. Makes me long for the days of heathkit — there are no good board level kits anymore for building an entire PC.

    XTIDE could just be the start — how about an entire XT you etch and solder yourself from plans?

    Back in the day I built both a HS-158 and HS-161 — You got the boards, you got the parts, you soldered it all together. The CGA card for the 161 and hercules knockoff for the 158 took a good weekend each all by themselves and I came away from the experience with a lot of knowledge about parts I didn’t normally deal with (like RAMDAC’s).

    The heathkit x86 based machines were interesting in that they were a passive backplane/card cage, and you put the CPU on an expansion card just like in many servers. I’d love to take on a project like that again.

  9. Interesting. Very interesting.

    @ALL:
    Please remember that the XT disk drive used the beginnings of the ATA interface. The AT’s controller was exactly the device indeed, it was finalized there. The Compaq Deskpro 286 contained an early model IDE drive controller. I should know I repaired a lot of them.

    Take look inside any XT, the drive controller its wearing has two ribbon cables, one for the data and one for the controller signals to the drive. Perhaps a few extra signals on the fat cable, its been a long while. Anyway IBM worked that into the ISA (PC/AT) style controller that was used there. And Compaq created the IDE standard by compressing them into the forty leaded wonder we know today.

  10. We have tons of this stuff here in Czech Republic. Not for 30 dollars, but for 30 crowns, which is one dollar! I have tons of MFM stuff, which is older than IDE. Good source of stepper motors, HUGE magnets and 74xxx chips…

  11. How do you burn a parallel EEPROM with an arduino or a bus pirate? You will need a lot of shift registers… I think you missed that it is not a serial eeprom…

    Btw, it’s nice to see some legacy hardware from time to time ;)

  12. The early Shugart interface HDs were bare drives. The controller boards had the low level control electronics (MFM or RLL) and had to know everything about the drive. There was no safety checks if you put in the wrong info. If you changed controllers or moved the drive to another machine that was faster or slower it often didn’t work and had to be low level reformatted. These were the days of Spinrite and the nightmare of trying to find identical controllers with the same ROM version on them to recover data from a drive when something failed.

    IDE was a huge improvement because the low level control circuits were integrated into the drive so drives could be moved from machine to machine and still work. The drives also had block remapping and some sanity checks built in to prevent hardware damage from out of bounds commands which people then figured out could be used for auto configuration.

    Of course, if you had the money, SCSI had all that and more but had it’s own frustrations from the poorly regulated implementations of it’s bus and terminators. Often devices from different manufacturers would refuse to work together on the same bus or even worse, they would work and then corrupt data sometimes.

    I have no nostalgia for the old PCs. They were terrible designs even by the standards of the day. Apple, Commodore and Atari had auto configuration hardware going back to the 70s and we were still looking up addresses and changing jumpers on PCs to set addresses and IRQs into the 90s.

    It’s amusing that the entire industry has now come around to smarter drives with internal block reordering on a serial bus like the old Vic20, C64 & C128 used. The implementation on the C128 worked quite well but the C64 had a hardware bug that was never fixed leading to years of frustratingly slow access and an endless parade of software hacks to speed it up.

  13. Now if HaD would find me a way to use a SD card a like a HD in my old Grid laptop that has no HD, just a 720K floppy drive. Every time I boot up that old monster, I think it finally died, until I remember how slow they are. I need to find some more floppy disks so I can get more usable DOS programs set up for it.

  14. @D_: That shouldn’t be terribly hard if your Grid has an IDE controller in it already for an optional hard drive. If not, you could still do something by finding the right ISA pins and adding an IDE controller perhaps. I would suggest a compact flash card instead of SD though since a CF card uses an ATA/IDE interface already.

  15. Many 16bit isa I/O cards with serial, parallel and ide do work in a 8bit isa slot, same goes for the video cards. So he might just have beenunlucky with those he had access to.

  16. Lol, I started with MS-DOS 3.10 on an XT machine in about 1986. I learned BASIC on a TRS-80 when I was 8 ;)

    This is interesting, but there are still plenty of old XT cards out there to be had, look on eBay – I recently bought an 8-bit MFM/RLL card for about 10 bucks. Even the MFM drives themselves are still pretty cheap and available.

  17. And now to annoy people by pointing out a couple of geeky nomenclature details:

    An ATA interface is not a disk controller. The controller is on the drive—hence Western Digital calling it IDE (Integrated Drive Electronics), to distinguish it from the older ST-507 and ST-412 systems in which the disk controller was on the card and the drive just had the servo and head electronics.

    8-bit ISA is equally a misnomer. XT slots are pre ISA. Only the 16-bit AT bus was ever known, officially, as ISA.

    :)

  18. >This is interesting, but there are still plenty of old XT cards out there to be had…

    right, and none of them are IDE, certainly not 8 bit, and most certainly don’t support drives bigger than 1/2 a Gig, and absolutely not for less than $40. This project fits a gap between needing reliable storage and using it on old machines.

  19. @All

    This isn’t *just* an IDE interface that was made. It’s an IDE interface that allows *MODERN* IDE hard drives to be easily used in Vintage machines. Try using an IDE interface card (like the $48 card on Acculogic) to run a 100gig drive. It ain’t gonna happen. With XT-IDE, you CAN. And you can put it in your IBM XT, your Tandy 1000, or anything else with an available ISA slot. Heck, we’ve even had forum members successfully put the BIOS from the XT-IDE into an available slot on their 3Com Etherlink III network cards, and use that to boot modern hard drives from the on-board IDE interfaces in their 286/386/486 motherboards, bypassing the antiquated logic of the motherboard’s IDE Controller.

    That’s the trick, and the “wow” factor with this product.

    Research before you bash.

  20. The XT is based on an Intel 8088. This is a 16 bit CPU, but the external bus and expansion slots are 8 bit. While *some* 16 bit ISA cards will work in an 8 bit slot, IDE adapters will not. IDE was designed to be very similar to the 16 bit AT (ISA) bus that had recently come on the scene, and as such ISA IDE “controllers” are rather simple devices with little or no onboard intelligence. Drive configuration is handled in the system BIOS which on a PC/XT has no such concept.

    Interfacing an IDE device, especially a modern one to a PC with 8 bit slots is not trivial. If you look at the design of the XT-IDE circuit, it loads 16 bits into a latch and then feeds them to the bus sequentially. Additionally, it also interfaces the BIOS EEPROM containing the firmware that makes it all happen. The BIOS on the motherboard was designed for floppy drives and hard drive controllers needed their own BIOS to work.

    There have been commercial 8 bit IDE cards but they are exceptionally rare. I have seen 2 or 3 of them in the decades I have been playing with computers and on ebay every one of them has fetched $150+. Not only that, these were ancient cards unable to work properly with many modern drives. I second the above post, research before jumping to conclusions. The PC/XT was the primitive rough draft of the modern PC. When the AT came out a few years later it was far more refined and more closely resembled a modern PC. One can also occasionally find working MFM or RLL drives and controllers, but the newest of them are decades old, they are noisy, slow, power hungry, notoriously difficult to get going, and it is difficult if not impossible to connect one to a modern PC in order to transfer software to it.

    I wouldn’t expect younger folks to have much interest in such primitive hardware, but the very first computer my family owned was an original IBM PC and I owe much of my current PC hardware and software knowledge to the *many* hours I spent twiddling with jumpers and dip switches, fighting IRQ, DMA, and address conflicts. Messing with drivers to get hardware working, twiddling with memory in order to free up that last 2K needed to make a certain game run, and so on. Do I want to return to those days? Hell no, but once in a while I still enjoy a little nostalgia.

  21. Ugh. Another nomenclature error run amok to throw a rock at:

    MFM (modified frequency modulation) and RLL (run length limited) are not interfaces; they are encoding methods. They are not commensurate terms with [P]ATA (aka IDE). Indeed, ATA drives can be MFM, RLL, or any other sort of encoding (it could be a monk with a quill and paper, for all the interface cares); but it’s for the drive’s inbuilt controller to worry about—not the ATA interface. That’s one of various pesky details that SCSI and ATA got out of our hair. [And yes, the proper generic name for IDE (which was a Western Digital trademark) is ATA or PATA (the specifically parallel version of the term to distinguish it from SATA).]

    The interfaces commonly associated with MFM and RLL hard drives are ST-412 and ST-507 (the latter being the basis of ESDI). (These actually were controllers—directly controlling the platter and head servos, and sending signals to the heads—which ATA and SCSI interfaces are not.)

    The XT BIOS was extensible and configurable. Hard drive interfaces did have firmware on them, which was configurable via jumpers or DIP-switches, or utilities run from disk, until inbuilt configuration facilities came about (which was after the earliest AT machines).

    [Meanwhile, users of non-IBMoid platforms didn’t have to screw with all that backassward manual intervention crap that IBM—by sheer brand momentum—had inflicted upon the world of personal computers.]

  22. most 8 bit xt system with hard drive cards were MFM Drives like the 10 and the 20 mb hard drives that were so large we would never fill(LOL).

    MFM is the same protocal as the floppy drives the I/O sytem allowed it to use the drive as a larger space. Apple to some point used them into the 80’s im not sure if they have ever changed but MFM drive I/O was why PC and Mac drives were not so compatable.

  23. Again, MFM is not a protocol. (See above.) The protocol between the controller and the drive is a combination of head servo control signals, head selection control signals, and the data signal. While similar in nature, the signalling systems for a hard drive and a floppy drive are not interchangable.

    ATA, like SCSI, is an integrated drive electronics arrangement (hence WD’s IDE branding), meaning that the controller is part of the drive assembly itself. The interface hardware at the host end is no longer a controller, but a higher lever beast, that speaks a protocol of data blocks and locations, rather than head positions and bit streams. (People just keep calling it a controller out of habit, or not knowing any better.)

    Apple double density floppies (of either size) use GCR (group code recording) encoding, which IBMoid floppy drives don’t do. Come high density, in the late ’80s, they adopted the same MFM encoding as MS-DOS HD microfloppies, to allow intercompatiblity (at the expense of a little capacity).

  24. Thats all good but does anyone know where I can find an XT 8 bit ID card? The old harley clutch drives are crap and when I buy them they dont boot. I can access them, spinrite them but still, no boot. Im wanting to get my old IDE drives onto my Tandy 1000. For some reason the kids are turned onto 8 bit games these days.

  25. Alex, You didn’t read the initial post here, did you? :) Go visit http://www.vintage-computer.com, then PM Andrew Lynch to see about getting an XT-IDE v2 PCB (roughly $15 shipped). Then about $25-30 in parts later, you’ll have yourself everything you need to solder this together.

    Note that v2 of this card adds a fix found by Chuck Guzis of Sydex that speeds up the disk access immensely (not that it was that slow to begin with – certainly faster than anything we had back in the 8088/80286 days). It also adds an on-board power molex connector, allowing for easier use in Tandy models and IBM 8525/8530 models (or adapting for hardcard usage).

    Also note that there are some other concurrent projects paralleling the work done on the original XT-IDE. See the forum for more details.

Leave a Reply to nyderCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.