CREEPINGNET'S WORLD
HARD DISK TECHNOLOGIES
In Vintage IBM Compatible Systems
Vintage IBM Compatible Hard Disks are a pretty simple and straightforward thing to explain TBH. I decided to rewrite this section to "data dump" everything I know since my collection uses a mix of vintage and modern methods for long-term data storage on these old devices.
Three Components of HDDs on PCs
The primary three components of concern are: Interface (ie IDE, SCSI, ST-506/412, EDSI, ETC), the Physical Drive itself (HDD, SDCARD, CF Cards, SATA Converted Drives), and the actual "topology" of the HDD - aka. CHS - for Cylinders, HEads, and Sectors (Per Track).

The interface includes some kind of port on the motherboard or expansion card (usually IDE/ATA in most modern examples).

The CHS/Topology refers to the Hard Drive's CMOS settings. These include Cylinders , Heads, Sectors Per Track, Precompensation (or PreComp), and the Landzone (where the heads rest when the hard disk is turned off).

And lastly is the physical drive itself, which must match, or be adapted to, the interface at hand. Some interfaces are compatible, others are incompatible with any other type. These interfaces include ST-506/412 (aka. MFM/RLL), ESDI (Enhanced Small Drives Interface), SCSI (Small Computer System Interface), IDE (Integrated Drive Electronics)/ATA (Advanced Technology Attachment) - with the latter often referred to as SATA (Serial ATA), or PATA (Parellel ATA), with the latter being older IDE HDDs, and the former being modern HDDs that use that tiny thin cable and don't require jumpers.


Hard Disk Interfaces Explained
There were many hard disk drive interfaces utilized by vintage PCs. I will outline each below. The most important part as a retro-gamer would just be recognizing the attachment scheme, however, if you are to dive deeper, learning this entire page (or more) might be extremely useful.

ST-506/412 - ST506/412, often called by the name of their data encoding method s of "MFM" (modified frequency modulation) and "RLL" (run length limited), is a hard disk interface found in the original IBM PC XT and AT, as well as many/most computers made between 1982 and 1990, mostly PC/XT, and AT (286) class machines. The interface is identified in that it uses up to three cables - one is just a regular floppy cable, shared by both drives in a 2 drive system, without the twist in it, called the "Control Cable", and then there's the "Data Cable", a smaller, 20 pin cable - one per drive - hence three cables. The last drive in the chain would be terminated with a "resistor pack" (a small package of multiple resitors" known as a "Terminating Resistor". MFM was the original encoding method used, which is shared with Floppy Disks, while RLL was a way of getting up to 50% more disk space added to the drive. While sometimes you can use an MFM drive on an RLL controller, it's not reccommended as it can be quite unstable and data loss can occur (I speak with experiments/experience). The interface was named after the two drives Seagate introduced with it - the 5MB ST-506, and the 10MB ST-412, the latter of which premiered in the IBM Personal Computer XT in 1983.

Most ST-506/412 series drives came in 5.25" half height, and 5.25" Full Height for larger capacities/older drives. These were HUGE in size, but not in capacity, ranging from 5MB for the original ST-506, all the way to about 125MB for much later drives toward the end. These drives could be mounted externally in older XT class machines with a gray, white, or black faceplate. The telltale is usually a block in the front with a vent and an LED inside or near that vent for HDD status. The IBM PC AT introduced the idea of having the hard disk hidden inside the case without a faceplate, and moved a standard LED indicator to the control panel. There were some smaller 3.5" full height drives as well, but those are extremely rare.

ESDI - Enhanced Small Drives Interface came as well, with a similar layout to ST-506/412, but it moved some components of the drive over to the controller (a move that occured gradually on Hard Disks over the course of the 1980's). Again, up to two devices with 3 cables, so it looked pretty much the same as a ST-412/506 setup. However, capacities were bigger. These were not seen very much, especially today, as they were in that funky period of the 286, EGA, and the transfer from older computer formats to the PC for business.

SCSI -Small Computers Systems Interface, was a standard that was not just used for hard disk drives, but also for tape drives, optical drives, floptical drives, Zip Drives, Jaz Drives, Floppy Drives, Bernoulli drives...and even some other components on rare occasion. However, hard disks were it's most popular use. It was faster than IDE/PATA, and could have up to SEVEN devices on a single controller (with the controller being Device 0 always). Early SCSI drives used a 50 pin interface that looks similar to IDE, except the cable ends are 5 pins wider (10 pins total), while later ones used what looked like a miniature Centronics printer port. Msot of what you'll find on vintage computers will be of the 50 pin variety. SCSI was used more often in Apple products than it was in PCs, but some used it including certain IBM PS/2 models, and some higher end Compaqs intended for the Server and high-end workstation market.

Most SCSI Drives look like IDE drives but with 10 extra pins in back and a completley different jumper setp for setting the ID of the drive in the chain of the SCSI cable. The end of the cable might have it's own terminating resistor added, or it may require one to be put on the ending block of the chain of devices. Most of these devices were 3.5" half height and put INSIDE the computer. Though some older Apple products had half height 5.25" units that were also compatible with the faceplates from ST-506/412 and ESDI drives so they could be put in an XT case.

IDE/PATA - Probably the widest known, Parallel ATA, aka IDE (Integrated Drive Electronics) were the most popular hard disk standard in IBM COmpatible PC's from about 1988 till 2007 or so when SATA took over. These moved pretty much all of the circuitry to the hard drive itself, with the card in the computer acting more as a "host controller" like SCSI does, but with even less work to do. IDE Drives use a 40-pin and 40/80 wire cable to connect to the system. Later versions of IDE wre known as "ATA" with the bus speed next to it which included ATA-66, ATA-100/133. By 2003, SATA started showing up on PCs, and by 2007 had taken over where PATA/IDE had left off.

There were some very early PATA/IDE HDD's that were 3.5" full height, but they were still mostly meant to be hidden inside the case of the computer. The popular format we have now for most internal "full size" (3.5" half height") hard disks turned up about 1989 or 1990 and took off the most with late 286, 386, and 486 era machines. Early units have unique jumper settings that might require some Google-fu to find, but the MASTER/SLAVE/DRIVE-SELECT standard jumper configuration started to gain popularity starting about 1995-1996, which was taken from the Western Digital Caviar series HDDs, and was adopted early by the 2.5" 44 pin IDE Drives found in laptops. Laptop 2.5" drives got power through their 44 pin connector (the extra 4 pins were for the voltages used by a regular desktop drive to be sent to the drive without requiring a second, space consuming connector). Both of the designs used here, became pretty much standard up until current.

SATA - I'm sure you're thinking "this is not vintage!!!" and you're right, but (in Morpheus voice) would you believe me if I told you that SATA is really just a new superset of IDE pretty much. Yes, modern SATA drives CAN be used on vintage computers, but with some judiciousness. First off, the adapters for them don't always have a Master/Slave jumper setup on them (required if using more than one drive in a Pre-dual IDE 486 or older system, or using up to 4 devices in a dual IDE system), and secondly, older systems with older operating systems may not be able to make use of the full capacity, especially if it's over 128GB.

SATA comes in the 2 standard formats (2.5" and 3.5") but can also be purchased as a mSATA and m2 Formats popularized today. Unlike regular 2.5" and 3.5" IDE drives, both use the same exact connections. mSATA drives are about 1"x1" in size and very high capacity (128GB or more), while m2 drives are what we call "gumstick" drives, and are the size of a stick of gum, and store as much as 1TB of data. The previous two can use a regular SATA to IDE Adapter, and the later miniature units can have their own converters as well. However, it seems newer drives are more finicky about adapters than the older drives, are, and lower quality adapters from China don't always work well, leading ot data loss, weird hangs before read/write operations, and slow performance on older systems.

CF Card - CF Card is really just an abstraction from IDE, it uses the same interface. This is the most popular option today for retrocomputing due to the inexpensive CF Cards, and the inexpensive, chinese made converters you can find on places like e-bay, Aliexpress, or Amazon.com. They tend to also come in popular capacities for older hardware ranging in the 32MB-8GB capacities.


CHS - Where Software and Hardware Meet
So you plugged in a controller card and a drive. Sometimes this is all that is needed to work, assumign the hard disk controller has it's own BIOS extentions on it, which will allow it to auto-detect the drive, and set it up, but every computer from the IBM PC AT onward uses a BIOS that stores settings in a CMOS storage chip, and this includes the specifics of your hard disk drive. Some later computers have an "Auto" setting that will auto detect (late 486 and later), but most machines in the period I'm covering here won't have that luxury. Most of them you need to put in the Cylinders, Heads, Sectors (Per Track), Precompensation, and Landzone of the heads. People refer to this as the "CHS" settings for short. It basically tells the oldschool PC what kind of hard disk it has, and also allows it to calculate the proper capacity for reporting to other applications.

Cylinders - Hard Disk data storage is arranged using Cylinders, Tracks, and Sectors. The Cylinders can be visualized as being like rings on a tree, or grooves in a record. Basically put, they split the space of the disk up into "rings" where data can be recorded. The newer the drive, the more "cylinders" can be arranged on the platter, leading to smaller tracks and sectors, and leading to more capacity on the hard drive. Cylinders can range from double digits all the way to tens of thousands, with the maximum limit on older 486 and older machines being 1024, and modern machins being the ones that could have tens of thousands of cylinders.

Heads - This is not the actual number of heads on the drive, as there's a minimum of two, and a maximum of however many platters there are in multiples of two (assuming there's a head reading both sides). This is actually the head/sector intersect number. This used to max out at 16, I'm not so sure anymore since I have not paid much attention to hard drive CHS settings beyond the 486 era (as they have auto-configure, but I think 16 is the maximum still possibly).

Sectors Per Track - Tracks are the division of the hard drive's platters if it's cut like a round pizza. These tracks are then cut up into individual spaces, or one "unit" of data, known as a "Sector". This CHS setting tells the BIOS how many sectors there are in a single Pizza/Ring cut segment (Track) there are. This is the final piece in determining the hard disks size.

PreComp - This is something utilized to make sure the hard disk head is accuratly writing the data. Data can shift a bit during read/write cycles and thusly some precompensation of the next read/write cycle might be required to accuratly read back the data, or write it properly. Some drives use "0" to use precompensation on all cylinders, while others use -1, 65535, or "none" to indicate no precompensation is required. I find the latter to be the most common case on most IDE/PATA/SATA HDDs, while this was more a setting for older, less accurate, lower capacity technologies in my own personal experiences with vintage PCs.

Landzone - Landzone is where the drive parks the heads when the computer is turned off. Usually this is set to the final cylinder, or cylinder 0. Old hard disks, like the ST-506/412 drives, used a program in DOS called "PARK.COM" to "park" the heads on the apropriate track before turning off the computer, especially before transport. Modern Hard Disks automatically park the heads, and sometimes they even would do that using an accelerometer to temporarily park them at the landzone when the computer is dropped or experiencing a high level of G-force that could slam the heads on the platters, resulting in expensive data recovery and/or data loss.

HDD Limits in the BIOS (486 and older) - In 1994, and before, the BIOS in most computers was limited to a 528 Megabyte hard disk, regardless of interface or type. The maxxed out BIOS settings of course were 1024 Cylinders, 16 heads, 63 Sectors Per Track, with a Precomp of 65535/-1/none, and a landzone of 1024. This meant if you bought a 540MB HDD in in 1996 to replace your old 328MB Western Digital Caviar, or wanted to put a new HDD in your XT clone in 1997 using a used IDE controller - you might be stuck with 528MB Maximum due to this limit, losing the full capacity (and sometimes the read/write of the drive was also spotty as a result of the wrong CHS Settings). However...there IS a way around this!

Dynamic Drive Overlays - Dynamic Drive Overlays, or DDOs, are a software program you can install on the hard disk (located somewhere about Sector 0), and loaded into RAM at boot time to allow the computer to see the entire hard disk. It basically blocks/overwrites/translates the CHS settings for a larger than compatible hard disk to the BIOS by staying in the lower part of 640K RAM. This software includes Maxtors Maxblast, Fujitsu's Disk Utlities, Western Digital and Seagate licence their software from the most popular maker, Ontrack, and sell them as WD Data Lifeguard Utilities and Seagate Disc Wizard respectively. If you can't find an OEM version of your software for your drive, Ontrack 9.x will always be a useful version. I tend to use Ontrack 9 and Maxtor Maxblast the most. Ontrack 9 also has a nice addition in that it can make older 386 and 486 machines boot from an IDE CD-ROM drive by pressing "C" at boot time (awesome when installing an OS on a freshly built out system).

And 504, or 528 are not the only limits in hard disk size. Up until about 1995, 2048MB (2GB) was the maximum capacity of a lot of BIOS (my 486 DX4-100 tops out at this much, as does my NEC Versa laptops). Computers pre-1997 often topped out at 8GB (8192MB). So sometimes, using a DDO on something post-486 is also a required thing.


Large IDE Drives (ie ATA-66/100/133) & The Vintage (PRE-Pentium) PC
Now, it's not always as easy as just slapping in a Master IDE drive from 2005 in a 386 or 486 system with a maxed out CHS and a Dynamic Drive Overlay program on the drive. It can be tricky. There are some things we will need to consider for the purpose of this document.

For starters, your mileage may vary depending on your controller, and your hard disk drive.

One of the BEST Drives for 386/486 era computers I have ever used, is the Seagate Medalist ST38410A - which is one of Creeping Net 486's main hard disks (actually, the one I use for MS-DOS 6.22/Windows For Workgroups 3.11). It seems this drive, even with the regular jumper settings, on a PTI-255W IDE Controller, works incredibly well, even with the WBIDE.EXE and TekRAM.Sys high speed I/O drivers loaded for it. But this is also only using the MAXBLAST DDO meant for MAxtor Hard Disks - so this is a bit of a "hack" of sorts I did to get the drive to run like that.

And they are not all the same because I have a 4GB IDE Drive from the same product line, and it does not work with Maxblast at all (can't write to Track 0), and Seagate's Ontrak 9 based utility does not play well with the TekRAM/WBIDE Drivers for the PTI-255W, so keep that in mind if you are wanting to make full use of the drive and controller.

Maxblast, however, is the most forgiving DDO I use and it does work with other brand's drives, and it's pretty much the same as the Fujitsu Disk Manager Utility and the Connor HDD DDO utilities from around the same time period. But it's also one of the oldest so it's limited somewhat.

OnTrack 9 in it's generic format is my preferred DDO of choice because it adds CD-ROM boot capability - which is a godsend if you are planning to install FreeDOS or Windows 98 or 2000. Basically, with OnTrack 9, you can boot your old x86 system using a CD-ROM - which if compiled right, can make for an EXCELLENT installation medium since you could make a literal all-in-one install setup of DOS/WFW/DRIVERS/UPDATES/ETC on one 615MB CD-ROM. You can even use OMI from SHSUCD utilities to rip it to an ISO and load it using SHSUCDHD to use as a virtual CD-ROM once done - ESPECIALLY useful on Laptops.

Next is your operating system. For Anyone planning to use Windows 3.x or older, you probably want to stick with an 8GB or smaller HDD, since I tend to find Windows 3.x, especially the 3.1x series, are persnickety about using 32-bit File Access, 32-bit Disk Access, and sometimes just grumpy in general running on a FAT-32 partition. Sure, there are DOS utilities that COULD allow you to access NTFS drives but why go through the headache, especially since 3.1x - in my eyes at least - might not be valid for retro-use outside of nostalgia anyway due the things one can do with the PESTUB in HX now. MS-DOS 6.22 had a limitation of four primary DOS partitions, or one Primary DOS Partition, an extended DOS Partition that could be split into multiple Logical DOS Drives. So either, Lastdrive=Z is going to be your friend, or you might run out of Drive Letters before you run out of drives to store stuff on, LOL.

Once we get to FAT-32, earlier versions were limited to 32GB per partition. So that whizz bang 80GB ATA-133 drive from 2003 might be a little much if you plan to run an earlier version of Windows 95 and expect so many gigabytes of space you'll never use them all up. Once we get to 98 and later, this limitation is lifted and you can get some pretty amazing drive sizes.

sure, you CAN run DOS/WFW on a 80GB drive using DOS 7.01, and I have, but the trade-off is HDD Speed using the chipset drivers (incompatible), and some occasional wonkiness due to how Windows likes to play with DOS - including the occasional seemingly corrupt HDD that happens after your Windows Session is over.

One problem you can run into with the DDO and a 3rd party Disk Controller driver - is it either hangs at boot time, like when I ran Ontrak9 on a Western Digital WD800JB drive (80GB ATA-133), and then loaded WBIDE - it loaded fine, but it sure as heck could not find Command.com afterward and left me stuck looking for it - now unseen by the drive. Trying Maxblast in the same occasion brought about the same problem.

Some of these issues, however, could be resolved by using alternative jumper settings. Starting with the earlier ATA-66 compliant drives, we started to see various alternative jumper settings to be used. These can include (but are not limited to): Master with non-ATA compatible Slave, Alternate Drive Settings that work around BIOS limitations (ie 528MB/1GB/2GB/8GB maximum drive size BIOS limitations), alternate jumper settings that limit the drive capacity to a much lower one (ie 2GB, 4GB, 8GB, something tiny like that).


Solid State Drives - SSD - and the Vintage PC
Solid State Hard Disks, or SSDs, are something totally doable in a vintage computer, and they can helpt a little bit, but their gains are not nearly as massive as putting a 6GB/s drive in a 6GB/s Core i7.

I've found most regular 2.5" SATA SSDs will work just fine with a 486 system as long as it has a faster IDE controller, ie a PTI-255W SuperIO VESA Local Bus Card, or some kind of controller that allows for faster Programmable IO modes. The only real problem I have encountered was being unable to use the full capacity of the drive, as I have tried some 256GB drives off/on. Sometimes I can get them to work fine at full capacity, but some limit to 128GB, either due to the DDO I was using, or the drive itself using some kind of trick to get full capacity. However, the #1 problem most people will encounter will be with older OSes like Windows 95 that limit to 32GB a Partition - which leads to 128GB of disk space being used total. I get around this using Windows 98 SE on the even larger drives, and then I could indeed put in 64GB partitions, or format with 98SE and use 95 on the filesystem (YMMV). On my system, I use PIO Mode 4 with the drive, Windows 95 boots up in 34 seconds on a 486 DX4-100 with 64MB of RAM and a 2MB Video Card.

Things get more flaky as we move to newer technologies. I had three mSATA HDDS out of some old dell computers that were scrapped (and that were no longer useful). 2 Samsungs, one LG. The LG did not work, one Samsung was bad, the workign Samsung worked in my desktop, but apparently the 44 pin IDE Adapter...or the bios in my NEC Versa, did not want to play ball. So if you're thinking of cramming a massive 128GB mSATA drive into a circa 1995 486 laptop computer, and have some kind of high speed, shock-proof, MS-DOS super system, you most likely won't succeed. This is particularly because the controllers in most laptops lag behind the desktops of the same era in the "good ole days".