Gertieboard Is an IBM PC/XT Clone That Blends Vintage and Modern Hardware

· Hackster.io

3 min read Original article ↗

Retro computing is a very popular hobby these days. For some, playing with vintage machines is a nice way to take a stroll down memory lane. For others, it’s an escape to a simpler time when software was written to be useful and fun without massive bloat and over-the-top interfaces. However, as the years go by, the original hardware is becoming harder to find. This problem is only going to get worse in the years ahead.

There are some workarounds. You could, for instance, use DOSBox to play old MS-DOS PC games on a modern computer. But for purists, emulation isn’t good enough — they want the real deal. Hardware hacker Mathijs van den Berg has come up with another solution that sits somewhere between emulation and real hardware called Gertieboard. It is an IBM PC/XT-class computer with an authentic NEC V20 processor. The supporting hardware has been reproduced in an FPGA, so there is less vintage equipment to track down.

Playing Prince of Persia on the board (📷: Mathijs van den Berg)

If you’re not familiar with the NEC V20, it is pin- and object-code-compatible with the Intel 8088 chip that famously powered the early IBM PCs. It has a little extra oomph, so it was a common PC upgrade back in the day.

In Gertieboard, that V20 runs at 10 MHz and does all the actual computing. A Cyclone IV FPGA on a Terasic DE0-Nano takes the place of the collection of support chips that would have surrounded the processor in a real PC. It implements the memory controller, programmable interrupt controller, programmable interval timer, DMA controller, floppy controller, keyboard controller, and video hardware. The latter currently supports CGA and EGA, which is enough to get games like Commander Keen 4 and King’s Quest I running.

Van den Berg also gave Gertieboard something an original PC/XT could never have had: native USB support. There isn't a conventional USB host controller on the board; instead, the D+ and D- lines connect directly to FPGA pins, where custom logic handles the low-level USB protocol. Class drivers written in 8088 assembly reside in the BIOS.

Who needs a GUI? (📷: Mathijs van den Berg)

That makes it possible to use modern peripherals without DOS drivers. A USB flash drive serves as the C: hard drive, with up to 504 MB of addressable storage. A USB floppy drive can become B: and read real 720 KB and 1.44 MB diskettes. If that drive isn't connected at boot, B: instead maps to a 1.44 MB volume stored in onboard SPI flash. Drive A: is stranger still, as it can be supplied with floppy images from a host computer over a 1 MBaud serial connection.

USB also provides Gertieboard's AdLib audio output. FPGA logic currently approximates the OPL2 channels and renders 48 kHz PCM audio, then streams it to a USB sound adapter. The V20 only needs to write to the usual OPL registers. After that, the FPGA and USB hardware handle playback without CPU involvement, allowing sound to continue when a game takes control of the machine.

Gertieboard has been released under an MIT license. For more details, check out the project’s GitHub repository.

Nick Bild

R&D, creativity, and building the next big thing you never knew you wanted are my specialties.