Ted Fried Rewrites History with a Motorola 68000-Powered IBM PC, Thanks to a Teensy 4.1 Mod
Building on an earlier project to replace an Intel 8088 with an emulated version, this novel hybrid blends two pieces of computing history.
Embedded hardware engineer and vintage computing enthusiast Ted Fried has built what is, to the best of our knowledge, the world's first original IBM PC to be powered by a Motorola 68000 CPU — or, rather, an emulation of one running on a Teensy 4.1 board.
"I was wondering what the IBM Personal Computer would have been like if they had chosen the Motorola 68000 instead of the Intel 8088," Fried explains, "so I used my MCL86+ to emulate the 68000 and find out!"
Released in 1981, the IBM Personal Computer — also known as the IBM 5150 or simply the IBM PC — was the company's first attempt to capitalize on growing interest for home computers. Built on an open architecture, which would allow rivals to create "IBM compatible" clones with lower prices and higher specifications and push IBM to the fringes of the market, the IBM PC was powered by Intel's eight-bit data width 8088 running at 4.77MHz.
It's this chip which Fried has replaced with an emulated Motorola 68000, a 16-bit data-width chip more usually associated with rival machines like the Apple Macintosh and the Commodore Amiga. "The MCL86+ is a board which uses a Teensy 4.1 to emulate a microprocessor in C code as well as use its GPIOs [General-Purpose Inputs/Outputs] to emulate the local bus of the Intel 8088," Fried explains of the approach for building the bizarre hybrid. "It can be used as a drop-in replacement for the Intel 8088 and can be cycle accurate as well as run in accelerated modes.
"For this project I swapped the 8088 emulation code with my MCL68 code which emulates the Motorola 68000. The 8088 local bus emulation was kept so that all of the 68000’s memory reads and writes could pass through to the IBM motherboard. Emulating the 68000 is fine, but not very useful without an operating system or some other application to run on it. I chose to use Gordon Brandley’s 68k BASIC which was published in Dr. Dobbs Journal back in 1985."
The resulting IBM 68000 PC still uses IBM's original peripherals, video output, and memory, and runs surprisingly well. "I ran a few tests and it seems that there is not much of a performance difference between running an 8088 and a 68000 on the IBM motherboard," Fried says, "which uses 8-bit chips exclusively. If IBM had chosen the 68000 they may actually have used the 68008 which is a 68000 with an 8-bit local bus interface. Perhaps this chip was not available at the time IBM's project, code-named 'Chess,' was in development."
This isn't the first time Fried has replaced a CPU with a Teensy board. Late last year we covered the MCL64, a Teensy 4.1-based upgrade designed for the popular Commodore 64 — emulating a MOS 6502 with the option to run cycle-accurate or in an accelerated mode. Fried has also worked with FPGAs for much the same purpose, using an AMD Xilinx Spartan-6 board to accelerate the IBM PCjr with a soft-core compatible with the Intel 8088.
Fried's full write-up is available on his blog.
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.