• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

MiSTer FPGA |OT| party like it's somewhere between 1972 and 1992.

McCheese

Member
gEAmFbX.png


MiSTer for DuMMies

MiSTer is a hobbyist, open-source, FPGA based retro gaming platform built around the DE10-Nano FPGA development board.

The DE10-Nano is intended for engineering/educational use, and so is usually sold at-cost in most markets. It features a dual-core Cortex-A9 processor which runs a Linux kernel to handle the various port I/O tasks, but the main point of interest is the industrial-grade Intel Cyclone-V FPGA chip it has.

The Cyclone-V is the same chip the Analogue SuperNT/MegaSG systems use, but those are commercial grade versions which cannot run as hot and cost more to purchase for commercial use.

MiSTer is a platform, not a piece of software. It comprises of a custom Linux kernel for the DE10-Nano board that allows it to be hooked up to a variety of add-on boards. There is then the "menu" core which is the first thing that pops-up when you power the system on, and this menu core lets you configure the system and load into other cores. Other cores may emulate a system (e.g. SNES) and you then load ROMs from within the cores menu, but other cores will power a single machine and will require the game ROM to already be placed on the SD card in a specified location.

There are around 80 cores currently released or in development, as it's an open-source system anybody can develop and contribute to these cores. The only real limitation is the size of the FPGA on the Cyclone-V, which could theoretically allow up PSX/N64 level emulation.

FPGA vs Software Emulation.

It's kind of a long story...

Back when electricity was first discovered by us dirty furless apes, we observed the way electrical currents behaved and invented a little thing called the transistor. Transistors are like tiny electrical bouncers, when added to a circuit they can be told to only let the current continue if it's positive or negative. From this, we developed logic gates which could do some really simple AND/XOR/OR type logic.

Neato! so how the fuck did we get to Farcry?

Well, we cheated. Electricity is so damn quick that we could just keep on stacking logic gates onto other logic gates to have them perform increasingly complicated arithmetic instructions.

We outwitted silicon to add and subtract 1 byte (4bit) numbers with a few dozen gates, then multiplication with a few thousand gates, then we started giving it larger 8-bit numbers, then 16-bit numbers, and on we went. Now we've reached the point where a modern CPU like the Intel i9 has 9 billion transistors and can perform ~300 different instructions on 128-bit numbers.

So let's get back to emulation.

FPGA chips have hundreds of thousands of programmable logic gates, and by programming these logic gates we can get the FPGA to mimic other chips on a logic gate level. Effectively becoming an identical clone a Motorolla 6800 CPU, or even being a clone of a circuit board containing multiple chips. The only real limit is the chips it's simulating must fit within the number of programmable logic gates the FPGA has on it. More expensive FPGA chips, have more programmable logic gates, and can therefore simulate more complicated and modern chips.

So an FPGA chip, if programmed correctly, will have the exact same timings and behaviour as the original system. But of course, this relies on us knowing exactly how the original chips work on a logic gate level, and so the accuracy of an FPGA chip is only as good as the knowledge we have on the chip we're emulating. So it's not complete magic, and will not give us 100% accurate emulation of chips we haven't fully reverse-engineered.

Neato, but what can I emulate on it today?

Neo-Geo
, and let's face it - that's all you need, it's the greatest system created, mankind's magnum opus, it has Metal Slug and that awesome boot-up music. What more do you want? But if you are "weird" and like "other" systems, it can do those too, I supposed.
  • CPS1 & CPS2
  • Super NES
  • Megadrive / CD
  • Gameboy
  • GBA
  • Amiga
  • MSX
  • TurboGrafx / PC Engine
  • NES
  • Mastersystem
  • x386 PC / DOS
  • ..others
My fingers are getting tired, so just presume it can do everything fewer than 32-bit with some exceptions (for now).

It also has quite a lot of arcade machine cores. As arcade machines often had hardware specific to just a single game; you'll find a lot of cores that play one game and it's variants, like classic Donkey Kong or Pac Man.

I'm in, what do I need?

jLqDI0z.jpg


Well first and foremost you'll want a DE10-Nano, you can buy these from somewhere like Digikey for around $120/£120. As these are sold without much $$ mark-up (for now) you may want to jump on the train and pick one up before they figure out us nerds are using them to play Ms Pac-Man.

It comes with a power supply, a couple of USB cables and a tiny 8GB memory card. But here is the neat thing, just the DE10-Nano by itself is enough to do some of the cores, Megadrive and Gameboy Advance are probably the popular ones. But If you intend to go this route, at least pick up a cheap $5 heat-sink for the thing and possibly a fan. the FPGA won't damage itself, but it can glitch if it's running too hot for too long.

MiSTer Add-ons

There are various other boards you can (and down the line, probably should) buy.

Highly Recommended

SDRAM

EClySCT.png


The DE10-Nano has 1GB of DDR RAM built into it, but the funny thing about modern RAM is that it's been designed and optimised for fetching large amounts of data at once, and when just peeking and poking tiny bits of information, it's actually slower than the old school stuff.

Some systems (GBA etc) had pretty slow RAM too, which is why you can emulate those with just the DE10-Nano. But for systems with the good 'ol fashioned RAM, you'll need to buy an SD-RAM board (up to 128mb) that can peek and poke those bytes like it's 1982.

You can get 32MB, 64MB and 128MB - whilst you can emulate 98% of the stuff on the 64MB board, just get the 128MB. You'll need it for the complete Neo-Geo library, and it's also going to future proof you.

SDRAM Requirement by cores

Recommended

I/O BOARD

G5ifI44.jpg


This adds a VGA port so you can hook it up to a CRT, and adds three buttons so you can easily reboot and restart the system. It also has a fan which blows down onto the FPGA chip beneath to keep it cool, you can buy a bare version of this board with just the fan if you really don't want the other functionality.

USB HUB BOARD

PqHRZ5w.png


The DE10-Nano has a micro-USB port, but this is an OTG port. So if you want to use a USB device with it, you'll need to plug an OTG hub into the DE10-Nano, then plug your USB devices into the OTG hub.

The USB board is a just a nice OTG hub that fits into the same form factor as the DE-10 itself. It provides 7 regular USB sockets, and it also has a separate power-in so you can plug in devices like wi-fi dongles without draining too much power from the DE10 itself.

Who Gives A Fuck?

RTC BOARD

ZVzMDqR.png


It's a real-time clock!

You can just connect the DE10 to the internet via the LAN port and it'll set the time automatically. But if you really want your virtual amiga to have the correct time offline, you can get this cute little real-time clock board. Note the board is slightly sketchy, and can sometimes touch the boards above/below it and cause a short circuit. So you may want to also get some spacers, or just wait for a revision, or just not bother.

Case

If you don't want to go nude, there are various cases available. Due to all the possible combinations of add-on boards, often these cases will be 3d printed-on-demand based on your own setup. Personally I think the raw open circuitry is quite sexy. But if that makes you feel ashamed, you can get something that looks like this instead:

3BkO2PF.png

mNKvYlG.png
 
Last edited:

McCheese

Member
Putting it all together

Building a MiSTer is a bit like putting together a PC from the late '80s, in theory, you don't need anything other than a screwdriver, but in practice, it's a bit fiddly and often the guides will be either outdated or missing some key details that'll leave you scratching your head and wondering where the extra pin goes.

My advice is as follows
  • Be really careful connecting the I/O board to the DE-10. It has a lot of long, single pins that need to align perfectly with the DE-10 nano before you start squeezing the two together. So check none of the pins has been bent before you connect the two together, and get someone to shine a torch for you so you can see it go in. *blush*
  • When connecting the SD-RAM, you have to push pretty firmly to get it to be seated right down into the socket. For the love of god support the bottom of the DE-10 with your thumbs as you squeeze, I've seen a DE-10 bend and snap by someone attempting to hulk-smash it in without supporting the board.
  • The RTC instructions tell you where to plug it into the DE-10, but it doesn't mention that the RTC only has 18 pin-holes, yet the socket it goes into has 22 pins protruding out of it. You need to centre it in the socket, so there is a pair of unused pins either side. Also make sure the RTC is not touching the I/O board above it or the DE-10 beneath it, as this can create a short-circuit.
  • When you load a core and just get a blank screen, don't panic, this is because the core menu does not appear automatically, just hit F1 on the keyboard to bring up the core menu and from there you can load any ROMs.

Was it worth it?

I went for the full kit (even the real-time clock) and it cost around £270 all in. In comparison, I paid around £200 each for my SuperNT / Mega SG systems once the shipping was taken into account, and those just emulate the one system each. So it's a bit of a no brainer that the MiSTer is both a cheaper and a more viable long-term solution over buying a new Analogue console every 12 months, especially considering the innards of each Analogue console are almost identical.

Now the key thing to note is that this is a hobby / open-source project, it's not a commercial project. Thankfully there is a real buzz around the platform at the moment, and a lot of active developers are contributing to it. Even if people stopped developing for it tomorrow, you would still have more systems and games than you could play in a lifetime.

But on the flip-side, it lacks the polish and customer support of a commercial product. The boards I got were all hand made, complete with some dodgy looking wiring and fingerprint smudges. The MiSTer itself has it's share of odd quirks/bugs that may never be fixed, for example, switching between cores too quickly will make the graphics corrupt and require it to be completely powered down and back on again. [Edit: 2021 - they are finally rolling out a fix for this!]

The other disadvantage is it's not emulating the form factor or ports of the original hardware, so no cart slot or ports for the original controllers. Folks do make these, but again, they will be ugly soldered monstrosities compared to commercial-grade hardware.

But ultimately it's about the games.

I'm a Neo-Geo collector, I have a ton of original hardware, carts, controllers. Within about 10 minutes of trying out the Neo-Geo core on this, I realised I was probably never touching my original hardware again, and instead considering what display case to shove it into for its well-deserved retirement.

It was incredibly quick to configure this thing to output exactly how I wanted it to over HDMI, and when you connect over CRT via the I/O board, you get an amazingly clean signal that puts my real ageing hardware to shame. I've purchased cables for my old systems that cost half the price of the entire mister set up, so as silly as it sounds, having both an HDMI and VGA port on this thing gives you a lot of options, and for every single core.

Audio-wise, they are squeezing the sound-chips onto the FPGA so it sounds as good as it looks too.

As for the emulation quality itself, it comes down to how accurate the individual cores are. But stuff like the Genesis and Neo-Geo cores are based on fully decapped and reverse engineered original chips (M68k etc) it's again, perfect. I honestly couldn't tell you if I was playing on real-hardware or the MiSTer, the games even have the weird glitches or slowdown that are often stripped out when playing on cycle inaccurate software emulators.

Media / Reviews




Obligatory Scanline Porn


5EqXRfV.jpg

y81DRVk.jpg

Pu59INI.jpg

vcPJSEp.jpg

ki0CWjV.jpg

EncXcPB.jpg

3U4qaqd.jpg
 
Last edited:

CJY

Banned
I was literally going to make this thread today when I realised GAF didn't have one. So glad I didn't have to!

I'm ordering my DE10-nano today :)
 
Last edited:

McCheese

Member
I had a proper retro-binge day today and tried out a few new cores, fiddled with graphic settings, tried some other controllers etc.

Up until now, I was using a Sanwa arcade stick or an 8bitdo pad - but got lazy and just plugged in a Dualshock 4 today to give that a spin. support is surprisingly good, figured I would have to configure the buttons in each core again, but with the exception of the Mega-CD, most seemed to have a Dualshock 4 preset and defaulted to a good choice of buttons. Most even had the analogue sticks double-up as a d-pad, so I could switch between the two. In comparison, the 8bitdo pad could do fuck all until I plugged in a keyboard and manually configured it for each core, so Dualshock is the way to go I think for newcomers.

Reading some more documentation I found out you can capture raw screen grabs straight from the FPGA output (so before any resizing, filtering, scanlines etc) using Windows key + Print Screen, which plonks them in a folder on the SD card, so that's where any screenshots below came from.

Ran the update script, which for those who don't know is a bash script you download and copy to the SD card, you then run it from the interface and it does all the housekeeping stuff for you, updates mister itself, downloads or updates every core, updates cheats, shaders etc. The cores are updated so frequently that it's a huge time saver, plus you always get that warm feeling from seeing things getting updated (or is that just me).

Mega CD

I had no idea the Mega CD had so many games! I tried about 50 today and was surprised that some of them are rather good, I always presumed it was a huge flop with nothing of any real value.

Sure, you get the usual down-ports from arcade games, I saw it had a version of Samurai Shodown and Monkey Island (two of my favourite games) but the prior was lacking so many sound effects and animations I'm not sure why they bothered. Monkey Island wasn't the talkie version sadly, but at least it had CD-quality music and a decent colour palette.

And yes, you can boot up into the Japanese bios, then load a music 90's CD image and just use it as a retro cd-player like a hipster nerd. The region locking stuff is a bit of a faff, you have to load the correct bios, then load the game. Hopefully a future version of the core hacks in a region-free mode.

Sonic CD is pretty damn weird. it has a (sung) theme song and anime intro which feels like pure 1993, but then the game itself looks great and could easily pass for a modern 'pixel art' style game, maybe it's just a case of fashion coming back around but they channelled that vaporwave aesthetic big-time, I mean look at this:

yKoZfqf.png
ZB93ZmP.png


Snatcher is very Hideo Kojima isn't it? very long-winded intro, voice actor names before the title screen, and unashamedly based on Bladerunner and Terminator. The intro starts with a 16-bit version of the Bladerunner flyover sequence, complete with flaming chimneys, blimp, and ziggurat building.

And just like his modern games, I got bored within a few minutes of actually playing it (come at me bro!).

It seems like most Sega CD games only really used the medium for better audio, which is probably why it failed. Snatcher has a ton of 16-bit animations and artwork that you just don't see on any of the cart titles, maybe it would have been successful if more games had the time and budget to put that space to good use.

Gameboy Advance

New core, polished as fuck with a plethora of settings, including save-state support, rewind & fast-forward. Tried a whole bunch of the classics and everything looked (and sounded) spot on. You can even use gamma profiles to sort out the games that they brightened up too much for the GBA screen. I still suck at Advance Wars.

fRRMamN.png
uYlUsAX.png



Gameboy

Another great core, by default it tries to emulate the highest Gameboy in the food chain based on what the ROM supports, so it'll default to GameBoy Color or Super Gameboy mode most of the time. I decided to go old-school and configured it as an old DMG system, there are even some shaders which do a good job of replicating the old DMG LCD screen, or at least a giant 50-inch version of it. I found some of the text a bit hard to read due to how comically large it is on a modern big-screen TV.

XeZNRlM.png
e5LIf6n.png


"Scientists: gifs can't have sound!"
"Me: "

pRCSJoG.png


Neo-Geo

Another one of the new(ish) cores. Interesting background, the guy had already decapped the original Neo-Geo chips so he could manufacture replacements as they are no longer produced. This meant it was fairly painless to convert the schematics into Verilog format without any need to reverse engineer anything, so the chip emulation should be 100% accurate. The core is still a smidge glitchy here and there (after all, it's emulating the entire system, not just the chips) but it's still crazy to think how good it is after just a few months work.

One thing I don't like about modern fighters is how you always have 2-tiers of the character model. the main fighters tend to look great, but then you have background characters who look like they accidentally stepped in shot from an N64 game.

In comparison, classic 2D fighters just have this great consistency to them.

KcQW4Z3.png
bCP9kBf.png
yJNIBRg.png
zkMVS8D.png


Also played some Super Street Fighter 2 on the SNES, possibly for the last time seeing as the CPS1 core might release in the next week or so. It's odd, I own a CPS1 and CPS2 board so haven't played the old SNES version since I imported it back in my college years, I swear the AI is different and more predictable on the SNES version. Surprisingly good port, the music is just as iconic and the smaller characters are pretty easy to get used to.

bJW05TE.png
 
Last edited:

Tarin02543

Member
Very cool thread.

Here is mine:

oQvm5B3l.jpg


I'm using a copper heatsink. I don't need a fan as the fpga chip is industrial grade (as mentioned in the OP)

So far I'm only using the megadrive core as I don't have my 128 SDRAM yet.
 

SScorpio

Member
The PCE/TG16 core is also great and the SDRAM add-on is optional.

The Genesis core also supports the SVP so the only add-on chip game Virtua Racing is playable. And the SNES core supports all of the commercial game add-on chips save for the ST-011 and ST-018 which are both used for AI in a single Shoji game each, and MSU-1 (custom soundtracks and streaming video) support is in development with some games working.

There are low latency options available as either Blisster or SNAC which allow a real NES zapper to function if you are using the MISTER on a CRT. If you want to use an LCD, a Bluetooth dongle can be used to pair a Wiimote and you can play lightgun games with that.

g2KeQKK.jpg
 

Miyazaki’s Slave

Gold Member
Any place you all would recommend where I can pick it all up? Amazon has the d10 but not much else. MisTER Addons is sold out of a lot of their stock as well.


Thanks in advance!!
 
Last edited:

Spukc

always chasing the next thrill
Any place you all would recommend where I can pick it all up? Amazon has the d10 but not much else. MisTER Addons is sold out of a lot of their stock as well.


Thanks in advance!!

Ebay. Dirkthegathering was pretty ok.
Got my RTC , IO board from there + usb hub
And the 128 MB module also came from ebay. He made a lot of sales too. Forgot the name. But i did a test for 1 hour and it seems legit.
Plastic rods i got from aliexpress. And the casefan is from amazon (noctua fan)

Wifi dongle is also from amazon.

I 3d printed the mr addons (not the ugly M shaped top) case from thingy verse.

QC5NGOo.jpg


Def had a ton of fun with it. My fave controller for it must be the hori fighting commander.
And the 8bitdo sf30 (for snes)
The button placement is just better for snes games.

And for neogeo. An d15 to usb converter.
So i can use the old stuff (ngcd or aes stick)

SEaWUig.jpg
 

Miyazaki’s Slave

Gold Member
Ebay. Dirkthegathering was pretty ok.
Got my RTC , IO board from there + usb hub
And the 128 MB module also came from ebay. He made a lot of sales too. Forgot the name. But i did a test for 1 hour and it seems legit.
Plastic rods i got from aliexpress. And the casefan is from amazon (noctua fan)
Wifi dongle is also from amazon.
I 3d printed the mr addons (not the ugly M shaped top) case from thingy verse.

Awesome!!

Thank you so much for the info, I will give Ebay a try.
 

McCheese

Member
The CPS2 core beta came out yesterday, supports Puzzle Fighter so far but the other games can't be too far off - finally a proper home version of Super Street Fighter 2 X!




Man, this thread died on its arse didn't it? But anyway - for folks out of the loop, since the original OP the Mister now has a fully working CPS1 core which supports all the Capcom CPS1 and CPS1.5 games, such as the original Street Fighter 2 and the golden era side-scrolling fighters like Cadillacs and Dinosaurs and Final Fight.

For bullet hell fans we have a CAVE core now too, so far only the DonDonPachi core is released but there is beta now for the second (Dangun Feveron) core which should be public in a few weeks. Thankfully the mister menu core added support for monitor rotation and offsets so you don't have to go flipping your TV around to play it unless you want to go all in.




Then in the long term, we still have the Playstation core being worked on which is now able to get to the bios screen. The author seems pretty confident it's possible to get a fully working PSX on the Mister eventually.

 
Last edited:
Made the jump into building a MISTer. So far I have ordered

  • DE10-NANO CYCLONE V SE SOC KIT
  • SANDISK - Ultra Class 10 microSDXC Memory Card - 256 GB
  • MiSTer IO Board v6.1 with Fan - Noctua NF-A4x10
  • USB Hub v2.1 For MiSTer
  • MiSTer SDRAM XS-D v2.5 128MB Module
  • MiSTer FPGA Solid Copper Heatsink
  • MiSTer Inline Power Switch
  • MiSTer Power Supply Splitter Cable
  • MiSTer Case Acrylic
  • MiST SCART cable, MiST DB15 (f) to SCART TV
Other than the odd guide I’ve read here and there, I’m going in fairly blind. Anyone any tips or advice on anything I have bought? Am I missing anything?
 
Top Bottom