> ... was missed for years simply because no one had a PC with more than two hard disks.
Thats a hardware limit:
Early mainboards only had a single IDE / parallel ATA port. Each port has two pins for drive select, so you had a maximum of two addressable drives, the master and slave drive.
With a secondary ATA port you got another set of master/slave, pushing the limit to 4 drives.
That's where the "primary master" text comes from that showed up on the screen during booting.
You're jumping ahead a bit... early motherboards didn't have drive adapters at all, let alone IDE or PATA. And it wasn't really limited to two by the board and expansion slots nearly as much as the physical form factor and cost. "Full-height" 5.25" drives are double the height of what you think of for say a CD drive bay or later floppy drive bays. There were two in the XT/AT cases that were common. Hard drives went from full-height 5.25 to 3.5" pretty quickly and there weren't many half height or otherwise short 5.25" hard drives. There was a "big foot" drive that sucked, that I recall though.
Most people I knew with computers prior to 1992 or so either booted from floppy or had less than 40mb hard drives. They were expensive. By the time I got more into the hardware (1994 or so), dual IDE was common (4 devices) and PATA transition was pretty seemless. The only reason I'm even aware of the difference is I worked at iomega for a while, and the IDE zip drive was IDE and not PATA.
Around 2001, I had a motherboard with dual PATA and another PATA that was via onboard raid controller. I had 4hdds, a cd burner and an ide zip at that time. The drives I had first used were the first IBM Deskstar drives... fast, but died very prematurely... the second died before I could RMA the first. I had switched from OS/2 to Windows 2000 (not ME) around that time. Then came SATA, and no more rounding pata cables.
When we got our first (10M) hard drive for our IBM PC (the original IBM PC), we had to buy a second case for it; because the power supply in the first one couldn't power it. On the positive side, it meant we had somewhere to put the TV we were using as a graphics monitor (since the main monitor was a green monochrome monitor).
Wow it's been a minute since someone talked about the IBM "deathstar" drives. I remember building a PC and dumping my last money into a hard drive - ended up with a maxtor but envied the benchmarks of those IBMs. They later started failing in droves.
Built my first pc in 1987. RLL/MFM were the drive choices. I had a 32 MB had entering college and it was cheaper than 640 KB of DRAM DIPs. I upgraded to a 100 MB ide in 1992 for ~$220 US. But I Was booting from HDD from day 1 in 1987.
Similarly, it always bothered me a little that the floppy disk interface was designed for 4 drives, but the PC standard came up with the clever hack of putting the twist in the cable, so they didn't need to adjust drive jumpers, which also reduced it to 2 drives.
On the TRS-80, they just ordered all the drives jumped with all 4 positions, then pulled out the other 3 unused pins in the connector on the cable.
The twist as a "cute" solution that made it mostly plug-and-play; the biggest upgrade on some of those older machines was adding a second floppy, and the twist made it simple and foolproof.
... like in the PC AT, PC XT[1] or the Compaq DeskPro 386[2] that the article discusses didn't have those ports at all.
Those were instead on ISA expansion cards, just like the floppy controller that would often share a card with the UART controller for the serial interface.
IDE was just coming in (in the UK) in 1990. The acronym got updated to "AT Attachment" because "Integrated Drive Electronics" was generic, and it wasn't as if the older drives had no electronics on them. Much later when SATA showed up, the name evolved again as ATA became known as Parallel ATA to distinguish the two.
Before that, when you installed a hard disk you had to go into the BIOS to specify the geometry of the drive. 46 types were already defined, to match individual drives on the market. "Type 47" allowed -- required -- manually specifying the drive geometry in terms of cylinders, heads and sectors. So for a short while some traditional MFM or RLL drives would be informally classed as Type 47 because their geometry and capacity differed from earlier drives.
Yes, the earliest mainboards I know of with on-board I/O including ATA is around Socket 5, the first mainstream Pentium boards. Some slightly older Socket 4 boards (circa 1994) have on-board I/O, but they weren't as common.
My 486 and earlier systems have all I/O provided by ISA cards, other than the 5-pin DIN keyboard port which was standard since the original PC.
I'm honestly not sure I had a machine with more than 2 fixed disks until well into the days of Windows 7 and SATA. The exception would be logical disks such as Stacker or similar compressed volumes - but I wasn't using them until later either.
If I recall correctly before SATA we had IDE which only had two devices (primary & secondary) per controller, and usually only two controllers on a motherboard. Given the physical size of disks even you'd probably just have a boot disk, maybe a data disk and then perhaps two optical drives. So it's absolutely believable that nobody found the bug simply because nobody had a machine configured that way.
Sure, you could have SCSI for more disks. But if you did, then you were probably doing something that required a lot of CPU grunt - at which point you might just leave the PC behind and go to a UNIX workstation anyway.
OK, now I'm starting to get flashbacks to just how bad SCSI support was on the PC, and it's stripping the the rose-tint from my glasses. Time to go!
I had 3+ fixed disks somewhere around 1997, but that was on a Mac (so built-in SCSI), and the drives were all hand-me-downs that I got for free, that I could just plug and play to add a few more hundred megs of storage.
Yes they were. IDE stands for Integrated Drive Electronics because the drive could be connected directly to the ISA bus, using an on-board controller, vs. having to use an MFM or RLL controller on the bus in between it and the disk.
I used MFM in the first PC I built from scavenged parts, it used an ISA MFM controller card. IDE came later, those had an integrated controller ("integrated drive electronics") so the PC didn't need to know how to do the low-level control for the drive. Luxury. And less jumpers to faff about with.
I had the original IBM PC with two 5.25" floppy drives, and I think that was all the room there was on the disk controller. Dad bought a 10MB Hardcard to expand it; that went in an ISA slot, if I remember correctly. The disk controller might have been in an ISA slot, too.
I think that pre-AT era would have constrained DOS <5.0 more than the IDE/SATA/SCSI eras.
Not to mention the weight, power demands and (to some extent) noise!
At one point I did have two hardcards plugged into my Amstrad 8086 machine which felt pretty decadent. (Or maybe it was a hardcard plus the internal hard drive?) In total it wasn't even 100MB of storage. https://en.wikipedia.org/wiki/Hardcard
There were also a number of sound cards that had two or three ports because a lot of early CD-ROM drives weren’t IDE. You’d have a Sony, a Panasonic, and something else on your card in the early days. IDE on a sound card was an actual improvement.
People laugh about that, but when you look at when the whole thing was designed and came out, and how much it would have cost to have a "pimped out" system that pushed the limits (if even possible!) it becomes much more reasonable.
Nobody expected this silly machine to be relevant and affecting computing 44 years later!
It came with 16KB of RAM! 640KB would have been 40 times as much - that's the equivalent of a modern laptop (which comes with checks Apple 16GB of RAM) going up to 640GB of RAM.
The original machine had support for two floppies and a tape drive - the first hard drives were in the 5MB for $2000 in 1982 range. That's about $6,700 today.
Even the writings of the day assumed that the IBM PC would last "for a time" like all previous machines had, newer ones would come out on new chips that were completely different. Nobody really expected backwards compatibility and Windows to eat the world.
What you say is true, but I'd also like to ask (people in general) if you have to design a memory map for MS-DOS that doesn't have the 640K limit, what would you do? Your constraints are:
- The total address space is 1MB, and that's a CPU architectural limit (which is only "broken" many years later, and in a rather unsatisfying way).
- You need somewhere to map the RAM, and because of CP/M quasi-compatibility, that needs to start at address 0.
- The CPU starts executing code at 1MB minus a few bytes, so your system ROM must go right at the top of address space.
- You need memory windows for the system ROM, options ROMs and 2x framebuffers.
- Bank switching adds extra complexity and 74xx logic chips on a motherboard which is already very busy.
Given these constraints, the 640K limit for RAM, with framebuffers and ROMs mapped at 0xA0000, is the only thing that makes sense.
The 640 limit complaints aren't really about DOS; they're about Intel's segmented memory architecture (again, which had its reasons and greatly increased the ability of the chip at the price-point).
Most people first experienced it long after it was seen as a crippled chip, which is not what it originally was.
For the applications that were really important then (spreadsheets and word processing) even 64KB would be reasonable for most people. With 640KB you could run a medium-sized business.
I loved the HP200LX just for that reason - it was a hand-held 90s palmtop that was a full-fledged 186, with DOS 5.0 and "multitasking" and about a meg of RAM - and it could run ANY of those 80s programs, including a full Lotus 1-2-3 spreadsheet.
That power - phenomenal, especially in the early Internet age.
Wasn't power management an issue with early portable computers? I feel like it wasn't until Windows 95 and beyond that machines were properly sleeping in between tasks— before then you were likely to end up just spinning the processor in an idle task.
Plus, as better disks appeared, older disks became much cheaper (or even free in some cases). It was pretty simple to collect a few of older, smaller, drives and stick them all in one machine just to give it more space.
> ... was missed for years simply because no one had a PC with more than two hard disks.
Thats a hardware limit:
Early mainboards only had a single IDE / parallel ATA port. Each port has two pins for drive select, so you had a maximum of two addressable drives, the master and slave drive.
With a secondary ATA port you got another set of master/slave, pushing the limit to 4 drives.
That's where the "primary master" text comes from that showed up on the screen during booting.
You're jumping ahead a bit... early motherboards didn't have drive adapters at all, let alone IDE or PATA. And it wasn't really limited to two by the board and expansion slots nearly as much as the physical form factor and cost. "Full-height" 5.25" drives are double the height of what you think of for say a CD drive bay or later floppy drive bays. There were two in the XT/AT cases that were common. Hard drives went from full-height 5.25 to 3.5" pretty quickly and there weren't many half height or otherwise short 5.25" hard drives. There was a "big foot" drive that sucked, that I recall though.
Most people I knew with computers prior to 1992 or so either booted from floppy or had less than 40mb hard drives. They were expensive. By the time I got more into the hardware (1994 or so), dual IDE was common (4 devices) and PATA transition was pretty seemless. The only reason I'm even aware of the difference is I worked at iomega for a while, and the IDE zip drive was IDE and not PATA.
Around 2001, I had a motherboard with dual PATA and another PATA that was via onboard raid controller. I had 4hdds, a cd burner and an ide zip at that time. The drives I had first used were the first IBM Deskstar drives... fast, but died very prematurely... the second died before I could RMA the first. I had switched from OS/2 to Windows 2000 (not ME) around that time. Then came SATA, and no more rounding pata cables.
When we got our first (10M) hard drive for our IBM PC (the original IBM PC), we had to buy a second case for it; because the power supply in the first one couldn't power it. On the positive side, it meant we had somewhere to put the TV we were using as a graphics monitor (since the main monitor was a green monochrome monitor).
Wow it's been a minute since someone talked about the IBM "deathstar" drives. I remember building a PC and dumping my last money into a hard drive - ended up with a maxtor but envied the benchmarks of those IBMs. They later started failing in droves.
Built my first pc in 1987. RLL/MFM were the drive choices. I had a 32 MB had entering college and it was cheaper than 640 KB of DRAM DIPs. I upgraded to a 100 MB ide in 1992 for ~$220 US. But I Was booting from HDD from day 1 in 1987.
Similarly, it always bothered me a little that the floppy disk interface was designed for 4 drives, but the PC standard came up with the clever hack of putting the twist in the cable, so they didn't need to adjust drive jumpers, which also reduced it to 2 drives.
On the TRS-80, they just ordered all the drives jumped with all 4 positions, then pulled out the other 3 unused pins in the connector on the cable.
The twist as a "cute" solution that made it mostly plug-and-play; the biggest upgrade on some of those older machines was adding a second floppy, and the twist made it simple and foolproof.
ST, MFM, and RLL drives and controllers were the thing then. (The GRC SpinRite low-level format era.)
P-ATA IDE didn't arrive until the late 80's.
> Early mainboards...
... like in the PC AT, PC XT[1] or the Compaq DeskPro 386[2] that the article discusses didn't have those ports at all.
Those were instead on ISA expansion cards, just like the floppy controller that would often share a card with the UART controller for the serial interface.
[1] https://theretroweb.com/motherboards/s/ibm-xt-type-5160-64-2...,
[2] https://theretroweb.com/motherboards/s/compaq-deskpro-386-20...
IDE was just coming in (in the UK) in 1990. The acronym got updated to "AT Attachment" because "Integrated Drive Electronics" was generic, and it wasn't as if the older drives had no electronics on them. Much later when SATA showed up, the name evolved again as ATA became known as Parallel ATA to distinguish the two.
Before that, when you installed a hard disk you had to go into the BIOS to specify the geometry of the drive. 46 types were already defined, to match individual drives on the market. "Type 47" allowed -- required -- manually specifying the drive geometry in terms of cylinders, heads and sectors. So for a short while some traditional MFM or RLL drives would be informally classed as Type 47 because their geometry and capacity differed from earlier drives.
Yes, the earliest mainboards I know of with on-board I/O including ATA is around Socket 5, the first mainstream Pentium boards. Some slightly older Socket 4 boards (circa 1994) have on-board I/O, but they weren't as common.
My 486 and earlier systems have all I/O provided by ISA cards, other than the 5-pin DIN keyboard port which was standard since the original PC.
Quite the nostalgia blast for me!
I'm honestly not sure I had a machine with more than 2 fixed disks until well into the days of Windows 7 and SATA. The exception would be logical disks such as Stacker or similar compressed volumes - but I wasn't using them until later either.
If I recall correctly before SATA we had IDE which only had two devices (primary & secondary) per controller, and usually only two controllers on a motherboard. Given the physical size of disks even you'd probably just have a boot disk, maybe a data disk and then perhaps two optical drives. So it's absolutely believable that nobody found the bug simply because nobody had a machine configured that way.
Sure, you could have SCSI for more disks. But if you did, then you were probably doing something that required a lot of CPU grunt - at which point you might just leave the PC behind and go to a UNIX workstation anyway.
OK, now I'm starting to get flashbacks to just how bad SCSI support was on the PC, and it's stripping the the rose-tint from my glasses. Time to go!
I had 3+ fixed disks somewhere around 1997, but that was on a Mac (so built-in SCSI), and the drives were all hand-me-downs that I got for free, that I could just plug and play to add a few more hundred megs of storage.
There were also MFM and RLL hard drives. I don't recall if they were pre-IDE or something different altogether. It's been a long time.
Yes they were. IDE stands for Integrated Drive Electronics because the drive could be connected directly to the ISA bus, using an on-board controller, vs. having to use an MFM or RLL controller on the bus in between it and the disk.
I used MFM in the first PC I built from scavenged parts, it used an ISA MFM controller card. IDE came later, those had an integrated controller ("integrated drive electronics") so the PC didn't need to know how to do the low-level control for the drive. Luxury. And less jumpers to faff about with.
Also ESDI.
> before SATA we had IDE
I had the original IBM PC with two 5.25" floppy drives, and I think that was all the room there was on the disk controller. Dad bought a 10MB Hardcard to expand it; that went in an ISA slot, if I remember correctly. The disk controller might have been in an ISA slot, too.
I think that pre-AT era would have constrained DOS <5.0 more than the IDE/SATA/SCSI eras.
And expensive, really expensive.
I was gonna say, "MORE THAN TWO HARD DISKS? IN THE DAYS OF DOS?! Anything else we could get for you, your majesty?"
I have piles of old, but still functioning HDs now. I was looking at them yesterday and thought about how cheap these things have become.
I had to save up to buy floppies in the 80s!
Not to mention the weight, power demands and (to some extent) noise!
At one point I did have two hardcards plugged into my Amstrad 8086 machine which felt pretty decadent. (Or maybe it was a hardcard plus the internal hard drive?) In total it wasn't even 100MB of storage. https://en.wikipedia.org/wiki/Hardcard
That, and the IBM PC 5150 had what, 130 watts?, in the stock power supply.
I had added a 2nd disk on my 386sx, but I guess it was after the DOS 5.0 time. I did not realize before v5 it was not allowed.
Not long afterwards I ended up on Coherent OS, fun times.
Sound Cards with IDE ports for CD-ROM drives were definitely a thing back then
There were also a number of sound cards that had two or three ports because a lot of early CD-ROM drives weren’t IDE. You’d have a Sony, a Panasonic, and something else on your card in the early days. IDE on a sound card was an actual improvement.
The third common CD-ROM interface that wasn't IDE was Mitsumi.
Yeah! I'm trying to get a Sound Blaster 16 with IDE + a VESA IDE controller working on a 486DX2@66
If 640 KiB of RAM was all anybody would ever need, what were they going to do with more than two hard disks?
People laugh about that, but when you look at when the whole thing was designed and came out, and how much it would have cost to have a "pimped out" system that pushed the limits (if even possible!) it becomes much more reasonable.
Nobody expected this silly machine to be relevant and affecting computing 44 years later!
It came with 16KB of RAM! 640KB would have been 40 times as much - that's the equivalent of a modern laptop (which comes with checks Apple 16GB of RAM) going up to 640GB of RAM.
The original machine had support for two floppies and a tape drive - the first hard drives were in the 5MB for $2000 in 1982 range. That's about $6,700 today.
Even the writings of the day assumed that the IBM PC would last "for a time" like all previous machines had, newer ones would come out on new chips that were completely different. Nobody really expected backwards compatibility and Windows to eat the world.
What you say is true, but I'd also like to ask (people in general) if you have to design a memory map for MS-DOS that doesn't have the 640K limit, what would you do? Your constraints are:
- The total address space is 1MB, and that's a CPU architectural limit (which is only "broken" many years later, and in a rather unsatisfying way).
- You need somewhere to map the RAM, and because of CP/M quasi-compatibility, that needs to start at address 0.
- The CPU starts executing code at 1MB minus a few bytes, so your system ROM must go right at the top of address space.
- You need memory windows for the system ROM, options ROMs and 2x framebuffers.
- Bank switching adds extra complexity and 74xx logic chips on a motherboard which is already very busy.
Given these constraints, the 640K limit for RAM, with framebuffers and ROMs mapped at 0xA0000, is the only thing that makes sense.
The 640 limit complaints aren't really about DOS; they're about Intel's segmented memory architecture (again, which had its reasons and greatly increased the ability of the chip at the price-point).
Most people first experienced it long after it was seen as a crippled chip, which is not what it originally was.
For those too young to remember that "unsatisfying way" of breaking the 1MB limit:
https://en.wikipedia.org/wiki/Expanded_memory#Expanded_Memor...
(And IIR, Bill Gates had plenty of company in denouncing EMS while announcing official support for it.)
I was actually thinking of the A20 line, but LIM EMS was another unsatisfying way! https://en.wikipedia.org/wiki/A20_line
For the applications that were really important then (spreadsheets and word processing) even 64KB would be reasonable for most people. With 640KB you could run a medium-sized business.
I loved the HP200LX just for that reason - it was a hand-held 90s palmtop that was a full-fledged 186, with DOS 5.0 and "multitasking" and about a meg of RAM - and it could run ANY of those 80s programs, including a full Lotus 1-2-3 spreadsheet.
That power - phenomenal, especially in the early Internet age.
Wasn't power management an issue with early portable computers? I feel like it wasn't until Windows 95 and beyond that machines were properly sleeping in between tasks— before then you were likely to end up just spinning the processor in an idle task.
This kind of thing can even be a problem trying to virtualize DOS stuff: https://www.os2museum.com/wp/idle-dr-dos/
That was the other thing - it would run for ages on 2 AA batteries.
https://en.wikipedia.org/wiki/HP_200LX
30-40 hours but it worked out to basically "it was always good to go".
> that's the equivalent of a modern laptop (which comes with checks Apple 16GB of RAM) going up to 640GB of RAM
640GB of RAM doesn't sound unreasonable to me.
Found the Chrome user.
You can never have too much space.
Plus, as better disks appeared, older disks became much cheaper (or even free in some cases). It was pretty simple to collect a few of older, smaller, drives and stick them all in one machine just to give it more space.