Can you do real work with the 30-year-old IBM 5150?

Our intrepid reporter spends a week trying to write, browse the Web, edit photos, and even tweet on IBM's first PC.

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.

ibm1.jpg

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.

[7 days without social media and 7 days using only keyboard shortcuts: No mouse, no trackpad, no problem?]

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:

  • Despite the vast improvements in computing power over the years, the basic job of a PC isn't fundamentally different today from what it was 30 years ago.
  • 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

ibm2.jpg

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% 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.

ibm3.jpg

The V20, originally designed by NEC, was a pin-compatible enhancement of the 8088 that could run certain programs 30% 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.

ibm4.jpg

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.

ibm5.jpg

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.

ibm6.jpg

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!

ibm7.jpg

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.

ibm8.jpg

For the second image, I decided to display something a little more modern in monochrome.

ibm9.jpg

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."

ibm10.jpg

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.

ibm11.jpg

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.

ibm12.jpg

In total, I visited two sites: Google and PCWorld.com.

ibm13.jpg

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.

1 2 Page
Insider: How the basic tech behind the Internet works
Join the discussion
Be the first to comment on this article. Our Commenting Policies