IBM PCjr

The PCjr, launched in March of 1984, was the first home computer produced by IBM. IBM envisioned that home users wanted a game machine that could also be used by business professionals at home.

Background

The PCjr had major problems in the market. IBM likely got into the home computer market a bit early for such a staid company. They already had the iconic IBM PC (Model 5150) on the market but sold at a much higher price point and targeted at businesses. At the same time, Apple was selling the Apple II, straddling the school, home, and business markets. The Commodore 64 was a wild success in the home, mostly as a game machine, but was pretty useless as a business machine for all but the simplest tasks.

As a result, IBM attempted to enter the home market with a lower-cost computer the PCjr (Model 4860), and, in doing so, created several incompatibilities, many on purpose, that hurt the success of the computer.

But more than anything, IBM just didn’t understand who the buyer was and what they were going to do with the machine. An unusual faux pas for big blue.

The PCjr had cartridge slots and joystick ports like mass-market home computers of the time. It was envisioned that in the base system, buyers would use a cassette tape to load programs, and the base RAM was 64K bytes. All these assumptions were woefully outdated by the time the machine launched.

Over the three years, the PCjr was marketed and sold; it went through several transitions attempting to make it more appealing to would-be customers. The most notable change was the replacement of the chicklet keyboard, universally panned, with an almost equally bad rubber dome design. The machine had a single diskette drive that was sold with the enhanced machine bundle that included an additional 64K of RAM for a total of 128K RAM, likely the only configuration that most owners ended up buying as IBM continued to bundle more and more into the machine to make it more appealing for consumers.

All the connectors on the back are burg type and are unique to the PCjr. Using more standard peripherals like a CGA monitor or other keyboards was impossible, or at least very difficult, at the time.

Very few software titles ended up being released on cartridge, and there was not a Hard disk option for the machine (at least produced by IBM). The machine lacked a DMA controller, not allowing keyboard input during diskette drive access, resulting in an annoying beep from the system. The original IBM PC (model 5150) had a DMA controller, used mostly for DRAM refresh. This was accomplished on the PCjr with the Video circuitry in the first 128KB of memory. Memory sidecars offered later had to provide their own means of DRAM refresh, complicating the design of those devices.

IBM eventually managed to sell 240,000 PCjrs after deep discounting and bundling. Huge supplies of upgrades saturated the markets for decades to come.

Despite all the machine's shortcomings, there is a small but strong following for the PCjr in the retro world. Part of this is due to the continued availability of parts, as IBM produced a lot of upgrades that they believed would be purchased by buyers at the time.

Most upgrades were likely bundled, and those packaged for consumer sales eventually ended up in recycling centers, now available as new, old stock parts (old, unused parts sold as new) unopened in original packaging. Many parts, including the CRT monitor and joysticks, can still be readily purchased today, unopened and in new condition. (lots and lots of joysticks.)

The PCjr was surprisingly robust except for the under-engineered and often underpowered power supply board, which often failed. Original, unopened power supply boards are still available on eBay, as are joysticks, keyboards, and parallel port sidecars.

Acquisition

The PCjr was the second computer I owned. My first was the Commodore 64.

I bought my original PCjr machine in 1984 while in college. I wanted to pursue software development beyond BASIC programming.  I wanted an IBM PC, but the cost was prohibitive. The PCjr was being deeply discounted, I didn’t play games, so I bought it.

The PCjr was also the second retro computer I decided to restore after restoring a Commodore 64 also in my collection.

I purchased this PCjr on eBay in 2020, and as I recall, I paid around $60. It was advertised as not powering on and did not have a floppy drive. It was pretty cheap (I have a second one I bought later for even less), so I figured if it didn’t work out, nothing really was lost.

If I had to do it again, I would probably be a bit pickier about which one I bought as they are available quite often on eBay in a variety of conditions and price points.

Condition

When I received the PCjr, it was not working. That was fine, as it was advertised as not working. When I took the cover off, it was obvious what the problem, or, at least, one problem was. A capacitor on the power supply board' was literally blown apart (you might be able to see it below). The inside of the machine was covered in black soot. It must have been a dramatic situation when that capacitor cracked open!

The machine did not have a floppy diskette drive installed, also as advertised, although it most certainly was sold with one originally. It had a floppy drive controller card installed, so it certainly had a floppy drive at one time, as the card comes with the floppy drive either factory installed or as an upgrade.

I ordered a new, old stock power supply card on eBay for $30. The power supply board probably would have been a fairly easy fix, but this was my first restore, so I took the easy way out. I also purchased a new, old stock PCjr CGA monitor.

When I got the new, old stock power supply board, it was considerably larger and rated at 45W, the original was rated at 33W. Clearly, another price-cutting effort by IBM that went bad, forcing a rework.

If you are in need of a new power supply, there’s also another option. A guy in PCjr community designed a picoATX style supply and sells a kit for it here. I haven’t tried it, but others have, and it appears to work well.

I took the main unit apart as everything that was usable inside needed a major cleaning. When the power supply capacitor failed, black soot was spread to every internal component. I scrubbed the inside of the empty plastic case and ran it through the dishwasher.

Bootup

After cleaning everything up, I installed the motherboard in the case and installed the new power supply board. I attached the PCjr monitor with its proprietary cable to the machine and placed the rubber dome keyboard in front of the unit after replacing the keyboard battery. The Keyboard uses an IR link or an optional telephone-like cable.

The machine booted into an error screen with Error codes B and H.

After some research, it turned out that Error B is caused when communication between the wireless keyboard and the system unit is not working. I changed the battery in the keyboard; however, that did not help. I later discovered that the IR unit on the motherboard was non-functional. I created a keyboard cable, and that solved the problem.

Error H had to do with the lack of a functional floppy diskette drive. This would be solved later.

I was happy to see that the machine would boot into the BASIC cartridge once the keyboard issue was solved. The PCjr has service screens that can be obtained by holding <CTRL><ALT><INS> during boot up.

There are also undocumented manufacturing burn-in tests that can be obtained by using joystick buttons once in the service screens. They are all documented on Brutman’s PCjr Forum.

Wait, is that the original Keyboard?

No, this is not the original PCjr Keyboard. To be precise, there were two keyboards available for the PCjr, and many people had both. That was because the original "chicklet" keyboard was simply God-awful. IBM offered a replacement for free that was better (lower image to the right), but still pretty poor in retrospect. When I got my original PCjr in 1984, mine came with just the second (lower), rubber-dome type keyboard. I used the Keyboard for years, and it was fine. It feels similar to the Compaq Portable II keyboard. I find them both a little too stiff feeling.

The Keyboard pictured here (upper image to the right) with my PCjr is the IBM SSK (Space Saving Keyboard). It's basically the famous Model M, patented buckling spring design, without the numeric keypad. It's a bit rare and in high demand in the collector world. I paid $250 for this one, which I thought was crazy, but I routinely see them now for $500. It's a great keyboard. As I understand it, it was more of an industrial keyboard that was often delivered to Industry as part of factory systems. The automotive industry used them on “roll-around” workstations where the wider size of the model M was a problem. Some are gray in color, but most are the standard IBM Color Scheme. You can regularly find auctions on eBay where the best versions go for $500 or more. (the blue badge versions are OG).

Why is it attached to my PCjr?

Because, in my mind, it’s the Keyboard that “should have” been provided with the PCjr. It's the right size, and it matches the color scheme. It's a clicky joy to use. It's perfect. Perhaps a little too loud for a computer that is designed to be in the home, but it's great, and I've decided this is where it belongs in my collection. Pound for pound it’s probably one of the more valuable things in the collection (although it weighs a lot!)

Floppy Diskette Drive Replacement

My system did not come with a floppy diskette drive, but it did come with a floppy drive controller card. I looked around on eBay for a Qume 142 floppy diskette drive, and much to my surprise, I found a PCjr floppy drive upgrade kit as new, old stock.

The price was around $20, so I bought it. When it arrived, it was clear this kit was designed for people that had bought a base mode PCjr with no floppy drive (probably two people, ever).

Years later, when doing my IBM 5155 portable restore, I realized that at one time, there were a lot of these upgrade kits available, and to be honest, these kits saved the 5155 restore as the same Qume 142 diskette drive was used on the 5155 portable as well. The kit includes a floppy disk controller card, a Qume 142 half-height floppy diskette drive, and a plastic sled with a fan on the back. 

I installed the floppy diskette drive using the original controller card, but the machine didn't seem to recognize that the floppy drive was installed. Since I had a new, old stock controller card that came with the floppy diskette drive kit, I installed the new card, and the computer booted right up. Perhaps that capacitor took out a few things when it blew!

Upgrading your PCjr was not easy

Anyone that owned a PCjr, back in the day, knows how difficult it was to upgrade the machine in any meaningful way. Even adding a second floppy drive was very difficult as it was not designed to ever have one.

A few companies, Racore, Rapport, and Techmar, released expansion chassis' that would install on top of the machine and contained a second floppy diskette drive. As part of the upgrade kit, you received the second floppy diskette drive, a new floppy diskette controller card that would recognize two drives (the original was hobbled), and a second power supply brick and second internal power supply board. 

It was an expensive upgrade, a bit clumsy, and probably made people think about moving on to another computer entirely. I had the Racore Drive Two, a second floppy drive upgrade, when I was in college. The upgrade worked well, although the price was more than half the cost of the machine in the first place.

There were also Hard Disk variants of some of these products that were even more expensive. That was about all you could do for the machine back then.

Read on, it’s a whole new world now…

jr-IDE, the Miracle Sidecar

Now 39 years later, there’s a curious enthusiast-developed card that was created for the PCjr by Alan Hightower and brainstormed on the Brutman.com PCjr forum around 2011.

Mike Brutman was experimenting with grafting an XTIDE ISA board to the PCjr sidecar bus, which has most of the required IDE signals.

jr-IDE is a PCjr Sidecar design that brings the same capabilities of an XTIDE to the PCjr through a custom board and hacked version of the XT-IDE extension BIOS.

The conception of this device is an interesting read and chronicled on Brutman’s forum here.

http://www.brutman.com/forums/viewtopic.php?f=1&t=180

The XTIDE project itself is another enthusiast-developed project that allows older PCs to use an IDE Hard Disk or a Compact Flash card as a Hard Disk. The jr-IDE card uses an extension BIOS code modified by Mike, along with two custom CPLD’s designed by Alan, that implement functionality similar to the XT-IDE but adds additional functionality required for the PCjr. In addition, the board layout and connections are such that the card can be installed in a user-supplied Sidecar Plastic shell. There is also a 3D STL file floating around on the web to allow you to print your own sidecar shell here.

In a nutshell, the jr-IDE Sidecar is a PCjr Sidecar board design that fixes a lot (not all) of the problems with PCjr design. jr-IDE contains 1M of static RAM that boosts the PCjr to 736K of memory. the PCjr only refreshed DRAM in the first 128K of RAM using the video circuitry, requiring sidecar memory expansion to implement DRAM refresh on their own. The jr-IDE uses SRAM that does not need refresh cycles, making memory access slightly faster.

jr-IDE also contains an IDE connector that can then be connected to an IDE hard disk. The board also contains a real-time clock chip and battery socket, a 7-segment display that shows POST codes during boot up, and an extension 512K ROM that makes all these things seamlessly work with the PCjr.

It's pretty common to attach a CF2IDE board to the IDE connector and use a Compact Flash card as a hard disk.  Using both together fits nicely inside the plastic SideCar housing.

The jr-IDE is literally the Swiss army knife that makes the PCjr fun to use. The card was designed in 2011, and for years the card was available as a kit, produced in limited production runs by Alan. Today you can purchase a later revision of the card from TexElec. I bought my card from TexElec, and I highly suggest doing the same if you have a PCjr in your collection.

After obtaining the card and installing the battery, I booted the PCjr and saw the magic of the expansion ROM take control of the box. I booted from a DOS 3 floppy I had obtained online and partitioned the Compact Flash card and formatted the compact flash hard diskette. I installed a patched DOS 5 (more on this later) and configured the JRCONFIG.SYS and CONFIG.SYS files that make it all work.

When you add a sidecar to a PCjr, you remove the plastic cover on the last sidecar and then attach it to the new one. The little posts that hold the cover in place break. I believe all of them in the world are broken now.

If you need to fix a broken cover, here is a 3D STL file to print new posts that attach to the sidecar panel.

Understanding the Wacky PCjr Memory Map

To better understand the limitations and some of the functionality of jr-IDE, it’s helpful to understand at a high level how the base PCjr was delivered. The PCjr came with 64K of memory on the motherboard. Additionally, there is a custom card inside the case that adds 64K Bytes of expansion memory. I doubt the machine was ever sold without this extra 64K of memory.

When released, the machine was advertised only to support 128K of memory, likely because of the DRAM refresh design choice. After release, several enterprising companies found that memory could be added up to 640K by using sidecar expansion. And later, IBM itself released sidecar expansion memory.

Perhaps more surprising is that sidecar memory is faster than system memory. The PCjr, unlike the 5150, used system memory for the CGA frame buffer. This was a cost-cutting measure. The PCjr video circuity maps the 32K of video memory found on a standard PC into a lower address range in the first 128K of standard memory on the PCjr.  Software still thinks video RAM is in the conventional location, but in reality, it is not.

This shared system and video memory require that the CPU and the video circuitry share this resource which required modifications to be made to how they both access that memory.

For this design to work, CPU wait-states had to be introduced so the CPU would not access that memory at the same time the video circuity was accessing it.

The video framebuffer was always located in the lower memory (even though they appeared to software as being at a standard address), so true upper memory addresses did not require wait-states, hence accessing memory above 128K was not subject to wait-states and was faster to access by 15-20%. 

The JRCONFIG.SYS driver takes advantage of this PCjr' feature and maps all of DOS system memory above the first 128K of memory. A properly configured PCjr with a jr-IDE is much faster than a stock PCjr and, in fact, faster than the original IBM PC by a bit (see bench marks to the right).

Typically, JRCONFIG.SYS device driver places a RAM disk in lower memory with the frame buffer, and DOS uses all the memory above 128K leaving 640K for DOS programs.

Creating a Bootable CF Card with patched DOS 5

The PCjr originally came with DOS 2.1, released specifically to support the PCjr. A jr-IDE upgraded machine can run versions of DOS up to but not including DOS 5 unmodified. There is an easy-to-apply patch for DOS 5, however. The patch patches the DOS boot record to look at the total memory installed rather than the value the BIOS reports. This is required due to the wacky memory map described above.

Here is a document I created on how to create a bootable CF Card with patched DOS 5.

A more detailed explanation of the patch is located on Brutman's site.

Final Thoughts

Although the PCjr was a commercial failure, it has an amazingly strong fan base, although probably small. It has the best support forums of any machine I have restored. That is largely due to Mike Brutman and the excellent resources he has provided. A dedicated group of people who frequent the forum is the lifeblood of the continued progress of the group.

PCjrs are still reasonably easy to come by, and they generally cosmetically age well, as do most IBM machines. The PCjr limitations were by design, but the fan base is so strong that the machine has been significantly improved (fixed) from its original configuration.

The PCjr is not the machine for every collector. If you restore the computer to its original configuration, it's pretty much useless. If you add the jr-IDE, which is not expensive, and put a little effort into it, it's a fine DOS retro machine. It's not a game machine but more of an experience machine. I use mine to run Turbo Pascal 2.0 and do some assembly programming for fun, and for those purposes, it's more than fine.

The PCjr was the second machine I restored after the Commodore 64. This was also the order in which I originally owned these machines. I still love the design language of the little computer, and it was approachable, back in the day, especially for a box IBM designed. I suspect I was not the only PCjr buyer that came from a C64 or perhaps an Atari first, even though all these machines are technically contemporaries. 

I have a lot of DOS boxes now, mostly all portables, but I love this little computer even with its fatal flaws. The PCjr has received more post-life love from its fans than any other computer in my collection.

Gallery