Dream Machine: MiSTer FPGA
(Disclaimer: This is an honest view about the MiSTer project. I am in no way affiliated with any of the sellers or developers mentioned in this article and have no financial interest in this product. Nobody asked me or paid me to write this. I am just a fan.)
Here is a bit of context. I was born in 1993 in an upper-middle class family near Montreal. My parents are not geeks. I was first exposed to video games through my cousin who owned a Nintendo Entertainment System. When he bought/received the new Sega Genesis system, I received his NES as a hand-me-down. When he bought/received his first PlayStation, I received his Genesis as a hand-me-down.
At least, that’s how I remember it happening. At the end of the day, I was always a step behind in technology, and for this reason I have a very deep appreciation of retro technology and video game consoles, despite not truly fitting this demographic.
Side note, the first console my parents purchased new from a store was an Xbox in 2002 (from Costco!). The reason? To the best of my memory, it’s because they wanted a DVD player. And for a few extra dollars they could treat their kids. For a while, I enjoyed being part of the mainstream, but it was not meant to last.
Technology is like magic, old and new
As I begin my journey in the tech industry, I am more and more in awe of what my predecessors were able to accomplish with limited means. Humans are as crafty today as they were hundreds of years ago. The only difference is the accessibility to knowledge is vastly superior now than it used to be. If you asked me to come up with a technology that could show images in a two-dimensional plane, I could hardly do better than shadow puppetry.
I am always amazed at the inner workings of common household items that, over time, become considered like “junk”. If we pause for a moment, do you realize how incredibly creative some humans had to be to come up with something even as basic as photography, let alone the cathode-ray tube (CRT) television or OLED flat panels? Add in the fact that interactive video games can be played using such screens, and that I’m able to picture this phenomenon and share it on the Internet for you to see… that’s enough to make my head spin. 😄
We too often forget how the everyday technology that surrounds us is fascinating. People worked hard to allow us to attain a certain level of comfort that is also reliable. If the definition of “magic” is “a phenomenon you personally don’t understand”, then you have to admit… Under this definition, we are all surrounded by magic!
So, what is the MiSTer FPGA?
If retro video games are magical to me, then the MiSTer FPGA is a dream come true. In my teens, even my wildest dreams would not dare go beyond half of what the MiSTer can deliver. Let me explain what MiSTer is all about.
The MiSTer is a project created by Alexey Melnikov (aka Sorgelig). It uses the power of Field Programmable Gate Arrays (FPGA) from an off-the-shelf board named Terasic DE-10 Nano to recreate vintage consoles and computers at the electronic level. It is not the first open-source project of its kind (see the MiST and SiDi projects), but it certainly is the one that currently has the most momentum. While its exterior might make it look like any other box, a “magical” FPGA chip inside allows it to transform into a multitude of systems at the electronic level.
When I use the word “transform”, I really do mean that the FPGA chip inside the MiSTer re-organizes itself to become whatever chipset intended by an FPGA developer. This means, if developers are careful enough, they can accurately recreate the interior of classic machines on a single chip. Your television won’t know the difference!
I won’t bother trying to explain it in more details than that, because I don’t want to break the spell. 😄 At least, it comforts me to know that some people fully understand this technology and are generous enough to open-source their work, for the benefit of humankind.
Hardware vs Software Emulation
A quick word on types of emulation.
The most common type of emulation (which has been around since the early 90s at least) is software emulation. This is what the popular RetroPie platform uses, for example. The MiSTer is a completely different beast than products such as the RetroPie, because it relies on hardware emulation. Both types of emulation run the same ROMs, they just run them differently. As I said, software emulation has been around for decades (so it is already very robust), and is also fascinating in its own way. Just to prove I’m not a MiSTer fanboy, here’s a blog I started in 2016 to put a spotlight on the RetroPie emulation platform. 😄
Hardware emulation based on FPGA is a whole new thing that became mainstream around 2015. I like to think of it like the 3D-printing of electronic circuitry. It is a tool that empowers us: NASA frequently uses it in its machines (though sadly not for video game related objectives).
To sum it up, hardware emulation can do things impossible via software, and vice versa. One of the greatest strengths of software emulation on modern hardware, for example, is to run games from current consoles (e.g. Nintendo Switch). However, when it comes to retro games, what really matters most is the absence of lag, sound accuracy, accurate clock speed, and (icing on the cake) the possibility to connect to retro displays, i.e. CRTs. This is something that the MiSTer is simply more suited to deliver than software emulation.
This is not to say that because hardware emulation exists we should stop all work on the software emulation of retro games: emulation is a tool, and every use case has different requirements!
Why the MiSTer’s accuracy matters
In its current stage, most consoles represented on MiSTer are already frighteningly accurate to their original counterparts. In fact, they are so accurate that I’m willing to bet that a majority of retro gaming aficionados wouldn’t be able to tell if they’re playing a MiSTer core or the original hardware when similar video connections are used. I know this is a bold statement to make, but trust me, it’s that good.
All hype aside, how is this accuracy achieved? With measurements, microscopes, and lots of patience. Most FPGA developers go as far as to tracking down original schematics for chips used in original consoles to make sure what they output is accurate. Since the same electronic circuits are being replicated, the electronic output is also the same. Of course, the quality of this replication depends on how detail-oriented FPGA developers want to be. In theory, though, the replication could be exact, for all intents and purposes. This means:
- the timings are the same
- the “lack” of input lag is the same
- the colors are the same
- the sound waves are the same (Audiophiles, this should especially make your ears perk up.)
What is within our grasp is cycle-accuracy. I’m not just writing this way to dazzle you with buzzwords: it’s Physics. I have followed an Electronics class during my studies of Physics, and I can assure you that it is a precise science. We can measure how these circuits behave, we don’t have to rely on our eyes and ears to approximate the final result. An electronic circuit will behave the same way no matter what is the shape of the box that contains it or what sticker you slap on it. As a bonus, this also means you won’t have to fear about any of your precious original electronics, motors or driving belts starting to degrade: every time you load a console on an FPGA, it’s as if it was fresh from the factory!
Even more impressive, using FPGA you can switch between different console revisions on the fly (e.g. bigger sprite limits to prevent flickering, different color palettes, different sound chips on the Sega Genesis, etc.). This gives us the unique opportunity of creating consoles that are more powerful than their original versions! Do you realize what this means? With an FPGA chip in hand and the right code, you are a few lines of code away from having what would normally require physical, irreversible modifications to existing consoles. It should almost sound too good to be true.
This seems like a sales pitch, I know, but I am truly moved by how significant this is. I have been playing these video games all my life and it is the first time that I can honestly say we have managed to capture the essence of these older technologies. In reality, even I would have difficulty in a blind test to know whether I’m playing on an FPGA or on the real deal. Emulation has been around for a long time, but playing these games on a computer has never felt right to me, either because lag was involved, refresh rates were different, or sounds were not accurately represented.
An added bonus: analog display
A great quality of life improvement is that the MiSTer can connect to HDMI monitors, as well as CRT monitors. It can do everything the original machines could, while also conveniently being compatible with modern-day accessories. The flexibility of the video outputs is truly staggering on the MiSTer and could fully warrant its own discussion. This is not only great for console games, but also for arcade games. After spending some time with the MiSTer, I can honestly say that for the right person this is an absolutely killer feature.
Do you know how expensive original arcade hardware is in 2020? With MiSTer, you can play most golden-age games as if you owned the actual printed circuit board (PCB), with the added bonus of USB controllers and peace of mind of never having to re-solder capacitors.
What if you wanted to display games emulated from a PC to a CRT display? You might have to purchase a DAC to convert your digital video signal to an analog signal, or use a VGA signal which will not be the native resolution of your game. It can quickly become a mess. With MiSTer, you simply need the right VGA to Component cable and a Direct Video Adapter or Analog I/O board and you’re good to go.
Long story short, emulating original systems on the MiSTer is as good, if not better, than playing on original consoles. It is more reliable, convenient, and guarantees the authenticity of the electronic circuit that powers your games. This is why I like to (half-jokingly) say that the MiSTer is even more accurate than what it is replicating.
If MiSTer is so great, why doesn’t everyone rush to get one?
I honestly don’t know.
I think it only comes down to lack of marketing. Since this is an open-source project made by enthusiasts using off-the-shelf parts, opportunities to make money are limited. Thus, it is rare to see influencers spread the good news. But more than that, the retro gaming community is currently swarmed under a tsunami of marketing from Analogue inc. This might be the only opportunity I have to vent on this topic, so buckle up and grab your popcorn. Click here to jump straight to the MiSTer setup guide.
Analogue is a for-profit company that focuses on creating dedicated FPGA-clone consoles. While their products are certainly beautiful and well-engineered, they are closed source and use shady business practices to boost their sales, such as limited supplies. And their products are expensive, which makes people talk about them nonstop. For a parallel, Analogue inc. is to MiSTer what Apple is to Linux (and I guess, this leaves the Retro AVS to be Microsoft..?).
The problem here is that Analogue products are so prohibitively expensive (or limited in quantities) that people rarely get to compare the experience of playing on a MiSTer or an Analogue device. If you invest in one camp, there are many factors that will make you not want to invest in the other. The few people who managed to experience both sides of the fence will invariably tell you that the MiSTer developers are (in the long run) more detail-oriented and support their work far more than Analogue themselves. In the end, you can expect the same gameplay experience between both devices, if not slightly more accurate on MiSTer (the cheaper system).
Crunching the numbers
Really, it just pains me when I see article after article telling people to hurry up and buy the new “fantastic” Analogue project. Just two days ago (Oct. 16 2020), they announced a new product, the Duo, and the hype cycle is back again on any website that discusses gaming, despite the constant criticism against the company. When you look at the numbers, and the demographic who is interested in classic gaming (i.e. not rich people), you’ll see that it simply makes no sense to invest in Analogue systems.
|Analogue Duo (Turbografx-16 and CD)||199.99|
|Analogue Pocket (GB, GBC, GG, NGPC, Lynx)||199.99|
|Mega Sg (Sega Genesis)||189.99|
|Super Nt (Super Nintendo)||189.99|
|Nt Mini (Nintendo Entertainment System / Famicom)||499.99|
|DAC (HDMI to analog converter)||79.99|
|Total||1359.94 USD without tax and shipping|
This is the price (before tax and shipping) you would have to pay to access everything Analogue has to offer, and that’s if you can find these items at their lowest price. To be fair, for this price you would get quality hardware. You would be able to play on both HDMI and a CRT, you could jailbreak the Nt Mini to access various other 8-bit systems… At first glance, cool stuff.
Let’s head over to the MiSTer side and see how it compares. Let’s pretend you buy your system from misteraddons.com, run by a trusted enthusiast known as Porkchop Express (other alternatives include zerohimself, where I bought my own, or ultimate mister).
|MiSTer parts – comfortable setup||Price|
|Terasic DE-10 Nano (main brain)||150|
|IO board (converts digital signals to analog)||50|
|USB hub (allows 7 simultaneous connections)||45|
|Expansion SDRAM (support more machines)||60|
|Total||355 USD without tax and shipping|
For roughly a quarter of the price, you get a smaller box that does more than any of the Analogue products combined.
Can we go lower? You sure bet!
|MiSTer parts – the bare minimum||Price|
|Terasic DE-10 Nano (main brain)||150|
|Expansion SDRAM (support more machines)||60|
|USB mini hub||7|
|Total||217 USD without tax and shipping, that’s a steal in comparison|
The bare MiSTer setup (with SDRAM expansion) will run you 217 USD+tax, and by itself can already do more than any Analogue product. If you include an HDMI-VGA adapter such as this one, you could even be able to connect to a CRT monitor. Now that’s a value that’s hard to beat. The reason is simple: for every console you wish to use, you have to buy a separate console from Analogue. MiSTer contains everything for a single, relatively low price.
Look, the MiSTer may be scrappy, but with it you can emulate more consoles, arcades and computers, for a fraction of what Analogue is asking their consumers. You can add as many or as few accessories you want to match your level of comfort. Quantities are also not limited for the MiSTer, so no need to rush to pre-order or buy at an extra cost from scalpers. Though the SDRAM is optional, I highly recommend it since it is required to access machines that probably interest you. For completedness, here is the list of cores that require or benefit from having an SDRAM expansion on board.
Marketing is everything, and people keep falling for Analogue’s clever tactics. The only aces Analogue has up its sleeve are:
- their beautiful designs
- the possibility to play in portable mode (Analogue Pocket)
- the possibility to play games from actual cartridges
- no additional setup required to play cartridges (although a setup is required to play ROMs)
Trust me, Analogue gets more mileage than anyone would expect from these (arguably) irrational advantages.
The “FPGA wars” is very real between Analogue and MiSTer fans, though it is getting better as the hype dies down. For an interesting read on the topic, I recommend this well-written article from Ryan Houlihan that summarizes the current state of things. Of course, the positive approach would be to say “we are living a golden age in retro gaming, let everyone enjoy their favorite way to play”. While I totally agree with that sentiment in theory, I simply can’t give a thumbs up on the majority of Analogue’s products based on value alone when the MiSTer exists.
Just for a fun comparison, I compiled a list of platforms supported by Analogue and by MiSTer. To guide your eye, I boldened and colored the name of consoles I think might interest most retronauts.
As you might notice, MiSTer does a good job in general of supporting platforms that spark interest. This is natural: MiSTer developers work for free, so they have the luxury of working on platforms they care about. New platforms are added every year, as long as the developers stay motivated. On the flip side, Analogue does support a few consoles not present on MiSTer, but most of them require an expensive and jailbroken Nt Mini, are not popular, and could regardlessly become supported on MiSTer in the future. Analogue also does not support any arcade game, or classic computer.
Remember that on the MiSTer side, one device does all of this. You need at least 5 devices from Analogue to access their full potential.
To give Analogue credit, I personally am a huge fan of their NSF visualizer on the Nt Mini. This is the killer feature that I wish will get implemented on MiSTer.
Ok. Rambling over. I swear the rest of this article will focus on MiSTer. 😄
Setting up a MiSTer FPGA
Congratulations! You have decided to get a MiSTer. You are very wise. Here is my shopping and getting-started guide.
You are going to need:
- The MiSTer itself (with Standard IO): https://misteraddons.com/products/mister-bundles
- A case if you find the MiSTer ugly: https://misteraddons.com/products/official-mister-case
- An SD card (I recommend at least 64 Gb, the more the better):
- Optional: A VGA-to-component
cable if you want to play on a CRT that has these connections
- If your TV only supports composite (red-white-yellow connections) or S-Video, this adapter works, but I don’t currently recommend it, especially for composite.
Setting up the micro-SD card
Take a deep breath. This entire section should take roughly 10 minutes if you trust me and don’t panic. 😄
- Download and unzip the
mr-fusion-vX.Y.img.zipfile from this link
- Bake the mr-fusion image file you downloaded in the previous step to your micro-SD card using a tool like Win32
- If you don’t know how to do this basic procedure, learn about it in this mini tutorial, starting at step 4 😄
- Put the micro-SD card into your MiSTer. There are two slots, so make sure you use the correct one.
- Connect your MiSTer to your favorite HDMI monitor and power it on! You should see this screen for about 90 seconds:
- Almost done! Connect a keyboard to your MiSTer using the USB ports. Press F12 to open the
options menu. If you connect an Ethernet cable to your MiSTer, you can go to the Scripts section and run
the Update script.
- Note for pros: You can add any script to the existing MiSTer scripts by plugging the MiSTer SD card in your computer after setting up mr-fusion. My favorite script is Update_All
Configuring your controller
- Connect your favorite USB controller in one of the MiSTer USB ports (alternatively, you can use the Bluetooth script if you feel courageous).
- Use your keyboard and navigate to “Define Joystick Buttons”
- Follow the prompts to configure your controller’s buttons.
- Visit the HTGDB pack on archive.org, or download ROMs online…
- Download the zip files (and optionally the Pack add-ons and Game Series Collections) for your favorite consoles.
- Connect your fully setup MiSTer micro-SD card into your computer
- In your SD card, navigate to the games folder
- Extract all the archives you download in step 2 to their matching folder in the SD card
- Safely eject your micro-SD card from your computer and plug it back into your MiSTer
Final thoughts about setting up a MiSTer
If you are familiar with technology, setting up MiSTer shouldn’t feel too alien. But if not, I hope my guide will help you figure it out. To quote Rysha, a MiSTer contributor, “if you can assemble IKEA furniture, you can use a MiSTer”. Maybe you will learn a thing or two about micro-SD cards and save hundreds of dollars in the process. Really, if you have emulated games before, this process couldn’t be more straightforward. It is true that simply plugging a cartridge initially feels more comfortable, but it’s also much more expensive in the end for little gain. You’re much better off taking the time to learn how to do these simple steps than spending a rent’s worth on equipment you don’t need. I’ll take a moment to mention that adding roms (i.e. play games without a cartridge) to an Analogue product, or a flash cart (e.g. Everdrives) is exactly the same process as adding games on MiSTer.
Support open-source efforts! This is how we can ensure the preservation of this historic hardware.
Because MiSTer reduces lag to its minimum, I find it is a great score to finally start chasing high scores on hard to obtain video games, such as shoot ‘em ups many shoot ‘em ups that were only released in the arcades of Japan. If you would like to compare your scores to mine, check out my latest high scores here!
The MiSTer project is ever-expanding and can already do much more than what I only mentioned in this article. If you want to learn more about the MiSTer project, or connect with the incredible comunity of MiSTer users, check out these links:
- MiSTer Wiki, the official and constantly updated source of information about MiSTer.
- MiSTer forums, slow-paced, but quality content.
- MiSTer FPGA Discord Server (Discord). Very active chatrooms, covers everything related to classic gaming and MiSTer in general. This is where everybody meets.
- MiSTer cores extravaganza videos, these are the videos that initially got me into MiSTer. SmokeMonster makes a great job illustrating what makes the MiSTer special.
Thanks to the following people who helped me correct mistakes in the original version of this post: