The MiSTer is a project that uses a DE-10 Nano FPGA kit to emulate console, computer and arcade cores. At the moment, it’s still a device that requires “tinkering” to configure, but it’s not much different from setting up a Raspberry Pi. To be kept in the loop of everything MiSTer-related, I recommend following Smokemonster, as he’s been the point person following all major updates: https://www.patreon.com/smokemonster
Here’s what I recommend starting with and the DE-10 is the only required component to get started:
The only USB port accessible for use with controllers and keyboards is the MicroUSB port in the front, all the way to the right. You can get a cheap, passive hub if you just need a controller adapter. A powered USB hub is required for most (but not all) WiFi modules.
Passive USB Hub: https://amzn.to/2CM5YjP
A USB keyboard is also required for setup (hit F12).
This can be any USB keyboard and isn’t something specific to the MiSTer project.
MiSTer Hardware (RAM, VGA, etc):
Most cores require at least the smallest module, but if you’re looking to play every game possible, go for the biggest one. Also, try to purchase from known sellers like the ones listed below, as there’s been a history of eBay scams for RAM modules. As an FYI, one or two cores can run on just the DE-10 alone without the RAM expansion, so you can set up and start playing around with it as soon as the dev board arrives.
European Seller: https://www.facebook.com/pg/retroshoppontopt/shop
Compatibility is very spotty with WiFi modules. What’s confirmed and working from some people is not from others. To make matters worse, I’ve bought three wifi modules from this link and one didn’t work with MiSTer. If possible, stick with ethernet, but if not, give this a try: https://amzn.to/2RP2tRS
The main MiSTer WiKi has excellent documentation on software setup. You can always erase and start from scratch, so my suggestion is to use any MicroSD card (including the one that comes with the DE-10) and practice on that. The process is pretty simple though: Properly erase your SD card (SD Formatter is a good tool), use the MiSTer tool to rebuild it (one button press), then plug it in the DE-10 and run an over-the-network update.
Here’s the page: https://github.com/MiSTer-devel/Main_MiSTer/wiki
How Does MiSTer Work?
The MiSTer platform runs a separate “hardware emulation core” for each console, computer or arcade board you run. In order to accurately create those cores, you essentially need to recreate the original hardware in HDL (Hardware Description Language), which is more similar to a schematic than traditional coding.
To do this, you map out each component on the motherboard, trace all the lines and analyze how they “talk” to each other in real time. Some of the components on the board may be common off-the-shelf parts that offer datasheets about how they work. If not, someone else may have already reverse-engineered the ‘generic’ component and have FPGA data on it already. These modular parts are usually referred to as “soft cores” and can be ‘plugged’ (via software) into a core, almost like a socketed IC.
The custom, proprietary chips are where things get even more complicated, as MiSTer developers need to reverse engineer each of those chips as well. A good way to visualize what’s inside a complicated processing chip is this: Imagine that main motherboard the chip is on. Picture all the components, traces and configurations. Now picture that shrunk down to 1/100th of the size, all jammed into a 1-inch-squared device and coated in a hard black opaque material. Crazy right?
So after doing the tremendous work of reverse-engineering the motherboard, developers then need to follow a similar process on the decapped chip, using a microscope. Depending on the complexity of the board and platform, this total process can take hundreds, if not thousands of hours to complete, but if done correctly, it can result in a cycle-accurate FPGA core. These hardware “cores” are then flashed to an FPGA (such as the one included in the DE-10 Nano), whose logic elements are then physically rearranged to match.
For things like computers and consoles, all that work translates into hundreds or thousands of games per platform. For arcade boards, that might only result in a handful of games, making the mark that much more impressive and painstaking.
The end results of all of this, is a core that when being played is completely indistinguishable from original hardware, which results in both an amazing gaming experience and an incredible way to preserve and archive the hardware they were built on. Another bonus of HDL, is it’s the actual blueprint that’s sent to fabricate real chips for manufacturing. That means once all the original hardware is dead and gone, it can be recreated on a chip…provided it was recorded perfectly in HDL. Theoretically, you can model any digital circuit in HDL as a 1:1 exact copy, indistinguishable by human or machine, but few cores will ever reach that level of perfection. Still, this perfect accuracy is the end-goal of any FPGA endeavor, even if it is very long-term.
The MiSTer platform is truly a remarkable accomplishment and a help to both gamers and preservationists alike.