When the PCjr was designed hard drives were a very
found only on business class computers. IBM first started selling a
10MB hard drive with the introduction of the PC XT in 1983. In 1984 the
PC AT was introduced with an option for a 20MB hard drive. The PCjr,
being designed for
the home market, had no ability to add a hard drive and even the single
floppy drive was an option.
Hard drives are useful though; shuffling floppy diskettes on a single
drive system is an exercise in frustration. People found ways to add a
second or third floppy drive to their system, improving
the usability of the machine. But the speed and capacity of a hard
drive is what we all lusted for … a 10MB unit would hold the
equivalent of 30 floppy diskettes, while a 20MB unit was basically
infinite storage. Hard drives were lightning fast and you spent much
less time moving diskettes back and forth by hand.
After a few years hard drives became more affordable in the market but
hard drives for the PCjr remained unusual. The PCjr had a few problems
working against it:
Even with these challenges hard drive options became available. The
March 1987 edition of "The Junior Report" featured
advertisements for 4 different types of hard drive systems offering
10MB and 20MB options:
- IBM basically orphaned the machine in 1985. Even with many
in use, it was a dead-end market.
- The machine physically did not have room to house a hard
drive or a controller; any hard drive attachment would have to be
physically make the PCjr larger using an expansion chassis.
- The machine was non-standard; you could not use standard
ISA controller cards. Every controller had to be designed
specifically for the PCjr.
- Given the option to add a hard drive to a PCjr or just sell
the machine and buy a low-end PC XT clone, many people chose to do the
later as it was more cost effective and it got them out of the PCjr
compatibility hell that IBM had created.
Imagine paying $600 for a 10MB hard drive and controller … in
1987. In 2018 that would be close to $1340.
- Paul Rau consulting: 20MB external hard drive for $699
- Computer Reset (still in business as of 2017):
- Racore expansion chassis with 10MB drive and DMA for $875
or 20MB for $985
- External drives with interface card: $650 for 10MB and
$750 for 20MB
- SPC Diskitjr: $595 for 10MB, $695 for 20MB, or $245 for a
The SPC Diskitjr
The only hard drives that I have run into on a PCjr were homebrew units
adapted from a PC XT controller or the very nice SCSI sidecar
attachments that came later on from PC Enterprises. Recently I was
thrilled to adopt an SPC Diskitjr from the original owner - I had seen
the advertisements but I have never seen or heard of one in the wild.
First, the advertisement from the March 1987 edition of "The Junior
And here is what one looks like 30+ years later:
Looking past the cluttered workbench, this is what you are looking at:
the drive would be in a more professional looking enclosure as shown in
the original advertisement. If you were really lucky you had an
expansion chassis like the Racore Drive II to house the hard drive.
- A PCjr with a 128KB sidecar (closest to the machine) and
the SPC Diskitjr hard drive interface sidecar.
- A Seagate ST-238R 30MB RLL hard drive attached via a ribbon
cable to the SPC sidecar. (The drive is being used as a 20MB MFM drive.)
- An external power supply to power the drive and an external
fan to keep it cool.
- My usual 20GB Maxtor drive tucked in back, disconnected and
unused for this experiment.
Here is an image of the bare controller card:
- The controller card uses a Western Digital 2010 Winchester
disk controller chip. ("Winchester" is the old term for a sealed disk
unit consisting of heads and platters.)
controller is capable of driving two MFM hard drives. (Note the two
sets of data pins at the lower right corner; one vertical and one at a
- The controller card does not have a BIOS extension. To use
drive you must boot from the floppy drive and load a device driver that
installs a block device driver, similar to the way a RAM disk or Zip
drive is installed.
The setup program uses a text file as the source of hard drive
parameter information. The parameters for a drive generally look like
Seagate ST225 : 614 : 300 : 615 : 3 : 0 : 1
I don't have documentation for the parameters, but
comparing the drive specifications to the parameters one can deduce the
-1 : 0 : 6
There are other formats to describe drives too; they have additional
lines of data. I am still trying to decode what the data fields control.
- Maximum cylinder number (based on 615 cylinders for the
drive numbered 0 to 614)
- Write Precompensation?
- Reduced Write Current?
- Maximum head number (based on 4 heads numbered 0 to 3)
- Unknown, but always seems to be 0
- Step Rate Code (usually set to 1, rarely set to 2.)
- Unknown, but always set to zero. (Possibly an end of record
All of the files that I have for the software can be found in Diskitjr.zip. If you have other
files or documentation please let me know and I'll update the file and
A special thanks to Paul W. for making the Diskitjr available for me to
look at. I thought I was going to be debugging a dead piece of
hardware; it turned out to be a trivial problem. I have since adopted
it and now it has joined the misfit PCjr family. :-)