The MiSTer FPGA project

The MiSTer FPGA project. It’s the best way to play retro video games and you’re not using it. You should be.

Retro gamers…are you sick of latency? Glitchy video? Popping sounds?

Do you want your games to run and feel just as they did on their original consoles?

Would you be interested if I told you that you can use the original console controllers, without the expense of an original console, or the inconvenience of connecting one to a modern television?

Then keep reading, because I’m going to introduce you to something that apparently many of you are unaware of. You shouldn’t be using emulation. You should be using replication.

That’s right. I said replication.

In this blog entry I will relate to you my experiences with gaming, take you through a synopsis of what replication is, how it’s superior to emulation (and, in a few ways, not so superior), and why you should be using it.

My Story

I was born in 1974, which was the right time to come into the world to be primed for a lifelong love of gaming. The video gaming industry was growing and maturing just as I was. I played my first arcade game when I was six. It was Pac-Man. I was hooked on gaming instantly. A large percentage of whatever money I could get as a child went into the coin slots of various arcade games.

Pac-Man in the arcade. The very first game I ever played. I was hooked for life. Photo from cnn.com

When emulators started coming into their own in the late 90’s and early 21st century, of course I made use of this emerging technology. I loved having the ability to relive playing my childhood favorites, right from the comfort of my own computer…or modded Xbox…or Raspberry Pi connected to my television.

I used emulation for roughly 20 years because that was the retro gaming standard, and there was no other way at the time (aside from setting up an arcade in your home, financially far out of my reach). It was fun, of course. But something always felt…a little off, to me. It was always a little bit glitchy, a little bit laggy, just something never felt exactly right about it.

When the pandemic hit, like all of you I was locked in my house with too much time on my hands. As is common with me, I filled some of that time researching my retro gaming passion. While doing so, I stumbled upon the MiSTer project, which is built upon replication rather than emulation. (For simplicity’s sake, I will use the terms “replication” and “MiSTer” interchangeably for the rest of this blog entry.) I was curious, I was intrigued, I was even excited. I had to try this MiSTer thing. This was the sweet spot of the pandemic between the time we were all locked up and the time that others started artificially inflating the prices of products under the false guise of “supply chain issues,” so I bought what I needed and dove right in. I am so glad that I did.

So, that’s my story of how I got into MiSTer. Let’s take a brief look at how replication compares to emulation.

Emulation vs. Replication

I don’t want to keep you here all day, so I’ll offer a simplified (some may say oversimplified, and that would be a fair critique. I’m trying to keep this simple to understand for those just getting started) explanation of how these technologies compare, and why replication is better.

Replication is great because it eliminates a great deal of controller lag, or latency. For laymen, latency is the time between you pressing the button and Mario starting his jump,

For this explanation, I’m going to ask you to picture your gaming machine in terms of layers. When you emulate, you have your hardware layer (processor, RAM, and so on). Then, you have your operating system layer (usually Windows, or a flavor of Linux). Then, running on top of your operating system that is your emulation program, yet another layer. The signals that come from your controller have to make their way through two extra layers of coding to get to your game. It may only be a handful of milliseconds, but sometimes that’s the difference between Mario hitting a Koopa Troopa or being hit by the Koopa Troopa.

Mario vs. a Koopa Troopa. These damn turtles have caused me many headaches through the past few decades…but I like to think I’ve had a similar effect on them! Photo from https://www.transmissionzero.co.uk/gaming/mario1-unlimited-lives/

MiSTer is different. It’s based on Field Programmable Gate Array (FPGA) technology. Oversimplified (again), a good programmer can write a core which tells the FPGA chip how to replicate the original console’s processor, RAM, and Graphics Processing Unit. The game ROM itself runs right on top of the FPGA chip just as a gaming cartridge would directly interact with an original console. Your controller’s signals don’t need to go through an emulator program and an operating system, thereby eliminating much of the latency that exists with emulation.

So, to put it simpler, emulation requires a couple layers of software to act as middlemen between the game and the hardware. Replication allows the game files to communicate directly with the hardware.

The very first gaming console I ever owned free-and-clear that could take cartridges was the Sega Master System. I got it for Christmas 1987. I sold it, and kind of regret doing so now. Picture from pctrust.ca

The MiSTer Project

The MiSTer Project (and, yes, you should type it that way as it has a specific meaning) revolves around one FPGA-based single-board computer that draws very little power and is about the size of a credit card. The DE-10 Nano made by a firm called Terasic.

This is it…the very heart of the MiSTer project: The DE-10 Nano board. Pic from Terasic.com

In the last five years or so, a small but thriving community has grown around the MiSTer Project (which is open-source. For laymen, that means the code is open and anyone can inspect it or add to it). Coders who write the cores, web hosters which host the updates, people who have fabricated cases and other useful accessories, bloggers and YouTubers who review the MiSTer and offer advice, the forum administrators and members who offer one another technical support, and wise-cracking university students who use it as a topic for their Expert Blog Entry in their English 306T class all combine to make this a cooperative community that allows us to enjoy retro gaming more accurately and economically than ever before.

You may be asking “Hey, Bret! What can the MiSTer replicate?” Well, after five years of growth and development the list is very long and somewhat mind-boggling. I’ll link it here. It would be simplest and easiest to say that, with a few exceptions, pretty much any computer technology that existed before 1996 can be replicated with the MiSTer.

Still not sold on MiSTer? Here are some other advantages it has over emulation

This is the MiSTer analog I/O board. It mounts on top of the DE-10 nano and offers output to connect to CRT monitors or older televisions. I don’t have a need for this personally, but that doesn’t mean you wouldn’t enjoy it. There is no one-size-fits-all gaming solution. Picture from MiSTer FPGA Bible.
This is a SNAC adapter. The one pictured allows original controllers from the Super Nintendo Entertainment System to be used with the MiSTer. I prefer using my Gulikit KingKong Pro 2 Controller. But, again, no one-size-fits all. One of the great things about the MiSTer is plenty of options. Citation in photo.

Disadvantages MiSTer has when compared to emulation

I love my MiSTer and play it nearly daily. However, I do have to admit that it does have some disadvantages when compared to emulation.

My all-time favorite game ever is the arcade version of Paperboy. Unfortunately, as I type this it cannot be played on the MiSTer. Pic from arcade-museum.com
This is a typical MiSTer stack: DE-10 Nano in the middle with a RAM module, analog output board on the top, and USB hub on the bottom. It gets even more convoluted once cables are plugged in. Aesthetically speaking, well…it’s no work of art. This doesn’t bother me, but it may keep some people away who care about such things. Pic from hothardware.com

So why do I prefer MiSTer?

Stability? Absolutely. But, that’s not the biggest reason.

Near-perfect graphics and sound? Of course. But, that’s not the biggest reason.

Not being able to tell these games aren’t running on their original consoles except for my knowledge of the MiSTer sitting under my TV? You bet! But, that’s not the biggest reason.

The additional features programmed into the cores that I wish the original consoles had? I’m salivating at the very thought of this. But, that’s not the biggest reason.

The biggest reason is that when I learned about the MiSTer, I was somewhere in my mid-to-late forties. I had noticed that games I was always good at (such as Shinobi, probably my all-time best game) I was no longer playing as well. My scores had dropped, I wasn’t going as deep into the games. Bosses that I at one time I was sure to beat I wasn’t even making it to. I had assumed that father time was starting to get the best of me, and that my reaction times were slowing down a bit. That may have been partially true. But, it turned out it wasn’t all me. Once I got the MiSTer set up and rolling, playing some of my old favorites, I immediately noticed my performance and my scores returning nearly to what was normal for me historically. The near-absence if controller latency is the biggest reason I love MiSTer. I no longer must settle for a less than authentic gaming experience.

You shouldn’t be settling, either. If you’re a retro gamer and don’t have a MiSTer yet…get one!

The red guy is Lobster. He is the boss at the end of Mission 4 in the arcade version of Shinobi. Using emulation, this guy would beat my ass all the time every time. Since I upgraded to replication-the MiSTer FPGA…well, sometimes Lobster beats my ass still. But, sometimes I can beat him. The elimination of some controller lag is all I needed to be competitive with this guy. I’m sure Lobster wants me to go back to emulation, but that’s not going to happen. Screen capture from game.