Editing Mednafen
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 2: | Line 2: | ||
|logo = Newlogo-1-.png | |logo = Newlogo-1-.png | ||
|logowidth = 280 | |logowidth = 280 | ||
− | |version = {{ | + | |version = {{MednafenVer}} |
|active = Yes | |active = Yes | ||
− | |platform = | + | |platform = Windows, Linux, BSD and more |
− | + | |target = [[Atari Lynx emulators|Atari Lynx]], [[Apple II emulators|Apple II]], [[WonderSwan emulators|Bandai WonderSwan/Color]], [[Game Boy Advance emulators|Nintendo Game Boy Advance]], [[Nintendo Entertainment System emulators|Nintendo Entertainment System]], [[Super Nintendo emulators|Super Nintendo Entertainment System]], [[Virtual Boy emulators|Virtual Boy]], [[PC Engine (TurboGrafx-16) emulators|NEC PC Engine (TurboGrafx-16)]], [[PC-FX emulators|PC-FX]], [[Neo Geo Pocket emulators|SNK Neo Geo Pocket/Color]], [[PlayStation emulators|Sony PlayStation]], [[Master System emulators|Sega Master System]], [[Master System emulators|Game Gear]], [[Sega Genesis emulators|Genesis (Mega Drive)]], [[Sega Saturn emulators|Saturn]] | |
− | |developer = Ryphecha | + | |developer = Ryphecha, Mednafen Team |
− | |website = [https://mednafen.github.io mednafen.github.io] | + | |website = [https://mednafen.github.io/ mednafen.github.io] |
|source = [http://sourceforge.net/projects/mednafen/files/latest/download?source=files SourceForge] | |source = [http://sourceforge.net/projects/mednafen/files/latest/download?source=files SourceForge] | ||
− | |||
− | |||
}} | }} | ||
− | + | '''Mednafen''' (an acronym for '''My Emulator Doesn't Need A Frickin' Excellent Name''', formerly '''Nintencer''') is an open-source, [[Multi-system emulators|multi-system emulator]], driven from the command-line. Many of its cores are ports of other emulators, but many of them are also original. Its [[PlayStation emulators|Sony PlayStation]], [[Sega Saturn emulators|Sega Saturn]], [[Virtual Boy emulators|Nintendo Virtual Boy]], and [[PC Engine (TurboGrafx-16) emulators|NEC PC Engine (TurboGrafx-16)]] original cores are notable for their high quality, compatibility and accuracy. | |
− | '''Mednafen''' (an acronym for '''My Emulator Doesn't Need A Frickin' Excellent Name''', formerly '''Nintencer''') is an open-source, [[Multi-system emulators|multi-system emulator]], driven from the command-line. | ||
− | |||
− | Many of its cores are ports of other emulators | ||
==Downloads== | ==Downloads== | ||
− | + | * [{{MednafenURL|releases/}} Mednafen] Official releases. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Supported systems== | ==Supported systems== | ||
Line 66: | Line 25: | ||
|- | |- | ||
|[[Apple II emulators|Apple II]] | |[[Apple II emulators|Apple II]] | ||
− | |Original | + | |Original |
|- | |- | ||
|[[WonderSwan emulators|Bandai WonderSwan/Color]] | |[[WonderSwan emulators|Bandai WonderSwan/Color]] | ||
Line 72: | Line 31: | ||
|- | |- | ||
|[[PC Engine (TurboGrafx-16) emulators|NEC PC Engine/TurboGrafx-16 (CD)]] | |[[PC Engine (TurboGrafx-16) emulators|NEC PC Engine/TurboGrafx-16 (CD)]] | ||
− | |Original. CD-ROM interface based on [ | + | |Original. CD-ROM interface based on [http://www.geocities.co.jp/SiliconValley-Bay/9975/PC2E/english.html PC2E]. |
|- | |- | ||
|[[PC-FX emulators|NEC PC-FX]] | |[[PC-FX emulators|NEC PC-FX]] | ||
Line 78: | Line 37: | ||
|- | |- | ||
|[[Nintendo Entertainment System emulators|NES (Famicom)]] | |[[Nintendo Entertainment System emulators|NES (Famicom)]] | ||
− | |[http:// | + | |[http://freecode.com/projects/fceultra FCE Ultra] |
|- | |- | ||
|[[Game Boy Advance emulators|Nintendo Game Boy Advance]] | |[[Game Boy Advance emulators|Nintendo Game Boy Advance]] | ||
Line 90: | Line 49: | ||
|- | |- | ||
|[[Master System emulators|Sega Master System]] and [[Master System emulators|Game Gear]] | |[[Master System emulators|Sega Master System]] and [[Master System emulators|Game Gear]] | ||
− | |[ | + | |[http://www.techno-junk.org/smsplus.php SMS Plus] |
|- | |- | ||
|[[Sega Saturn emulators|Sega Saturn]] | |[[Sega Saturn emulators|Sega Saturn]] | ||
− | |Original | + | |Original |
|- | |- | ||
|[[Neo Geo Pocket emulators|SNK Neo-Geo Pocket/Color]] | |[[Neo Geo Pocket emulators|SNK Neo-Geo Pocket/Color]] | ||
Line 99: | Line 58: | ||
|- | |- | ||
|[[PlayStation emulators|Sony PlayStation]] | |[[PlayStation emulators|Sony PlayStation]] | ||
− | |Original | + | |Original |
|- | |- | ||
|[[Super Nintendo emulators|SNES (Super Famicom)]] | |[[Super Nintendo emulators|SNES (Super Famicom)]] | ||
− | |[[higan|bsnes v059]] | + | |[[higan|bsnes v059]] |
|} | |} | ||
+ | |||
+ | ==Overview== | ||
+ | Mednafen only has a command line interface, so its interface might be hard to use to new users. | ||
+ | |||
+ | The best cores in Mednafen are those that are original - which are the Sony PlayStation, NEC PC Engine, PC-FX, Sega Saturn and Nintendo Virtual Boy cores. The NEC PC Engine core is one of the best emulators for that system, with a Fast and Accurate version. The PlayStation core is native resolution only and features a high degree of accuracy and compatibility.<ref>[http://forum.fobby.net/index.php?t=msg&th=1114 Mednafen PSX bugs reports]</ref> The Nintendo Virtual Boy core is one of the best for the system. | ||
+ | |||
+ | Other cores improve upon emulators that have been long abandoned and rarely updated. These include the SNK Neo Geo Pocket/Color, Bandai WonderSwan/Color, and Atari Lynx cores. | ||
+ | |||
+ | Other cores are less useful, as there are better options in stand-alone emulators (Nintendo Entertainment System, Sega Genesis, Master System, and Super Nintendo Entertainment System). These cores might even be based on out-dated versions. For instance, the Super Nintendo Entertainment System core is based on an old outdated version of bsnes. This is before the performance/accuracy/balanced cores — 0.50x territory — with a couple of changes by Ryphecha. | ||
+ | |||
+ | It is unknown at this time whether Mednafen's Nintendo Game Boy Advance core is better than [[VisualBoy Advance#VBA-M|VBA-M]]. | ||
+ | |||
+ | [[RetroArch]] uses the Sony PlayStation, NEC PC Engine, SNK Neo Geo Pocket/Color, Nintendo Virtual Boy, Sega Saturn and Bandai WonderSwan/Color cores of Mednafen, so it might make sense to use that instead. | ||
==Using Mednafen== | ==Using Mednafen== | ||
− | + | Mednafen is pretty easy to get up and running. You can use a frontend like medgui. However, a good text editor like [http://www.notepad-plus-plus.org/ Notepad++] is all you need if you need to change settings. | |
===BIOS=== | ===BIOS=== | ||
− | Most cores do not require any BIOS except for the Sony PlayStation, NEC PC Engine CD, PC-FX, and Sega Saturn cores. BIOS files need to be placed into a folder called "firmware" in your Mednafen directory. Mednafen is very picky about which BIOS to use | + | Most cores do not require any BIOS except for the Sony PlayStation, NEC PC Engine CD, PC-FX, and Sega Saturn cores. [[Emulator_Files#Multi-System|BIOS files]] need to be placed into a folder called "firmware" in your Mednafen directory. Mednafen is very picky about which BIOS to use. The ones that you might need are: |
'''Sony PlayStation''' | '''Sony PlayStation''' | ||
Line 123: | Line 95: | ||
'''Sega Saturn''' | '''Sega Saturn''' | ||
− | * sega_101.bin | + | * sega_101.bin |
− | * mpr-17933.bin - | + | * mpr-17933.bin |
− | + | ||
+ | All of these come with the [[Emulator_Files#Multi-System|RetroArch BIOS pack]] and are correctly named. | ||
===CUE=== | ===CUE=== | ||
Line 151: | Line 124: | ||
===Configuring controls=== | ===Configuring controls=== | ||
Once in-game, to configure your controller at any time, press Alt+Shift+1 and it will guide you through the setup. Press Alt+Shift+2 and so on for each additional controller for multiplayer. | Once in-game, to configure your controller at any time, press Alt+Shift+1 and it will guide you through the setup. Press Alt+Shift+2 and so on for each additional controller for multiplayer. | ||
− | |||
− | |||
===Graphical enhancements=== | ===Graphical enhancements=== | ||
Line 162: | Line 133: | ||
* [{{MednafenURL|documentation/pce_fast.html#pce_fast.nospritelimit}} pce_fast.nospritelimit] | * [{{MednafenURL|documentation/pce_fast.html#pce_fast.nospritelimit}} pce_fast.nospritelimit] | ||
* [{{MednafenURL|documentation/pcfx.html#pcfx.nospritelimit}} pcfx.nospritelimit] | * [{{MednafenURL|documentation/pcfx.html#pcfx.nospritelimit}} pcfx.nospritelimit] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Cheats=== | ===Cheats=== | ||
Line 194: | Line 141: | ||
To add an existing GS/AR/PAR/CB cheat code, use "Gameshark Codes". Else, if you have a memory address and a given value for it, choose "Search Code" then "Add Code", then put in the address (as $XXXXXXXX), the byte range depending on the values your variable can take (1 is 0-255, 2 is 0-65535, etc), and the numeric value proper (in decimal, or hexadecimal if followed by a lower-case h). Various cheat types exist too (S(substitute on read), C(substitute on read with compare) or R(replace value before vblank) -- R being the default recommended option). | To add an existing GS/AR/PAR/CB cheat code, use "Gameshark Codes". Else, if you have a memory address and a given value for it, choose "Search Code" then "Add Code", then put in the address (as $XXXXXXXX), the byte range depending on the values your variable can take (1 is 0-255, 2 is 0-65535, etc), and the numeric value proper (in decimal, or hexadecimal if followed by a lower-case h). Various cheat types exist too (S(substitute on read), C(substitute on read with compare) or R(replace value before vblank) -- R being the default recommended option). | ||
− | Searching for new cheat codes is also possible. The general idea being comparing variables, going back to gameplay so that this variable changes | + | Searching for new cheat codes is also possible. The general idea being comparing variables, going back to gameplay so that this variable changes then back to the cheat engine searching for any variables that changed in that particular way. For example: |
* '''Infinite Health / Ammo / Time / Money:''' you start with 5 hearts, reset search (in the cheat engine, not reset the game you silly!), you get hurt to 4 hearts, search variables that decreased, get healed back to 5 hearts, search variables that increased, and so on. For the money, you can start with 0 when you have 0 gold and try earning/spending money. You could try using save states as well when you don't have as much freedom changing the value. | * '''Infinite Health / Ammo / Time / Money:''' you start with 5 hearts, reset search (in the cheat engine, not reset the game you silly!), you get hurt to 4 hearts, search variables that decreased, get healed back to 5 hearts, search variables that increased, and so on. For the money, you can start with 0 when you have 0 gold and try earning/spending money. You could try using save states as well when you don't have as much freedom changing the value. | ||
* '''Infinite Lives:''' It's game over when the internal variable for "Lives" is 0. So in some cases, when it shows "REST/LEFT=1" in-game and you lose a life then it becomes 0 but you're still allowed to play on your last life, that means the internal counter for lives has actually changed from 2 to 1 and not from 1 to 0, but in other games (where if you die on "LIVESx1" it's game over) it's not the case. In the case of lives, you actually know the exact value: reset search initially, then (if you have 2 lives on a game that allows you to play on "LEFT=0") search for variables with values equal to 3. Lose a life, search for variables equal 2, and so on. | * '''Infinite Lives:''' It's game over when the internal variable for "Lives" is 0. So in some cases, when it shows "REST/LEFT=1" in-game and you lose a life then it becomes 0 but you're still allowed to play on your last life, that means the internal counter for lives has actually changed from 2 to 1 and not from 1 to 0, but in other games (where if you die on "LIVESx1" it's game over) it's not the case. In the case of lives, you actually know the exact value: reset search initially, then (if you have 2 lives on a game that allows you to play on "LEFT=0") search for variables with values equal to 3. Lose a life, search for variables equal 2, and so on. | ||
Line 203: | Line 150: | ||
The goal of these searches is to narrow down the list of results to a single or handful of addresses (variables) pertinent directly to whatever we're searching for. The search always starts with "Reset Search", going back in-game (Alt+C) to play and change stuff, then back to the cheat engine to compare the "Original" value with the "Current" value. Then you check the results page which must get smaller and smaller (if it's 0 results, you screwed up and need to reset search to try again). The comparing options offered by Mednafen are as follow, with O being the Original value, and C being the Current value (when you reset a search, they're the same): | The goal of these searches is to narrow down the list of results to a single or handful of addresses (variables) pertinent directly to whatever we're searching for. The search always starts with "Reset Search", going back in-game (Alt+C) to play and change stuff, then back to the cheat engine to compare the "Original" value with the "Current" value. Then you check the results page which must get smaller and smaller (if it's 0 results, you screwed up and need to reset search to try again). The comparing options offered by Mednafen are as follow, with O being the Original value, and C being the Current value (when you reset a search, they're the same): | ||
− | # '''O==V1 && C==V2''' if you know the explicit numerical values for the variable | + | # '''O==V1 && C==V2''' if you know the explicit numerical values for the variable you write it here. The first time, just write the same value in both. Subsequent times, leave O blank and press Enter so that you don't write the old value again, and write the current value under C. |
# '''O==V1 && |O-C|==V2''' same, but instead of writing the current value you write by how much it changed (0 if old value equals new value) | # '''O==V1 && |O-C|==V2''' same, but instead of writing the current value you write by how much it changed (0 if old value equals new value) | ||
# '''|O-C|==V2''' you write by how much it changed (0 if old value equals new value) | # '''|O-C|==V2''' you write by how much it changed (0 if old value equals new value) | ||
Line 211: | Line 158: | ||
===Further reading=== | ===Further reading=== | ||
− | * {{MednafenURL|documentation}} | + | * {{MednafenURL|documentation/}} |
==Memory cards== | ==Memory cards== | ||
Line 232: | Line 179: | ||
* Rename the files you want to transfer with the names of the RetroArch memcard files. | * Rename the files you want to transfer with the names of the RetroArch memcard files. | ||
* Place the new ones in the system folder. | * Place the new ones in the system folder. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Frontends== | ==Frontends== | ||
− | + | * [http://sourceforge.net/projects/medgui/ Medgui] (Windows) | |
− | + | * [http://forum.fobby.net/index.php?t=msg&th=924&start=0& MedGui Reborn] (Windows) | |
− | + | * [https://medlaunch.info MedLaunch] (Windows) | |
+ | * [https://github.com/AmatCoder/mednaffe Mednaffe] (Multi-platform) | ||
==Netplay== | ==Netplay== | ||
Line 258: | Line 196: | ||
* Super Nintendo Entertainment System | * Super Nintendo Entertainment System | ||
* Sony PlayStation | * Sony PlayStation | ||
− | |||
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;" | {| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;" | ||
Line 270: | Line 207: | ||
|- | |- | ||
| '''CONS''' || | | '''CONS''' || | ||
− | * Command-line only ( | + | * Command-line only (you can use a frontend, though) |
* Weird, convoluted settings (or lack thereof) | * Weird, convoluted settings (or lack thereof) | ||
− | * Super Nintendo Entertainment System emulation | + | * Super Nintendo Entertainment System emulation will be slow to you if you're on a low-end computer (uses bsnes core) |
* Sony PlayStation core is accurate but slow | * Sony PlayStation core is accurate but slow | ||
* Only supports 2 players on Genesis | * Only supports 2 players on Genesis | ||
− | * | + | * Frontend doesn't always save settings correctly |
+ | * Frontend defaults to detecting compressed ROM archives instead of the actual ROMs (you can still load uncompressed ROMs by selecting "All files *.*" from the drop-down menu) | ||
|} | |} | ||
Line 327: | Line 265: | ||
==External links== | ==External links== | ||
* [http://fantasyanime.com/emuhelp/emuhelp_mednafen.htm Mednafen tutorial] | * [http://fantasyanime.com/emuhelp/emuhelp_mednafen.htm Mednafen tutorial] | ||
− | |||
− | |||
− | |||
==References== | ==References== | ||
<references/> | <references/> | ||
Line 336: | Line 271: | ||
[[Category:Emulators]] | [[Category:Emulators]] | ||
[[Category:Multi-emulators]] | [[Category:Multi-emulators]] | ||
− | + | [[Category:Atari consoles]] | |
− | |||
− | |||
− | |||
− | |||
− | [[Category:Atari | ||
[[Category:Nintendo Entertainment System emulators]] | [[Category:Nintendo Entertainment System emulators]] | ||
[[Category:Super Nintendo emulators]] | [[Category:Super Nintendo emulators]] | ||
[[Category:PC Engine (TurboGrafx-16) emulators]] | [[Category:PC Engine (TurboGrafx-16) emulators]] | ||
[[Category:PC-FX emulators]] | [[Category:PC-FX emulators]] | ||
− | |||
[[Category:Game Boy/Game Boy Color emulators]] | [[Category:Game Boy/Game Boy Color emulators]] | ||
[[Category:Game Boy Advance emulators]] | [[Category:Game Boy Advance emulators]] | ||
Line 354: | Line 283: | ||
[[Category:Sega Saturn emulators]] | [[Category:Sega Saturn emulators]] | ||
[[Category:Virtual Boy emulators]] | [[Category:Virtual Boy emulators]] | ||
− | |||
[[Category:Netplay]] | [[Category:Netplay]] | ||
[[Category:Windows emulation software]] | [[Category:Windows emulation software]] | ||
[[Category:Linux emulation software]] | [[Category:Linux emulation software]] | ||
− | [[Category: | + | [[Category:macOS emulation software]] |