IBM PCjr Accelerator – MCL86jr

I have finished tweaking the performance of this card and Im happy to say that it increases the PCjr’s speed by nearly 6X, over 4X faster than an IBM PC/XT, and about as fast as the 8Mhz IBM PC AT! I took some screenshots below of the latest performance numbers.

I uploaded the FPGA and board files to Github:

https://github.com/MicroCoreLabs/Projects/tree/master/MCL86jr

The FPGA is a Xilinx Spartan-6 which contains the MCL86 microsequencer-based 8088 core and two SRAM controllers for the 512KB of SRAM on the board. The slow controller runs at the bus speed of the PCJr so that when using the cycle accurate mode it will perform the same as the regular physical DRAM on the PCjr’s motherboard or side-card. When the MCL86jr is put into “unlocked” or non-cycle accurate mode, it then uses a fast SRAM controller which accesses the SRAM the fastest possible speed of around 50ns! It is the combination of this fast controller and the CPU running in non-cycle accurate mode that allows the MCL86jr to boost the PCjr’s speed by more than almost 6X!

The schematics and layout was done using KiCad and the board was manufactured and assembled by PCBWay with a total total cost per board of around $50.

I was able to successfully test a number software packages and tools which will be listed at the bottom. There are a few issues that arose when using the MCL86jr Accelerator board in the PCjr. One is that the PCjr’s internal diagnostics, which are started by pressing Ctrl-Ins-Del do not all work. Another is that the PCjr’s BASIC cartridge does not work, but the BASIC included with any DOS version does work. So does the PCjr’s internal cassette BASIC. I believe both of these issues are due to speed differences which IBM is checking. Perhaps it is a way to ensure this version of BASIC will only run on a PCjr and not any other machine…

The MCL86jr will boot into cycle-accurate mode with an additional 512KB of RAM which brings the total memory to the maximum of 640KB. To run in accelerated mode the user can run a small DOS program called MCL_FAST.COM. The program MCL_SLOW.COM will bring the CPU back into cycle-accurate mode.

Software verified to work:

DOS 1.0
DOS 2.0
DOS 2.1
DOS 3.1
DOS 3.2
ITT DOS 2.11
BASIC ** Disk version with PCjr cartridge BASIC not installed
BASICA

IBM PCjr Sampler
PrintMaster Plus
Exploring the IBM PCjr

PC-TALK III
IBM Macro Assembler 1.0
Turbo Pascal 2.08 — Runs obviously faster in “unlocked” mode
Norton Utilities 3.0

Pango
Archon
Lode Runner
Space Invaders
Jumpman
King’s Quest I
Gato
Shamus
Zork
Microsoft Flight Simulator II
Tapper
Congo Bongo

IBM PCjr Accelerator – MCL86jr