For many years now, TCJ has been talking about and providing information on PC compatible computers. Recently the price of these units at swap meets has fallen to $10. In this special issue on the PC/XT platform, I felt a review of the PC/XT design and a explaination of what you get for $10 is in order. I'll fill you in on PC technical facts as I recount the how and why I paid the money at the last swap.
I have been using WordStar since the begining, or at least since I worked for them. In WordStar editing, you use the "control" for moving the cursor, advancing a page, and deleting characters. Since it is second nature for me to just move my little finger over and hit the control key, the newer PC clone keyboards cause me considerable problems. The newer keyboards have the control key any number of places, except where it is most easiest to use. Thus when the last swap meet happened, I ventured forth to fine some replacement keyboards for all my aging and now hard to replace units.
The orginal IBM PC keyboards were extensions of those used on most terminals. The terminals started out using parallel interfaces, and then going to ASCII serial interfaces. Some early keyboards had the terminal CPU doing the looking for key presses. The ASCII keyboards changed to using a small CPU chip, typically 8048, scan for the key press and convert that to the ASCII codes. The codes were then given to the terminal either serially or accross a parallel port.
Somewhere along the line, IBM decided that it would be better if they knew which key was pressed and for how long. This allows for foreign language keyboards, function key operations, multiple key special opertions, and more options than the normal 256 ASCII codes possible. Since serial interfaces are also simpler to work with, the serial interface surfaced as the standard option. So what we have then is two types of PC compatible keyboards. At first there was only the PC/XT variation, typically 83 keys. Later when the AT machines came out to correct all the failings of the XTs a new and larger keyboard (101 keys) came with it (with several modes of scan codes possible).
Scan codes are what the keyboard returns when a key is pressed. There are lots of options, intitalizations, and other keyboard interface considerations, that we will cover at a later date. The reason I was looking for another keyboard, is the newer versions moved the control key location and thus cause me problems. Some earlier keyboards provided alternate keycaps and a switch to allow for selecting caps lock or control key in that location. Many newer boards also have AT and PC/XT option switches as their control codes and handshaking are somewhat different (although I use XT keyboards on AT systems all the time, it really is a ROM BIOS consideration, some support both types, some only one.)
I found a few keyboards, all for $5 each (or less). I found one that was very clean and a real IBM. The price was $10, but I had to take the whole system! That system was professed as a XT with 30 meg hard drive and EGA interface. I really didn't need another XT system, but this one was a true blue unit (all IBM labels everywhere) and thus I thought might be good for my collection. I have also been giving systems to friends to help them get started with computers.
I took the unit home and later started investigating my expensive purchase. The EGA interface was in fact only a COLOR monitor card, the drive was indeed 30 megabytes, but a surprise awaited me. Many times we have discussed what you do when checking out a system. These words of advice hold true whether on a PC/XT or S-100 system. The first step is to open it up and take inventory.
You open it up for more than seeing what is in it. Often in handling and now that many of these units may have been sitting around for years, even under water (like our California winter flooding), you need to see if cards are loose, small dead animals are lying accross traces, and other wonderful surprises. The most common problem would be unsecurred boards that have come loose. I like to pop each board out, see what it is, write that down, check out the socket for dirt and shorted pins. I had one the other day in which the card had been reseated and in doing so, a pin had broken loose and was now wedged against the other side and thus shorting the bus out.
The complete system will have the mother board, at least one video driver card, and a floppy and or hard disk controller card. Full systems will also have serial cards, parallel ports, network interface cards, and sometimes modem cards.
The early systems (S-100) were composed of many cards and a passive backplane. The cards formed the computer and the backplane allowed for the CPU card to talk to memory and I/O cards. Running memory over these buses has a number of problems (usually speed related) and thus a motherboard design was deamed better. This design limits CPU upgrading, but cuts down on memory interface problems. I/O expansion is handled by adding interface sockets on the motherboard much like Z-100 systems. In the Z-100 you have a motherboard with S-100 expansion sockets (for extra memory, floppy controller, and hard disk controller - 4 slots avaialable).
The major disadvantage of a motherboard design is not being able to upgrade the CPU. In the PC/XT, the expansion slots will take memory cards as well as I/O cards, but at a speed loss. Thus my new system had an expansion card with 256K on it, which added to the 256K on the motherboard to make a 512K system. Now that is about the minimum you can use for most programs, although many of the very early CP/M converted programs will run in 256K.
You will find many PC/XT and most industrial systems designed with passive backplanes and not motherboards. When the designers found ASIC's and PAL's it became possible to build small enough systems that they could fit on a single regular size expansion card (now it can be on a half size card). Several of the Zenith/Heath systems where all expansion cards, which allowed for later CPU upgrades without motherboard replacement.
The most common question I get is what to do about "my old but wonderful XT." The typical answer is simply replace the motherboard with a new one. Since the motherboard has become the cheapest part of a system, repairing it seems useless, and if you want to run any of the newer window based software packages, you will also need lots of horsepower and memory by the tons.
You can of course continue to use your old software as many of the older packages work fine and may provide all the computing you need. Often these older units also were just plain flakey and as Dave Baldwin commented in one of his columns, they often came with every other noise reducing capicator missing. I saw a board the other day that had only 5 chips (386SX, 8048, BIOS, EEPROM, ASIC GLUE CHIP) and SIM sockets for memory. The board new would sell for less than $75, and could use all your old XT I/O cards. The re-use of your I/O cards is what most people don't understand.
Just because you might upgrade the motherboard does not mean all the cards must be replaced. You might watchout however that you do not exceed the power supply limits. Many of the first PC/XTs used only 60 Watt supplies and adding a hard disk might overload it. For $40 you can add a new 200 Watt supply and add all the hard drives you want. So for typically $100 you can upgrade you old XT to a new 386 with power supply, using all your old cards and case. Well almost $100 that is, because the new boards take only SIMs and your old unit has DIP memory chips.
Replacing memory chips is often a problem for novice people. They can brake off a pin, bend it under, or put it in backwards and blow the whole chip. The DIP (Dual In-line Package) memory chips use tons of space. Along came Wang and they put the surface mount chips on a small PC board, just a smaller version of the expansion slot idea, and now a full compliment of memory could be on a small half inch by three inch circuit board. Through guides and small drilled holes, alignment and installation is now simple and almost fool proof.
Since almost all the new boards use these sims (mostly now 72 pin not the now obsolete 30 pin) your old dips can no longer be used. Well not exactly, but I doubt many want to shell out the ten to fifteen dollars for dip to sim adapters, as you would need four in some cases, which would also be more chips than you had. If you only need 1 meg of memory, no windows with that amount, you can get 256K sims for about $25 each, or $100 for the 1 meg needed by the 386DX. Now some 386SX units will use a single bank of sims, and thus a single 1 meg sim pack is all that is needed (about $100 or you could use the adapter for $15 and your old chips.)
So the big stumbling block for people wanting to upgrade, is not the motherboard or I/O cards, but cost of RAM. Ever since the fire in Japan that forced memory chip prices up, memory has remained the main cost of upgrading. CPU costs for more powerfull devices has steadily dropped, while memory has remained almost flat, or unchanged. Keeping all the above in mind what other options do we have.
I said the unit I got for $10 had a surprise, and the surprise is also one way of upgrading. While checking the cards out, I noticed a switch on the back panel. Now normally finding a toggle switch would be for a speed upgrade. We do them often for Kaypros and such, when a new crystal is added along with a higher speed CPU chip. So I looked for a crystal add on and found instead a ribbon cable header in place of the CPU chip. The cable went to a board mounted in the first slot and also the owner of the switch.
Studying it carefully, I noticed a small square chip in the upper corner and on closer examination found a 286 CPU chip. This adapter made the box a "sort of" AT machine, and when the switch was turned off, it didn't work. Further checking found the 8088 socket on the adapter board empty. Normally you would remove the CPU chip, install card and ribbon cable, and put the old CPU chip on the socket on the new board. Thus allowing the switching between the old CPU and new one. You often needed to do that for some programs that did unmentionable things with the system and crashed at anything other than the older slow speeds.
Well now I was very curious if it worked at all and hunted down my color monitor and some power cables (for $10 you want power cables too!) I fired it up, but no screen and yet if I hit enough keys (F1), it would seem to boot. Hunt for the PC/XT book and check the switches. Oh yes switches. Well you see there are a number of possible options the PC/XT could come with. First off there is memory, 16, 32, 48, and 64K possible and then disks, video, and co-processors?
The switch is based a tried and true method used by S-100 and other systems. Use a small parallel port with a 8 position switch attached. Use the third and fourth one to set the amount of memory. All off is 64K, 3 on is 48K, 3 off & 4 on is 32K, and both on is 16K. Later a second block of switches was added for the 64 to 256K options. 1,4,5 on and 2,3,6,7,8 off is 256K when 64K chips were used.
What did the other switches on switch bank one go for? Switch 2 is for a co-processor or not, on is NOT. 1,7,8 are for disk drives, all on is no drives. The important one for me was switches five and six, which were both off or set for monochrome display. Since I had a color card, I changed 5 to on, 6 off which is for 80 by 25 lines of text on a color adapter card. Powering back up, as these switches are only read during power up, I now saw the error message.
When the unit boots or starts up, it goes through a number of system checks. These are mainly to see how much RAM and what devices are installed, as well as whether or not things are working correctly. In my case I had a parity error in an expansion memory bank. The error indicated bad memory chip and gave me an address in HEX. I changed the hex value to a bank on the expansion card and went "crunching." Ok you say, what is crunching. Well as chips heat and cool, they expand and contract. This action causes them to move in their sockets. The heat also cause some corrison to form on the surfaces of the pins. Between the two actions, you can get poor operation, or often the mysterious parity error. A 9th chip keeps the sum of all bits in memory, and if it not the same when re-checked, something bad has happened( a bit changed on it's own).
The solution is taking the card out and laying it on a stactic free and hard surface and push with you thumb on top of each chip. You should hear a crunching sound as you reseat the chips. Be careful not to over do it and look for old bent under pins which will cause the same problems. I did the same, and each time the location of the error moved, sometimes up and sometimes down in memory. When that happens, I pull the chips almost completely out and then reseat. Often it seems just reseating is not enough to really clean the pins and get good contact again. I did that and zip, 640K of memory was now working properly. I reseated and rechecked all cards and then powered up again and retested all with a big grin on my face. My $10 machines, which in it's own right is a real IBM PC classic system was up and running with a 286 CPU. I tried a few tests and the speed difference was in fact very noticable. Having never tried one of these modificiations, I can now say with experience, that if you can get one cheap enough, do it (it proably is cheaper than what memory is going for these days!)
There are all sorts of upgrades possible, such as V20 in place of the 8088 and that gives you a 8080 or CP/M compatiblity mode. Most of the new upgrade movement these days is turning 386 machines into 486/586 units. Beware however that some very old units had flakey memory circuits, and these newer devices may not like the design. I have a couple of 386 systems, that were tried as 486 upgrades and failed. They still work fine as 386 machines, just not upgradable due to some design variation.
If memory was not the biggest expense, I would just upgrade motherboards on any excuse. Memory however makes some of the 286/386/486 upgrade cards seem almost reasonable. Just don't forget the power supply and that many of your I/O boards will work with any motherboard, even 686s.
When people call and ask PC based questions, they are usualy a bit surprised when I stated that many of our newer Z180/280 systems are as fast as 33 MHZ 486's. I suppose now is a good time to clarify that statement. When the orginal IBM PC's came out, they were IBM's third attempt at entering this market. Most engineers who knew anything about the design found it to be very slow and a big step back in computing. I had several memory mapped Z80 systems that would do WordStar about four times faster than early 4 MHZ PC's.
There are two reason for speed differences in this loose comparison. First is how the screen is updated. In PC based machines the memory is BIT mapped. That means a location in memory contains an array of bits, that when moved to the video interface will represent the character presented. It also means that more than one CPU operation maybe needed to move the array from a look up table into the cards screen memory. All these many operations add up to a more complex operation, than a CP/M system using ASCII character mapping. In the CP/M system the ASCII character is taken from the keyboard and stuffed into screen memory, typically one operation. Considerably simpler, but then for plain text why do more.
The reason that higher speed processors still didn't cause very great improvements are based on the ISA (PC standard) bus. The bus was designed with speed limts of 4 MHZ that can be pushed to 8 MHZ tops. So even if you run a 100 MHZ CPU, the fastest you can move data across a ISA bus is 8 MHZ tops. This is also why you have seen so many alternative bus design flooding the market. PC's are crippled machines with far too much overhead to make efficient use of the components involved. Ask any computer designer and they will tell you that a 68000 based system (like Apple Macs) is far superior with few of the design limits and problems associated with the PCs. So why did people buy them? I have two theories about what went on. The first concept is that large corporations bought units sight unseen. If you were a VP of data processing and the Pres said I want to try these new micosystems, who would you buy from. Most figured that if IBM did it and they failed or worked poorly, who could blame you. In fact I still feel strongly that IBM wanted them to fail, so people would want their old but reliable main frames back.
IBM mis-guessed the market and corporations bought in millions. That made IBM the number one seller and thus John Q public who didn't even know what a computer was for, felt it was safe to buy. That brings me to my second theory, which is their success is based on the fact that most user stole the software from their employer. This wealth of free software then drove the average user to buy a system just like the one at work. Thus more IBMs were sold and they became a stronger number one. Still the product was worse than most CP/M system available at the time, but nobody cared, they just bought and bought more.
That buying spree carried the USA out of the depression in the eighties, but buyers also became more knowledgable. This learning about how they worked and what you really want in a system, caused the early ninties to see some brakes being applied on sales. So, enter the used car sales mentality, where you need to keep up with the Jones by buying the latest and hotest machine available. Forget that you proably can live without, or your old one actually works fine, new is better and that is all there is to it.
Well not everyone is buying that concept, especially readers of TCJ. For many of us, we can see the difference between fast for fast sake and what makes a good design.
I hope my retelling of my adventure gave you a few pointers and some food for thought. Remember that your system might be working just fine for you now. If so, there is no real need to upgrade to anything else, no matter what the used cars sales people say, whoops, I means computer sellers have to say. If it has died however, determine what died, and if it is the motherboard, replace it with something new. Just because the motherboard gives you some new features, you don't have to use them, unless you have the urge to get frustrated and learn more than you ever wanted to know about computers.
To help see what alternative good designs are avialable, the next issue will have articles about some other machines you could be using. One of those covered will be the PT68K system, running SK-DOS and OS-9. So have fun computing and keep sending those cards, letters, and E-mail. Bill Kibler.