The Dual-Drive IDE Hell
os2museum.com
os2museum.com
Cable select sometimes worked, but I didn't trust it as much as the jumpers. I did try to match the jumpers with the position on the cable just to give myself a better chance of success.
The article is correct that mixing drive brands, or even mixing drive eras was asking for trouble. Another fun aspect is when someone wanted to install more than 4 drives and had to use one of the ISA (later PCI) PATA cards. Those cards _never_ supported ATAPI devices in my experience, so there were some machines that booted off of a HDD hanging off of an ISA card so the 4 burners could be on the system controller.
And don't even get me started on the godforsaken CMD640 that every damn manufacturer used for years.
Oh those were the days, in which poor students financed their high-end IT equipment by selling "backup copies" of popular music albums, games and other software products on the school yard to their peers...
Of course IDE only allowed two devices on a bus, with generally only two buses. If you wanted more you had to go with (parallel) SCSI, which allowed up to 8 IDs (one taken up by the controller) with the 8-bit bus, and up to 16 IDs on the 16-bit controller:
* https://en.wikipedia.org/wiki/SCSI_high_byte_termination
Just don't forget to put the properly-ohmed termination at the correct location on the cable.
* https://en.wikipedia.org/wiki/Parallel_SCSI
There was folklore that said three terminations were needed to get things to work: two electrical, one on each end of the cable; and one termination of a rooster at midnight around five black candles.
> Of course IDE only allowed two devices on a bus, with generally only two buses.
Most motherboards only had two buses, which each bus have two devices. Adding another card would allow another 2x2 drives.
Adding a SCSI card would have allowed for another seven devices (later fifteen). Most folks though didn't need that many at home.
Funnily enough ATAPI was just a slightly cut down version of SCSI run over ATA. There was little reason for the big SCSI price premium except that the vendors thought they could get more money out of businessmen and Mac users.
WD's 10 kRPM drive made quite the splash when it was announced, IIRC:
* https://en.wikipedia.org/wiki/Western_Digital_Raptor
Whether a home user "needed" that kind of speed was quite another thing.
I mean if you're going to disk, you've already lost money.
And hot swapping was very trouesome with IDE (not to be mistaken for newer eide), where as scsi was much better at hot swapping early on.
SCSI also had more bandwith than ide, and scsi2 was around before I could get eide/dma5?(80 conductor) cables/drives.
Man, memories.
IDE cards were under $10 at times. SCSI devices were made from unobtainium.
I count five terminations and three kinds of terminations.
A consultant I worked with claimed that a dog toy looking like a chicken would suffice - at least for early VMware upgrades but I suspect this has been going on for longer.
They'd even stitch it together and put it back on the shelf for next time.
He was very competent in a number of other things (database design and Java) so I have just taken his word for it.
The deity I worship cares less about chickens and more about behavior these days[1] so I cannot verify.
[1]: actually never actually did if my understanding is correct)
Something I do remember though, was having to get the blocks, cylinders, etc... manually when partitioning/formatting disks.
I guess I got lucky with the drives I used, which back then would have mostly been Western Digital with a splash of Seagate, maybe because I didn't typically mix vendors in an initial build I just didn't run into these issues.
The fun I don't miss was "disk overlays" and finally adding a Promise-branded ISA card with an option ROM to exceed the >1,024 cylinder (504MiB) "barrier". I still have that card knocking around somewhere, I think. It'd be fun to dump that ROM and see what it looked like.
And drivers in Autoexec.bat and Config.sys for CDROM's.
If I wasn't systematic and taking notes, I could spend time thrashing round in circles through reboots and partial hardware disassembly.
Oh gosh, once I was upgrading a mid-tower clone with a second drive (170mb). It had a Cyrix 803087 chip that didn't seat tight in the motherboard and it would work fine on its side from gravity so I would button it up and the chip would loosen when the case was standing up and the system didn't boot and my notes didn't help and it was a production machine.
Figured it out around two in the morning.
The jumpers were easy to figure out and not as complicated as the author makes out. Contrary to the experience that na85 had; "Cable Select" _never_ worked for me.
Yes it was a time of chaos and frustration, but I learned more in that period then I did since then. Hard core hardware lessons.
Note: most IRQ jumpers and motherboard jumpers were the same size as the drive jumpers. I was never at a loss for jumpers, but I did manage to lose them a lot.
I think every drive I encountered that was manufactured after the early 90s either had a printed diagram for the jumpers somewhere on it, or else had labels molded right in to the plastic case around the pins themselves. Only time it was hard, back when I used to tinker with computers a lot, was when I'd be messing with a junked 286 or something. Further, by the late 90s IIRC drives had begun to converge on a standard jumper layout.
If that's not proof that Stack Overflow has helped me learn arcana, I don't know what is. In fifteen-plus years of working with IDE drives, I never figured out this pattern and typically just fumbled jumpers into some combination of master, slave, or cable select until all of the drives worked.
Before the advent of pendrives and broadband internet this was how me and most of my friends shared files: we got our hard drives and took them with us to the home of one another. Setting up master/slave was easily done with jumpers on the hard drive and NEVER failed.
I am baffled that this gave others the slightest bit of difficulty.
This was mostly in the era of ISA and then VLB "Super-I/O" cards, so maybe mobos with integrated IDE are pickier?
SATA is such an advancement. For me, the only bad part about it is the mechanics of the cable itself (comes out too easy or too hard).
I never had any real problem configuring them. I probably used about 20 different drives across 10 different machines.
Put the master at the end of the cable and the slave in the middle.
After the CS (Cable Select) jumpers and cables were popular it was even easier.
SCSI was more of a pain because even though you could have 7 devices (the 8th being the controller card) it became unreliable with more than 4 drives. Sometimes I would try to add a 5th and stuff would get erratic.
I also had problems when a SCSI tape drive was on the same channel as hard drives. We got 3 SCSI cards each with 2 channels for our Sun server. We put 4 drives on each channel except for one that had our 4 tape drives (QIC-something, 4mm, 8mm, DLT library)
There were always quirks of one sort or another with any 2 pieces of hardware, including 2 ide drives, but I don't remember this being any more of a thing than say, some particular drive with some particular controller or motherboard, or any drive and any motherboard actually supporting their purported channel speed reliabley, etc.
Read the manuals, set the jumpers and cable placement and cable type appropriately, and if it ever didn't work, it was no more likely than any other mystery hardware problem like the mouse not working because of a shared irq or something.
ATAPI solved a lot of problems of course, but came with some of its own. Notably that if the drive, BIOS, and OS couldn't all agree the wouldn't do DMA. I recall Windows 95 bug that erroneously dropped the hard drive into PIO mode and made everything slow to a crawl.
I worked for a large west-coast computer store, in the early 2000s, selling and then later building custom PCs for walk-in customers, as well as doing walk-in computer repairs on all manner of different systems of various vintage, and I don't recall having too many problems getting IDE master/slave configuration to work... as long as we had some spare jumpers lying around.
At that time, having 300 Mbyte of HDDs in your PC was HUGE compared to more typical PCs, which had just a 30 Mbyte MFM HDD, usually from Seagate.
That was the only time when I have used ESDI drives, but those were great for that time.
When I left that company, six years later, all the ESDI drives from the 20 or so PCs bought in 1990 were still in use, without any failure.
Also remember ESDI was a pain to setup - it was a hack on ST506 so there was startup software to patch the BIOS you had to run to do the proper translation from head/cylinders to blocks done.
Also didn't mind planning and configuring IRQ jumpers.
I actually found the old convention more deterministically reliable than the Plug-N-Play one which came afterward. To this day I still have random PCIe devices that, once in a blue moon, fail to aquire the resources they need in the OS, requiring a reboot (usually on machines with a lot of expansion cards and integrated devices).
I also liked that floppy drives were just media, and didn't require vendor-specific drivers or have capabilities of emulating other hardware or installing rootkits, the way USB keys do.
I guess I'm just old.
Took me forever to remember that putting a CD drive as the IDE master and a hard drive as the slave was a recipe for pain.
Side note - I was able to get MechWarrior 4 Mercs running on Win 10 64 bit through a ridiculous amount of hacking and dgvoodoo. Was pretty hilarious seeing a DX8 game working with shadow play.
Must say I find it odd that what was kinda common knowledge for those of that time in tech for today to be a hell, believe me there are far better hells of that era, IRQ sharing and what PCI/ISA slots also shared with onboard devices like various ports. Now that if you didn't have the documentation would be emense fun.
Things got really fun when you added an IDE tape drive like the Seagate Travan series to your system.
These would be 2.5mm pitch which is close enough to be semi-interoperable with 0.1".
Jumpers worked reasonably well. Unless you somehow dropped one and didn't have a spare.
What if we are being told to not use the word ”slave” in an effort to make us unable to think about slavery?
I think there were raid/NAS boxes that actually did it...
The S in SATA is serial. The older IDE jobs are PATA - parallel. Two PATA drive share the available bandwidth (for want of a better word) and multiple SATAs have all the bandwidth available simultaneously to each device.
Copying from one PATA disk to another on the same bus is horrible - in out, in out shake it all about at a few 10s of MBs-1. Copying from one SATA to another runs at full speed.
For real speed you need SSD and hardware RAID with whopping caches and a price to match. For huge storage, reliability and a fairly eye watering price, why not use SSD to cache fast SAS 2.5" spinning rust with a decent hardware RAID. Oh I've just started to specify a SAN/NAS!
SATA port multipliers are a thing, but they're active devices with multiple SATA transceivers, not a passive splitter. Support for port multipliers exists in most operating systems.