MiSTer FPGA is an amazing open-source platform where they use an FPGA development board from Terasic as the base to be able to do cycle-accurate emulation of computers, arcade games, and gaming consoles. But to get everything set up isn’t very easy. My main interest is the arcade cores for being able to play my favorite old games precisely as it would be, playing on the original hardware. I’ll try to give you a rundown on how to get it to work here.
MiSTer FPGA Arcade Cores
There’s currently much work going on in the development of the different hardware emulations of old arcade games. When you install the SD-card for MiSTer FPGA, you get everything you need, except the ROM files (software) to run the supported games. But the ROM files (usually in a .zip file) needs to be converted to a usable format for the FPGA implementation.
What you need is a non-merged version of the MAME ROM Disclaimer: it’s illegal to download ROMs you don’t own. You used to have to run either a Windows BAT script, a Linux shell script, or copy your ROM files to a folder on your FPGA board and run a script locally. But changes are going on in the way the ROM files are handled. These changes are there to make everything easier to have an emulated board run different ROMs on it. It also makes it possible not to have to convert the zipped ROM file before using it. The new file type, called .mra, is the future. But how do you use it instead of the old way?
There’s already support for the new way of using .mra files in the update script on in the MiSTer FPGA installation. But to get the update script to use the new way of handling MAME ROMs, you need to do some extra steps.
To get it to work with .mra files, you need to make some changes.
The easiest option is to enable FTP to connect to your FPGA board. There’s a script to enable FTP included with the MiSTer FPGA standard installation so that you can enable it directly on your board via the Script menu.
The MiSTer FPGA password for SSH and FTP is 1
Create a new folder in /media/fat/_Arcade called mame
- Copy all the .zip MAME ROM files to /media/fat/_Arcade/mame
- Add a configuration file called update.ini into /media/fat/#Scripts
- Add the following text to the update.ini file:
- Run the script update.sh either from the menu system inside MiSTer FPGA or via SSH.
The update.sh script will now download all the cores needed into a folder called /media/fat/_Arcade/cores automatically. The needed .mra files will also be downloaded to the /media/fat/_Arcade folder automatically.
So the final file structure should now look like this:
- /media/fat/_Arcade has all the needed .mra files
- /media/fat/_Arcade/mame should contain your uploaded .zip MAME ROM files
- /media/fat/_Arcade/cores should contain all the .rbf FPGA emulation code files.
Sooner or later, all this will be unnecessary because the use of .mra files is going to be the standard way of doing things. But until then, you can make there changes and get a fully running system. There might be some small problems during the transition, but they will be ironed out with time.