An x86 Raspberry Pi?
The Raspberry Pi 4 is a beast among single board computers, with a quad core Cortex-A72 processor running at 1.5 GHz, and up to 8 GB of RAM. But even still, many of us run into situations where we simply need more power than is available. Engineer Robin Grosset has apparently felt this pain personally, so he built a Raspberry Pi HAT with a coprocessor that can give the board that extra oomph needed to tear through the more demanding tasks that you throw at it.
For clarification, when I say demanding tasks, by that I mean tasks that are not at all demanding — not even slightly. That is because the processor Grosset has added to the Raspberry Pi is the Intel 8086, which was first introduced way back in 1978. It is certainly not a modern-day powerhouse, but it is nearly identical to the much-loved 8088 processor found in the very first IBM Personal Computer, and also was the first chip to implement the x86 instruction set architecture that is still in heavy use today.
Like many other processors of the era, the 8086 PDIP package has pins for the processor to specify address locations that it needs to either read from or write to, and various other control lines. Data is transferred between the processor and other peripherals (e.g.: RAM, ROM, audio/video chips) via a 16 bit wide data bus. By supplying the clock signal with a GPIO pin on the Raspberry Pi, one can then read the values on the address bus, and interpret them in the context of the state of the other control pin values to determine what state the CPU is in. It is then possible to put an appropriate signal on the data lines (or read from them) through the Raspberry Pi GPIO pins to simulate peripheral devices. In this way, Grosset was able to send the 8086 program instructions, and also simulate an external RAM chip.
The HAT was demonstrated running MS-DOS Version 6.22 through a custom terminal application running on the Raspberry Pi. It is not exactly fast, with the operating speed estimated at roughly 0.3 MHz, which may be a somewhat generous estimate given the slow speed at which a directory listing prints in the demonstration video. More retro fun may be available in the future, with a CGA/VGA graphics emulator in the works for the HAT. If that project comes to fruition, it will be possible to fire up Zork or Defender, running on original hardware, albeit very slowly — the 8086 was typically clocked between 5 and 16 MHz in computers of the era.
Grosset has made his work available on Github under the GPL 3.0 license, so be sure to check it out if you have an interest in retro computing or computer engineering. 8086 CPUs, and pin-compatible processors like the NEC V30, can still be purchased fairly inexpensively from online retailers and auction sites if you do not have one in your parts bin already.