Though the machine was not in a terribly pretty state, I was confident and excited that it could be revived. The first order of business was to examine exactly what it was I had received.
The IBM 5160 was the successor to the original IBM PC (the model 5150), but the two are not terribly different. To the end user, the biggest difference is that the 5160 came with a fixed hard disk in place of a second floppy disk drive. It became evident relatively quickly, however, that this 5160 was not a stock system and that significant upgrades had been made at some point in the past.
I delved into the dustiness of this machine and took a look at what I was working with.
The IBM 5160 shipped with Intel’s 8088 CPU. This CPU was actually a stopgap measure designed to keep costs competitive, since the Intel 8086 (the superior choice) was designed around a 16-bit data bus. Because 16-bit supporting hardware and logic was still very expensive, Intel produced the 8088, which was technically still an 8086 but with half the data bus removed. It was the 8088 that powered the original IBM PC line and, eventually, the huge number of clone PCs that flooded the market.
But my system arrived with an NEC V20 that had doubtlessly been an upgrade from a previous owner. The V20 is a reverse-engineered version of the 8088 which, although it can run at the same clock speed, has a shorter cycle for certain instructions. This means that, depending on the specifics of the software, the NEC V20 can be 10-15% faster in real-world benchmarks versus the Intel 8088. Given how slow these machines are by modern standards, the difference is not terribly noticeable — but it would have been when the XT was still in its prime.
“640K ought to be enough for anybody.”Bill Gates, 1981
The IBM PC and XT famously had a 640k RAM limit from the factory, which at the time was seen by many as “enough” (cf. the famous quote above). There were other configurations available, however. My 5160 board is a “64 – 256k” board, which suggests that its original RAM limit was 256k only. This is sometimes called a “Type 1” system board. The “Type 2” board accepted up to 640K of RAM.
The RAM chips are split up into four different banks. I noticed that all of the banks on my board were full. But I also noticed that they do not add up to 256k.
Banks 0 and 1 are populated with HM50256, which are 256 kilobit RAM chips. Since a bit is 1/8 of a byte, these are 32K (kilobytes) each. Note that there are 9 of these chips in each bank 0 and 1. The 9th chip is used for parity checking — essentially error checking the other chips in the bank. That means that only 8 of the chips are actually used as RAM capacity.
But 8*32K = 256K. And two banks of that are 512K. 512 kilobytes should be double the capacity of this board — and there are still two other populated banks!
As it turns out, there was a published method to modify a 64-256K Type 1 board to accept up to 640K of RAM. This was apparently developed by looking at differences between IBM Type 1 and Type 2 boards and implementing them after the fact on the Type 1 board. In addition to a new multiplexer and some shorted contacts, a modded board would end up with “two banks of 256K chips and two banks of 64K chips directly on the motherboard” (as opposed to, say, a memory expansion card).
Banks 2 and 3 of my board contain OKI M3764 chips (note that this datasheet is for a later iteration — those in this machine end in “RS”); these are indeed 8KB each, meaning 8K*8 = 64K and 64K * 2 = 128K — the missing amount to get up to 640K. So, my board is a Type 1 board, but it has been modified such that it has the capabilities of the Type 2 board. Neat.
The power supply
The XT power supply has an amazing switch. It is almost mythical in its fame. It is easily the most satisfying clunk one can experience when turning on a computer. And that clunk is followed by a deafening howl of an internal cooling fan that sounds somewhat like it is getting ready to take you on an intercontinental flight with multiple meal services.
But, in terms of specifications, the XT power supply is not terribly different from a modern ATX supply (perhaps unsurprisingly, because these are the machines that ultimately set the standards). The XT PSU has the following voltage rails: +12V, -12V, +5V, -5V.
Notice that there is no 3.3V rail; this is one key difference between the XT PSU and an ATX supply. Another is the existence of a -5V rail, which modern supplies do not have.
As it turns out, some older RAM chips require the -5V rail (neither of the two listed above). Apart from that, it feeds the -5V contacts on the ISA bus, but many/most cards do not use it. This comes into play later.
The wattage on the XT PSU is only in the mid-hundreds. This may seem paltry compared to e.g. a modern gaming PC, which might have a thousand-watt PSU. But it is not doing a whole lot in the XT, except for spinning up that hard disk. In fact, the model 5150 had a sub-100 watt supply, because it did not come with the hard disk.
There is no built-in video or I/O on the XT (besides a single keyboard port — see below). As such, everything that one may need to do with it is done using some kind of expansion card. The XT uses the ISA 8-bit bus for this, a double-sided 62-pin standard which was later expanded into 16-bit ISA (with more pins) and then usurped briefly by VESA Local Bus before PCI took over in the 80486 days.
My system came with a number of cards installed. Interestingly, the system is unbootable if each of these cards is installed concurrently, which is how I received it. I assume someone was storing cards in it.
Closest to the CPU was this short card with two ribbon cables attached. Both lead to the hard disk. This is an RLL hard disk controller, which is related to another standard at the time called MFM (MFM = Modified Frequency Modulation). It predates IDE and other standards. It is not (as far as I am aware) the stock hard disk controller for the 5160. But then again, the hard disk in this system is also not stock — see below, but also a later post about that disk.
Next is a floppy disk controller, which has a card-edge connector at the far end leading to the 5.25″ floppy drive. Like with later floppy controllers, it accepts a second drive on the same cable. I think this is the standard floppy controller for this model.
The composite video port that I noticed before I bought the machine is on the IBM CGA card. This was a standard card, but I assume it was added in as an upgrade given the sticker from “Joe” stating that it is, in fact, good — as of 1984.
A capacitor on the motherboard (C1) subtly adjusts the timing signal which is used in the composite video generation out of the CGA card. Only CGA requires this (i.e. the capacitor has no effect on a VGA card, because it is not outputting composite video).
IBM had a video standard from their terminals called MDA (Monochrome Display Adapter), and that standard continued into the PC and XT days. The MDA card in the XT also had a parallel port on it. I don’t have a display that supports MDA, alas.
Interestingly, the monitor that shipped with the XT was designed around MDA, and its power cable was designed to plug into the power supply, which had a second plug for it. I suspect that this is just an A/C passthrough, however, as opposed to some kind of converted voltage, given the relatively lowly specifications of the IBM PC power supplies at this time.
The classic IBM PC full-height 5.25″ floppy drive is a Tandon TM100-2A, and that is the drive that is installed in my system. Unfortunately, it appeared at first to be in very poor shape. The latch on the front of the drive would barely move; this is connected to a hinged lock which slides down over an inserted disk. Upon closer inspection on the bottom of the drive, the belt was indeed intact, but the drive’s axle was nearly seized.
Depending on some intricacies with software and firmware, the XT could read or write 360K double density floppies. Though it seems like not a lot of storage, consider that the computer itself is maxxed out at 640K of RAM. Considering that computers now commonly have 16GB RAM or more, it would have been essentially like having a removable disk that holds just over 8GB. Even today that would be pretty usable.
Ultimately getting this drive to work will be a challenge, and a necessary one. I have no other way of getting data into or out of the machine without either getting it to work or buying another component.
Whereas the floppy drive is a challenge, the hard disk drive is a non-starter. Of course I would eventually try and run it, but the likelihood of it not working was very high. These old hard drives were actually only designed to last a couple of years (the manual for this Seagate ST-238R states 5 years), and at this point, it has far exceeded that. Still, it is an interesting bit of old tech. 30MB in this drive, 615 cylinders, and 4 heads.
The machine was very, very dirty. It seemed clear that cleaning it should be a top priority. But, before spending a lot of time on that, I had to ensure that the machine was actually in a state where I could make it work. I am a hobbyist and by no means an electrical engineer, and a completely dead board might be something that I could fix, though it easily might not.
I set about taking all cards out of the mainboard and separating it from the case. This would allow me to get a closer look at things before attempting to apply power as well as make it easier to clean.