Classic Computers: The IBM Personal Computer

More information on the IBM Personal Computer

Compatibility

Finding an IBM compatible computer shouldn't be a difficult task, as they are still being produced today, and the number of IBM compatibles easily surpasses that of all other personal computers combined.


The "E2" jumper:

Note that there is an E2 jumper on the 256-640k XT motherboard. With the jumper in place, the 256-640k range is selected, removed it's a 64-256 board. The dip switches do the same thing otherwise.


SCSI:

Because MFM hard drives are getting harder to find, XT hard drive controllers aren't the easiest to configure, and just because I can do it, I've started using SCSI with my XT. What this requires is finding an 8 bit SCSI card with a BIOS. I've found a few Future Domain cards that are 8 bit, sold with CD-ROMs and scanners, but only one of my cards has the BIOS ROM. What this means is if you want to boot from hard drive, you need the ROM code to run so the BIOS can see the hard drive. Acutally, this is almost exactly the same way an XT MFM card works, the only difference being the type of interface used. As many of these cards were intended for use with non-bootable devices, the ROMs were left off, though most of the other cards have a similar PCB with the ROM socket and a couple other parts are missing. I'm currently working on ordering the missing parts and using copies of my one ROM on the other cards. This should not only make adding a hard drive to the XT easy, but it should also let me use a fairly large drive, as well as a CD ROM, tape drive, or any other SCSI device I like as long as there's XT software to support it.


16550 UART for faster serial I/O:

The PC origionally used an 8250 UART on the IBM serial card, this UART causes an interupt with every byte recieved, and requires the PC to get that data before the next byte overwrites it. This can cause the serial I/O speed to top out around the 9600 baud rate. The AT origionaly used the 16450, a somewhat better chip, but it still uses the 1 byte buffer. Later the 16550 was introduced to address problems of buffer overruns at high speeds, as it has a 16 byte buffer. I started to use my XT as a terminal on a Linux machine, and it works great at 9600 baud, but I wanted to run it a little faster as screen refreshes take a while at that speed. I hadn't actually given it any thought before now, but I didn't have anything faster than a 14.4k modem when my main machine became a dual Pentium, so aside from some file transfers via. null modem, I really had no need for fast serial I/O on an older PC until now. Anyway, I decided to dig through a pile of old 8 bit serial cards, I found a lot of them with 8250s, a few with surface mount chips that integrated the serial ports and parallel port, and there was one lone card with a 16450 on it. Unfortunatly the "buy a new card with 16550s on it" method of upgrade may not be an option any more, and probably a spendy option if at all. I did a little homework, and found that infact all these chips are pin compatible, so all that's required it removing the 8250 or 16450 and installing a 16550 (actually, 16550s have a bug, so use a 16550A instead). This is fairly easy if there's a socket, and still possible if the chip is soldered to the board. Once the new UART is installed, make sure your software is able to make use of the buffer, and you should be set. I'm still in the process of getting some 16550s to use on my XT, I'll include an update once I try it out first hand.


Using a PS/2 mouse on the PC or XT (and a short explaination of the different protocols):

Background:

Before I start to describe my overly complex method of connecting an IBM mouse to an IBM computer, I should first explain my motivation and why this shouldn't be so difficult. First off, there are more-or-less three different mouse interfaces out there, bus, RS-232 serial (I'll just call it serial from here on), and PS/2. Bus mice are some of the earilest and definetly the simplest, they send a quadrature signal for directional movement, so there are 2 wires for X, 2 for Y, and one for each button. All this data is sent in parallel, and it's drasticly different from serial and PS/2. Using a serial mouse just made sence, many computers had serial ports anyway, even non-IBM machines, so all you had to do was buy the mouse and plug it in. Electrically the mouse is like a bus mouse inside, with a chip that converts the movement/button data into serial data and sends it to the PC. The PS/2 mouse was really a logical step too, as the name implies, it was introduced on the IBM PS/2 and later adopted by everyone else. This interface is really just the keyboard serialized interface, with the mouse data added to it. As it was likely most comptuters were going to have a mouse anyway, why use the extra UART and RS-232's +/- 12V signaling and use up a COM port (people are usually wishing they had one more anyway). Becides, the serial mouse could still be used leaving the PS/2 port empty without any problem.

Protocols:

Unfortunatly, many different protocols were used by different mouse makers. I believe bus mice were largly the same (there's really no protocol there, just pinout), but it seems most serial mouse makers had a different mouse protocol for their brand. Logitech actually switched to the Microsoft protocol at some point along the way, so old and new Logitech mice aren't the same. PS/2 mice are all the same as one another, but they are totally different from serial, both in the voltage used on the line, as well as the signals. One common misconception (which I'm guilty of too) is assuming that because you have one of those PS/2-serial adaptors, you can just connect any mouse to any port. That unfortunatly isn't true, those are only for mice which are able to handle both protocols and which are smart enough to detect which they should use. To top it off, those adaptors aren't the same, depending on the brand of mouse it's designed for!

Can you connect a PS/2 mouse to an XT?:

First, I have to answer the obvious question: Why on earth would you want to do such a thing? Serial mice are dirt cheap and easy to find used. Well, it all started out when I got a couple $.50 earily PS/2 mice and thought "one of these would be perfect on my IBM XT". They look like they're off the set of the origional Star Trek series, and they say IBM on them, a perfect match! So I start with the easiest answer, try the adaptor. No dice, and I'm not surprised, these I'm sure were sold just for the PS/2, and are probably old enough that nobody had though to make a dual-protocol mouse as of yet. So, on to the second easiest answer, add a PS/2 card to the PC. Hmm, I remember PS/2 being nice in that it freed up some of the resources that older PC hardware like to use, sure enough, a little hunting and I find that PS/2 mice use IRQ 12, only available on the AT. Not to say that a PS/2 card isn't out there for the XT, or that it can't be built, but I would think you'd either have to a) have hardware that looked like a serial UART to the computer, which would be hard to find or would have to be home built, or b) a special mouse driver that looked for a PS/2 mouse at a different location, again hard to find or custom. Neither something I want to take on. Then I started thinking of gutting the mouse and installing the insides from a serial mouse. That'd work, but might require some fabrication...and a new cord. Then it comes to me, why not just convert this mouse to a "dual protocol" type, and use an adaptor that worked with the donor mouse? I took the cover off to see what I could retrofit inside. The PCB is unique to this mouse (I was hoping maybe Logitec or someone else OEMed the board and it was generic), and I notice it has a Logitec chip on it. The wheels started turning...there really isn't much else in these mice, and I can easily rewire the cable...maybe I can swap the chip with a MouseMan or some other dual-protocol mouse? Unfotunatly I haven't yet found a donor, when I do I'll simply see if the chips are wired the same and go from there. If I make any progress, I'll be sure to mention it here!


Back To Main Page