Can You Do Real Work With the 30-Year-Old IBM 5150?
When IBM released its first personal computer, the 5150, 30 years ago, it was deliberately drab--black, gray, and low-key. That’s because IBM intended the 5150 to be a serious machine for people doing serious work.
So how better to celebrate this important anniversary than by using the 5150 for what it was meant to do? Working on a 5150 seems to be a tall task in today's vastly accelerated computing world, however. Could a PC that’s as old as I am manage to email, surf the Web, produce documents, edit photos, and even tweet?
I sequestered myself for four days amid boxes of 5.25-inch floppy drives and serial cables to find out. The answer to my question turned out to be both yes and no--but more interesting was all the retro-computing magic I had to perform. In the end, my experiment proved two things:
- People now use the PC for many things that weren't even conceived of in 1981, and the 5150, unsurprisingly, is woefully underpowered for those advanced tasks. But when you use it for the core computing tasks the 5150 was designed for, IBM's first PC has still got game.
- Early floppy discs were just too darned small!
Day 1: Setting Up
I was interested in spending more time with the Model 5150 because it's the foundation of so much modern computing. For the past 30 years, the platform created by the IBM PC has served as the basis for personal computing innovation and progress. Today, most people use PCs that retain some level of compatibility with a computer system released three decades ago.
When I first set out to test the mettle of the 5150, I realized that this special challenge called for a unique test environment. I couldn't pull this off at my house; I would be too tempted to use modern computers as a crutch. I needed a secret bunker, a distant location where I could wrestle with vintage technology unhindered and uninterrupted. (Did I mention that I have a one-year-old at my house?)
After careful thought, I sequestered myself in an infrequently used room in the upstairs corner of my parents' house. The bulk of Day 1 consisted of moving equipment over. I needed to take not only the PC itself, but also what seemed like 15 metric tons of supporting hardware that I could use for repairs in case the PC broke. Among those supplies were a few dozen ISA expansion cards (including spare video cards, serial cards, and the like), a couple extra 5.25-inch floppy drives, some tools, and a box of assorted cables.
Day 2: Trying to Fix the Thing
Day 2 began with a general survey of the PC. The first thing I did was open the case and assess what was inside. In the PC's five ISA expansion slots, I found a CGA video card, a memory expansion card, a floppy controller card, and a serial card for communicating with mice and other peripherals. For storage, my PC came equipped with a lone, full-height 5.25-inch 360KB DS/DD floppy drive. Thankfully, someone had maxed out the RAM at 640KB (yep, that's a massive 640 kilobytes--roughly 0.032 percent of the RAM on today's low-end PCs). When I looked for the processor, I found a surprise: One of this system's previous owners had replaced the Intel 8088 CPU with a Zilog V20 CPU.
The V20, originally designed by NEC, was a pin-compatible enhancement of the 8088 that could run certain programs 30 percent faster than the 8088 could--even though it ran at the same 4.77MHz clock speed. But it wouldn’t be historically accurate to run such a speed demon for this challenge, so I replaced the V20 with an 8088 chip that I had in my collection.
Next, I hooked the machine to my period-authentic IBM 5153 CGA monitor and booted it up. I briefly had some trouble with the video connector on the CGA board, but after I cleaned it a bit, everything worked fine. Then I encountered the next obstacle: a bad RAM chip. The POST error code told me exactly which RAM chip was bad (okay, I cheated and looked it up on the Internet using a netbook I had with me). Luckily, this socketed chip (a 4164C, to be precise) could be easily swapped out--but I didn't have a replacement on hand.
Despite the malfunctioning RAM, the machine seemed to work well. The 5150 contains, as the Apple II did, a full version of BASIC in ROM that loads right up if you don't boot from a disk.
Targeted mostly at computers without floppy drives (the lowest-priced 5150 sold with 16KB of RAM and no drives), this version of BASIC could save programs only to cassette tapes.
You read that right: Like other personal computers of the era, the 5150 came equipped with a cassette port on the back.
With the appropriate cable, users could save and load programs from a standard Philips compact cassette tape. The tech was slow and poorly implemented on the PC, but cassette players (and tapes) were orders of magnitude cheaper than floppy drives in 1981.
Stuck in 40 Columns
Once I booted into BASIC, I noticed that the machine's display was stuck in 40-column mode (that is, capable of showing only 40 columns of letters on the screen at once). As a business machine, the 5150 supported an 80-column display. Switching it was possible, but I didn't remember how.
Instead of a software-based BIOS, IBM equipped the 5150 with a series of dip switches on the motherboard for configuring basic system parameters, such as what kind of video card you're using, how much RAM the system has, and how many floppy drives are installed. I saw that all the dip switches on this PC's motherboard were set correctly for 80-column CGA, so I was stumped.
Next I booted into PC DOS 3.3 (PC DOS is what IBM called its version of MS-DOS) off a floppy disk. Still 40 columns. Then I remembered that there was some way to change the video mode in DOS. I thumbed through an authentic PC DOS 3.3 paper manual to find the solution: A DOS command called "MODE" sets the video mode. The mode I needed was called "CG80," which set up a color, 80-column mode in DOS. Yes, 80 columns at last!
Somewhere along the way, I decided to add a second 360KB floppy drive to make my journey easier. Thinking ahead, I had brought a half-height unit (pulled from another PC years ago) along from my house the day before. Doing serious work on a single-floppy-drive machine involves a lot of disk swapping, which is never fun.
Next page: Resolving software issues and viewing graphics
Day 3: Getting Down to Business
Day 3 started with me rifling through my garage, looking for a 4164C RAM chip to replace the bad one in the 5150. Fortunately, I found a host of them in an ITT Xtra, a 1984 IBM PC XT clone.
Once safely in my remote isolation bunker, I opened the 5150 again and swapped out the bad RAM chip for a good one. Success! Everything was now in complete working order.
The Software Problem
With all that tinkering behind me, it was time to get some work done. But I had to surmount yet another obstacle: Where would I get the software for my tasks?
I had brought along about eight boxes of 5.25-inch floppies filled with IBM PC software that I had collected over the decades. In case I needed a program I didn't already have on disk, I set up a Pentium II-era machine running Windows 95 nearby. I had earlier equipped that newer system with a 5.25-inch floppy drive and an ethernet card so that it could serve as a bridge between the old and the new. I could pull software from both the Internet and my file server at home, and then write it to fresh, blank double-density disks for use in the 5150.
The first thing I did was set up my own master boot disk. I used PC DOS 3.3 as the OS because it was of the right vintage and I had it on hand. I placed a few official DOS files that I needed on the disk (such as the FORMAT and MODE commands and ANSI.SYS). Then I quickly located my favorite DOS text editor, SemWare QEdit, and crafted my own AUTOEXEC.BAT file, which tells DOS what tasks to run or what drivers to load when the computer first boots. Oh AUTOEXEC.BAT, how I missed you!
CGA Graphics Are Better Than I Remembered
One of the first disks I ran across was for a shareware image-file viewer called CompuShow (often called CShow for short). I regularly used CShow in the early 1990s to view GIF files that I had downloaded from local BBSs.
Undoubtedly, CShow's best feature was that it supported just about every graphics card and graphical mode then known to PC-kind. It would take an image--whatever the resolution and bit depth--and convert it on the fly to display on your graphics card.
CShow had no trouble running on the 5150, and it handily supported the machine's CGA board in either 320 by 400 resolution with four colors, or 640 by 400 in monochrome. I loaded up a few images that I happened to have nearby on disk.
First I viewed a color GIF headshot of Gillian Anderson in her X-Files days.
For the second image, I decided to display something a little more modern in monochrome.
CShow on the 5150 handled both images well, considering the limitations of the CGA standard. Overall, disk capacity ended up being the limiting factor in viewing images: With only 360KB available, I could fit just a few images on a disk.
Next page: Surfing the Web and checking email
But Can It Surf?
After fiddling with images for a while, I realized that I hadn't checked my email in quite a few hours. I decided to attempt it on the 5150.
I identified a few routes that I could take to attack the Internet problem. The most challenging approach involved hooking up some sort of ethernet adapter to the 5150, and then running programs on the IBM that would allow Web browsing and email checking. It's possible--I've done it on similar DOS machines--but it's complicated.
I also had a parallel-port-based ethernet adapter that could work, but that too would take lots of configuration time. Above all else, the most limiting factor for this method was the fact that most of the DOS-based Internet software I found (including the smallest text-based Web browser) could not fit on a 360KB disk.
So I decided to try the easiest solution: I could use the 5150's serial port as an umbilical to a more modern PC that would act as a vintage ISP server. I happened to have just such a machine, running Linux, already set up (I use it to test my vintage serial terminals). Linux, like its Unix ancestors, can redirect its text-based command prompt (similar to the command line in MS-DOS) to a serial port on its host machine. In this scenario, I would connect the 5150 to the Linux computer with a serial cable, and the 5150 would run a special piece of software called a terminal emulator. That software allows the 5150 to act as a fancy monitor and keyboard for the Linux machine.
This approach may seem like cheating, but it is exactly how people from the 5150 era all the way up to the early 1990s used the Internet and other networks. They dialed up, logged in, and ran software on the remote machine, receiving results from the remote network through a telephone modem connection. In my case, no dialing up would be necessary because the two computers were sitting a few feet from each other.
You've Got Mail
After linking the 5150 to my pseudo-ISP machine, I booted up and ran DataStorm's Procomm Plus, a very popular shareware terminal-emulator program from the 1980s. I logged in to the Linux system and ran Pine, a program that Linux folks may remember as the most popular way to check Internet email before graphical OSs and PPP connections shifted things over to client-side software like Eudora.
It worked. Sadly, I had no new email. Testing the IBM's email functionality would not be complete without sending an email message, so I fired a note off to one of my colleagues.
Having conquered email, I next focused on Twitter. Could I tweet from an IBM 5150? The answer was yes, thanks to a console Twitter client for Linux that I had installed on my ISP machine called Twidge. I typed up the following command: "./twidge update "I'm tweeting this from an IBM PC 5150. 8088, 640K, CGA."
And lo, Twidge sent it out across the Twitterverse. Unfortunately, no one noticed. After checking out a few tweets from Alyssa Milano, I moved on.
Theoretically, the PC-as-terminal-emulator should have had no problem with Web browsing in text. For a browser, I chose Lynx, a text-based program commonly found lurking near Unix-like operating systems. In this case, I ran Lynx on my ISP machine. All seemed well at first--but then I called up a website. The PC had some trouble displaying a few terminal formatting codes properly (likely the result of a terminal type error on the Linux end), resulting in asterisks sprinkled liberally throughout the websites I viewed. Pretty stars.
In total, I visited two sites: Google and PCWorld.com.
Both looked suitably messed up because neither site had been designed with text in mind. Nonetheless, I had proved that it was possible--in that chopping-down-a-tree-with-a-bat kind of way--to extract information from the Web on a 5150.
Next page: Getting down to business with word processing
Writing for the Man
Twiddling around with the Internet is all fine and dandy. But when it comes to work, the real meat-and-bones stuff involves writing (for me, at least). And when I think "word processor software," Microsoft Word usually springs to mind. It seemed a good choice at first, but the earliest Word for DOS version (3.3) that I could find would not fit on a 360KB diskette and still function. Scratch that.
Second to come to mind was Microsoft Works, a word processor (and office suite) that I actually used in the DOS days myself. The earliest version of Works that I owned sported an executable file size of 372KB, which would not fit on a 360KB floppy either. What was I to do?
To find the answer, I had to look back at what people with a 360KB floppy drive used. I happened to have a cache of floppies from my dad's free-wheelin' days with an ITT Xtra (a PC clone I mentioned earlier). His Xtra came equipped with only two 360KB floppy drives--just as my 5150 did. I found his copy of LifeTree Software's Volkswriter 3, a popular word processor that he utilized heavily until Microsoft Works entered his life.
Volkswriter boasted a strong user base in the 1980s because its first version had been one of the earliest word processing packages released on the IBM PC platform. Moreover, users held version 3 in especially high regard since it didn't rely on arcane typed commands or "Ctrl-Shift-Alt-H-1"-style keyboard gymnastics for added functionality.
Thankfully, the Volkswriter disks still worked, so I loaded up the program. I started with a warm-up exercise to keep my fingers limber, typing what you see in the accompanying photo.
Volkswriter 3 turned out to be very useful, proving that out of all the tasks I had thrown at the 5150 thus far, word processing most resembled its modern PC equivalent.
PC Keyboard, Is That You?
I should take this opportunity to talk a little about the original IBM PC keyboard layout.
To put it simply, it's weird--well, at least by our current standards (those set by the IBM 101-key Enhanced Keyboard released in 1984).
While most PC users respected the 5150's keyboard for its durability, its generally reasonable layout, and its now-famous clicky feel, critics took issue with the nonstandard placement of some important keys, including the left Shift key and the Enter key. On top of that, many of the most-used keys have an unusual design (a peak on top of a lower-set key face) that makes me think IBM wanted users to mistype them or miss them all together.
Still, one could get used to a keyboard like that, and I found myself growing accustomed to the layout after using it for a few days. Then I went back to a standard, modern keyboard and started making mistakes.
Next page: Playing games and mousing around
Day 4: Of Mice and Menus
IBM did not design this PC to be a gaming machine. It was not intended to be a gaming machine. It was a serious computer for serious business, doggone it. A typical PC shipped with a monochrome graphics adapter. If you wanted color--CGA--you got 16 colors in text mode and a mere four colors (four ugly colors, at that) in 320-by-200 graphics mode.
For audio output, IBM equipped the PC with a simple one-channel speaker whose beeps often resembled the sounds of a miniature duck being strangled to death. And of course, the 5150 didn't ship with joystick or paddle ports (although IBM offered an optional adapter that added a port for those accessories).
Despite IBM's sobriety, game developers brought entertainment software to the PC in droves. Stopping them was impossible: In the late 1970s and early 1980s, when you weren't word processing, gaming was the most useful thing you could do with a personal computer.
To test the PC's gaming muscle, I whipped out a few titles I had handy. A port of the arcade hit Arkanoid II worked well in CGA mode, although with only four colors I found it hard to tell some of the power-ups from the background.
Next I loaded up one of my personal favorites, ZZT, a text-based adventure game programmed by Tim Sweeney, founder of Epic Games (more recently, the same company created the Gears of War franchise).
I also played Jumpman, Alley Cat, and Digger--all of which are fun games that you could play for quite a while. But my time was precious.
When I'm not busy typing letters of the alphabet into a computer, I'm usually crafting images for slideshows or touching up scans or photos for illustrations. I normally use a Photoshop-like application for this task on a modern PC, but what was the closest equivalent available for the 5150?
To do any decent image composition or editing on a computer, I first needed to hook up a mouse. This turned out to be a cinch. I had plenty of mice to choose from, including official Microsoft models that operated through a PC's serial port.
After simply plugging in the mouse, I loaded up a mouse driver (remember "mouse.com"?) from an official Microsoft Mouse disk, and ka-boom, it worked.
For a computer paint program, I first turned to an early DOS version of Microsoft Paintbrush that I happened to have. Unfortunately, it spit out some weird errors upon execution (possibly due to a corrupt disk), so I had to find something else. I combed the Internet for some vintage shareware equivalents, and found two from the 5150-era: FingerPaint and TPaint.
TPaint worked better for me, readily supporting both the CGA card in the 5150 and my Microsoft mouse. It allowed me to paint in four whole colors. I did not draw the picture of the sailboat you see in the photo; that came with the program.
With only four colors available, it was clear that I wouldn't be creating any PCWorld slideshows with TPaint. Score one for modern computing.
So, is it possible to use a 1981 IBM PC 5150 for real work? I'd say yes--for just about any text-based task. It can handle word processing, spreadsheets, and simple databases with aplomb. That isn't surprising, since IBM built the PC to do just that. In fact, I typed a significant portion of this article on the IBM PC itself.
Obviously, the 5150's greatest shortcoming lies in the image creation and editing department. The CGA card holds it back quite a bit, but at least you can easily use a mouse on the system. Theoretically, I could ramp up graphical performance a bit by switching back to the V20 CPU and installing an early VGA card, a hard drive, and, yes, even Windows 3.0 (the last version that can run on an 8088). But boy, would it be slow with a 4.77MHz CPU.
The PC's second-greatest weakness, in modern terms, is probably Web browsing functionality. The modern Web is just not meant for an ancient machine. Still, it's reassuring to know that I could perform some basic tasks on the Internet if necessary.
One impressive factor in this experiment is the durability of the machine itself. The very fact that I could use a 30-year-old computer--including the original keyboard, monitor, and disk drive--with a sense of stability and confidence is a strong testament to the quality of IBM's hardware engineering. Such a feat is rarely possible on a low-cost home PC of the same vintage.
I obviously won’t use the 5150 for daily work from now on. But I am satisfied that I gave this very important classic machine another well-deserved day in the sun. I’m a computer collector, and many of us like to think that a computer wants to feel useful, even in old age. In that stuffy back room, it was nice to give this old-timer a few more productive workdays.