Why FPGAs are great for retro gaming emulation


Using FPGAs to replicate classic video game systems is a practice that has been gaining momentum in recent years, but how do these projects differ from standard software emulations? And is the high entry price worth it for most users?

What does FPGA mean?

FPGA stands for Field Programmable Gate Array, a type of integrated circuit that can be reconfigured after manufacture. Unlike traditional computer chips, FPGAs use programmable logic blocks and interconnects that can be reconfigured for a variety of different purposes.

Essentially, an FPGA can be reprogrammed to act as any type of digital circuit. This can be done over and over again by simply loading a new configuration into RAM to emulate a different chip type. While older FPGAs used schematics, newer ones instead use text-based programming to describe behavior.

Close-up of a Xilinx FPGA integrated circuit.
Remus Rigo/Shutterstock.com

These chips have a variety of different applications, most notably in AI acceleration and machine learning. Microsoft has partnered with Intel to improve Bing Search using Intel’s Arria family of FPGAs. Used in signal and image processing systems, they play a unique role in helping designers validate concepts in the early stages of development.

Because FPGAs can be reprogrammed to behave like different types of circuits over and over again, they’re also perfect for hardware emulation of video games. Rather than running an emulator in software, FPGAs effectively emulate various video game systems at the hardware level.

TIED TOGETHER: What is machine learning?

How does FPGA system emulation work?

FPGA emulation requires someone to write a “core” for the hardware that reproduces the behavior of the original hardware. This process often involves reverse engineering the original hardware and even “decapping,” which involves removing the protective cover of an integrated heat spreader to reveal the chip inside.

This allows visual inspection of the integrated circuit to aid in the manufacture of a working FPGA core. This delicate process requires the use of chemicals like sulfuric acid and acetone, heat, respirators, and a lot of patience. Then reference images are taken and cores are written in a hardware description language (HDL) that can be interpreted by an FPGA.

The process of learning, reverse engineering, and writing an FPGA core can take months and a lot of dedication. Impressively, many of these cores are then made available for free in the interest of hardware preservation. Cores are usually released in a beta stage so they can be improved and development can take years.

Despite the emulation of original hardware, FPGA emulation is just as error-prone as software emulation. Cores are regularly updated as more fixes and changes are implemented in the pursuit of perfect hardware emulation.

What are the advantages of FPGA?

The FPGA hardware emulation comes closest to playing on an original system and therefore offers an authentic experience. This may include quirks that were present on the original hardware, provided the core delivers a 1:1 replica of the original. Issues such as latency that can occur with software emulators are eliminated as the emulation takes place at a much lower (hardware) level.

Original hardware can be unreliable, especially as it ages. Reproducing the behavior of original circuits with an FPGA is a means of preserving the original hardware and can be used over and over again. When these projects go open source, anyone can benefit provided they have the necessary FPGA hardware.

A vintage Commodore Amiga A500 on a white background.
Susan Edmondson/Shutterstock.com

For most people, owning a piece of hardware that can be reprogrammed on the fly is more convenient. Original hardware can be expensive, take up space, and be hard to find on rare computers and arcade boards. This hardware isn’t getting any younger, and since production has long since ceased, it can be difficult to repair or replace.

Because the system is emulated at the hardware level, systems should be able to interface with almost any hardware designed for that platform. This includes original cartridges, peripherals, and accessories that weren’t necessarily considered when the core was written.

This differs from software emulators, which have to take into account the different devices the operator wants to use (such as a light gun).

MiSTer: FPGA hardware emulation for the home

MiSTer FPGA is an open source FPGA project dedicated to emulation and preservation of consoles, home computers and gaming machines. It is the most successful project of its kind, with hundreds of cores available and under active development.

The only “required” component to run a MiSTer FPGA is the DE10-Nano, a small Raspberry Pi-like device containing a Cyclone V system-on-chip. The board can be expanded with additional RAM, a USB hub, and input/output expanders that add functionality such as VGA output, SCART output, or JAMMA output for arcade cabinets.

EN-10 Nano FPGA
Terasic Inc

To start, you’ll need a DE10 nano, a case, and some cooling. A RAM expansion is required for more advanced emulation. You can extend your MiSTer FPGA setup with add-on modules from resellers such as MiSTer Addons or Ultimate MiSTer according to your intended use. You then need to set up your SD card with the latest version of MiSTer.

The process is more complicated than using “traditional” emulators, but still requires data files and ROMs, just like a software emulator. If you are an enthusiast who wants an experience that is comparable to original hardware, there is nothing better than MiSTer. For others it is a lot of cost to achieve something that can be done for free via software emulation.

TIED TOGETHER: Here’s how to play your favorite NES, SNES and other retro games on your PC with an emulator

Analogue Pocket: FPGA hardware emulation on the go

The Analogue Pocket is a portable, multi-system handheld that uses FPGA emulation to communicate with original Game Boy, Game Boy Color, and Game Boy Advance cartridges. There are also add-on cartridge adapters for Game Gear, Neo Geo Pocket, Atari Lynx, and TurboGrafx-16 systems.

Analog portable pocket FPGA

The system supports modern advances like the ability to pause gameplay by putting the console to sleep. The Pocket has a beautiful display that replicates features like pixel grid patterns and LCD backlight effects. It can also be connected to a dock (sold separately) for playback on a TV via HDMI.

For $219.99, it’s a gorgeous handheld that will appeal to anyone with a healthy collection of genuine cartridges. There is no way to load ROMs from software, but the Analogue Pocket is compatible with any flashcart that works with original hardware.

The disadvantages of FPGAs for retro gaming

The biggest downside to using FPGAs to play retro games is the price. Modern software emulators run on almost every device, from old computers to smartphones. Most are free and many are fully open source projects. Some have been in development for decades and are highly configurable.

The MiSTer FPGA and Analogue Pocket are expensive hobbies. The MiSTer project in particular could easily cost over $500 with enough add-ons, and while that’s great value compared to a single arcade board or rare home computer, it’s a tough sell for anyone not after Pixels seek perfect emulation.

MiSTer preconfigured bundle

Availability is also an issue. At the time of writing in February 2022, the DE-10 Nano has sold out everywhere and the Analogue has a year-long wait list for the next batch of pocket consoles. Add to that the global shortage of semiconductors and scalpers charging exorbitant prices on reseller websites.

Software emulation and modern hardware have reached a level where many casual gamers won’t notice the difference between a software emulator and real hardware. FPGA projects like MiSTer and Pocket are aimed squarely at enthusiasts. Price and availability should improve over time, so the future of hardware-level FPGA emulation is very bright.

Other ways to emulate the classics

There are now cheaper and easier ways to get into emulation. There’s a good chance the device you’re using for reading can run a multi-system emulator like RetroArch.

One of the cheapest home emulator machines right now is the Xbox Series S (or Series X), which is relatively easy to find and can be used to run a large number of RetroArch cores. If you’re looking for something handheld, check out the latest Linux- and Android-powered portable emulators instead.

Comments are closed.