This post is for a video that’s coming soon, so keep an eye out if you’re interested!
Hey guys, it’s Editor Grant! A few months ago we did a video on emulation and the role it plays in game preservation. I’ve been emulating games since I was in fifth grade, but something has recently come to my attention that’s blown my mind a bit. It’s called the MiSTer project and it’s really changed the way I’ve thought about emulation.
So what is MiSTer? MiSTer is an open source hardware based emulation project using FPGA, or Field Programmable Gate Arrays. Instead of using software like conventional emulation solutions, MiSTer configures an FPGA to perfectly mimic the hardware of the original machine, leading to highly improved emulation with virtually zero inaccuracies. You know how sometimes the colors will be slightly off when you’re playing an emulated game, or sometimes the music doesn’t sound quite right? Well on MiSTer that’s not an issue since you’re basically playing on original hardware!
This all sounds cool, but what about specifics? Well, MiSTer can emulate quite a few older arcade boards like the Bally Midway MCR series (which includes games like Tapper, Rampage, and Spy Hunter), classic computers like the ZX Spectrum and Commodore 64, as well as a bunch of consoles up to the 16 bit era (SNES/Genesis). A Playstation 1 core was just released recently, and there are work in progress cores for the Sega Saturn and the Sharp X68000, among others. In theory, you can emulate any console using FPGA, but more powerful machines would require prohibitively expensive FPGA hardware, so most of the effort has gone toward older systems.
You may be asking yourself how exactly all of this works. MiSTer uses specifically designed “cores” that are written in a language called HDL, or Hardware Description Language. This language is basically a schematic in code form, which means the developers working on the MiSTer project have, in essence, reverse engineered the hardware of these consoles and written it into code, which is nuts! These cores are then put onto the FPGA, which rearranges itself to match the original hardware.
It may seem like there’s a lot going on (and there is), but you don’t need much to get started with MiSTer. The core of the project is the Terasic DE-10 Nano FPGA. The DE-10 is unique in that it not only is an FPGA, it also has an ARM processor, HDMI out, and enough onboard memory to power most of the cores, although to use some of the more modern cores like the Neo Geo AES/MVS you’ll need an additional SDRAM module. You’ll also need a 5V power supply, an SD card reader, a micro SD card, a monitor with HDMI support, a USB keyboard, and a micro usb adapter. Those are the bare basics, but keep in mind a lot of these games were built for a controller, so you’ll probably need one of those too. The ones from 8bitdo are great for retro games, but you can use a plain ol Xbox controller if you want, it’ll work fine. A USB hub board is also useful for more easily plugging in peripherals, and an I/O board is useful if you want to get analog video out of your MiSTer for an even more accurate experience. I would also probably recommend some sort of cooling solution since the DE-10 does get pretty hot, either a heatsink or a 40mm fan. There are also wifi modules and all sorts of cool accessories, but I’m focused on getting you up and running first.
Setup for the MiSTer is very simple. We’re going to use a utility called Mr. Fusion to install the MiSTer software onto our DE-10 Nano. (GitHub - MiSTer-devel/mr-fusion: Mr. Fusion - Universal MiSTer SD card image)
It’s actually a tiny custom Linux distro designed specifically to install the MiSTer software. How cool is that? All we need to do is download the disk image and use a program like balenaEtcher or Win32 Disk Imager to flash the firmware to our micro SD card, pop it in, plug in the DE-10, and watch it go.
Once that’s done, we’ll need to get cores for the systems we want to use. You could seek out individual cores, but I found a program that’ll install all of your cores and update them automatically. (GitHub - MiSTer-devel/Downloader_MiSTer: Tool for installing and updating MiSTer cores and other files)
Just download the program, run the .bat, and copy the folders that it makes to your MiSTer SD card. Then, plug in your MiSTer, connect it to the Internet, hit F12 to pull up the menu, go to scripts, and run the update_all script. It’ll take about 30 minutes, but once it’s done your MiSTer will be good to go.
When it comes to games, I’m not going to tell you how to get the files, but I will tell you how to use them. Drop any ROMs you have into a folder with the same name as the core you want to use (so SNES for SNES, etc), pop open the MiSTer menu, select your core and your game, and you’re up and running!
You may be asking yourself if all of this effort is worth it. After all, software emulation is cheaper, easier, and more readily available. Video games have become an increasingly important part of our culture, yet games preservation efforts, especially from the companies that own the games, are usually imperfect in some way. Even when using software based emulators like MAME, there are minor graphical and sound errors that aren’t present on real hardware; you’re not getting the exact same experience. With MiSTer, it’s about as close as you can feasibly get to real hardware. This is important as the original hardware is aging to the point that it may be difficult to find working systems in the future.
But again, is MiSTer for you? After all, even software emulation is usually close enough to perfect that it doesn’t matter for most people. Getting the experience as it was originally intended is great and MiSTer is certainly cheaper than tracking down original hardware, but it’s still a lot more expensive than a RetroPie setup. That’s a question you’ll have to answer for yourself.
And if you’re interested in stuff like this but don’t want to put your own system together, there’s a company called Analogue who makes FPGA based repro consoles. Their stuff is a great option if you only want to play on a specific system or two and don’t mind having to use physical carts. They also have an amazing handheld that plays everything from Game Boy to GBA to Atari Lynx games, all using the same basic technology as the MiSTer project. Stuff like this has made the last few years of the emulation scene more exciting than it’s ever been.