Mednafen is a multi-system emulator used to execute game console opcode under a GNU/Linux environment. The emulator is designed for use with ROM files from several different popular game console platforms. It allows a Linux PC or mobile device to act much like an SNES, Sega Genesis or GameBoy. Emulation doesn’t differ significantly from genuine hardware, which makes it attractive for those who want an authentic experience when they’re playing. The incongruous name for the technology reportedly comes from “My Emulator Doesn’t Need a Frickin’ Excellent Name.” As an open-source application, mednafen wasn’t designed for software pirates to exchange ROM files over the Internet. Rather, the app is meant for hobbyists and gamers to play homebrew public domain games without the need for original hardware. It can also be acceptably used with games that gamers legally acquire from an external interface connected to genuine cartridges. Any use of mednafen in other contexts is against the user agreement.
That being said, there are hundreds of homebrew games for these consoles that are fully compatible with the mednafen platform. You can easily acquire the emulator with the repositories provided by your Linux distribution. Simply use the package manager that you’re accustomed to. The software emulates the type of microchips that the ROM files needed to run under their original hardware. Even computers with relatively anemic system resources can run many homebrew titles in this fashion.
Method 1: Running Homebrew ROM Files with mednafen
Assuming that you’ve already installed the software and legally acquired a homebrew ROM file, open a terminal window by holding down CTRL+ALT+T or start it from an Applications or Whisker menu. At the CLI prompt, type the following command:
Replace the path with whatever file you’re trying to start. The latest version of the software supports ROM files for the following platforms:
– Sega Genesis
– NeoGeo Pocket & Pocket Color
– Bandai WonderSwan
– PC Engine SuperGrafx
– TurboGrafx 16
– Virtual Boy
– NES & SNES
– GameBoy, GameBoy Color & GameBoy Advance
– Atari Lynx
When you start the software, you will notice a stream of data in the terminal window. Another window will pop over it. The game runs inside of inside of this window. The information in this section deals with graphics adapter and other compatibility issues. This information can be very useful if you’re trying to troubleshoot a stubborn ROM file, but you can generally ignore most of it. If your game were to ever stop functioning and you couldn’t exit it with the Esc key, then you could actually focus on the terminal window again and push CTRL+C to stop it cleanly. The mednafen terminal software would then actually leave a bit of a mocking statement before exiting.
Under normal circumstances, pushing Esc would quit a game. Pushing F11 will instead perform a hard reset on your game. This is the same as cycling the power on a genuine video game console. Please keep in mind that ALT+Enter is the combination used to enter a full screen environment. While F11 is commonly bound to full screen commands, pushing it in mednafen will reset your game. Full screen options offer much better resolution than those played in a mere window. Window geometry will default itself to whatever makes sense for the platform that the ROM in question was written for. If it’s a GameBoy or GameBoy Color ROM, then it will understandably offer much lower resolutions than those written for the TurboGrafx 16 or a comparable console. Color depth will depend more on the hardware expectations than your own hardware as well. Putting a window in full screen will additionally help to cut down on the amount of screen tearing you’ll experience.
Method 2: Saving and Managing Games
While mednafen can emulate the same sort of battery backup saves used by original hardware-defined cartridges, it also supports the use of save states. The program generates a file that stores the exact contents of what would have been in the RAM addresses of the game opcode should it have been running under genuine hardware. These are essentially snapshots of the virtualized hardware. To take one, push the F5 key. You will see a message at the bottom of your emulated screen that indicates, “State 0 saved.”
If you were to push F5 again, then this would save directly over the previous state you were saving. This overwrites whatever information was held in that previous save state.
Each save state represents a discrete separate data file inside of the .mednafen directory in your home directory. They’re kept in a compressed state in a subdirectory entitled mcs, with each having a file extension that indicates what state it belongs to. You could always copy these to another drive if you wanted to back them up, but you shouldn’t attempt to edit them by yourself. You can corrupt a game in the process. If you want to change save state, push a number 0-9 on the keyboard, and you will receive a screen that shows you different dockets under which you can save a state. This provides you the luxury of having up to ten saves for each game you play. Once you’ve selected a number, push F5 to save under it. Take good care to ensure that you’re not accidentally saving over an existing game.
Push F7 to load the save state that’s you’ve currently selected, and take note of the fact that each save state shows you a separate screenshot to help you know which is saved where. You can push – to move one save state slot down and = to move a single save state slot up. This makes it possible to easily change slots while playing. Unlike actual hardware, saves will work regardless of region. Since the game ROM files in question are freeware to begin with, they largely lack region codes.
You may wish to repeatedly save and load states to get over a difficult area of game, or perhaps to figure out the end result of different choices that a player character could make.