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|Mednafen}}
+
|version = {{MednafenVer}}
 
|active = Yes
 
|active = Yes
|platform = [[Emulators on Windows|Windows]]</br>[[Emulators on Linux|Linux]]</br>[[Emulators on BSD|BSD]]</br>[[Emulators on PS3|PS3]]<br/>[[Emulators on Wii|Wii]]<br/>[[Emulators on GCW Zero|GCW Zero]]
+
|platform = [[Emulators on Windows|Windows]]</br>[[Emulators on Linux|Linux]]</br>BSD</br>[[Emulators on PS3|PS3]]<br/>[[Emulators on Wii|Wii]]<br/>[[Emulators on GCW Zero|GCW Zero]]
 
|target = [[Apple II line|Apple II]]</br>[[Atari Lynx emulators|Atari Lynx]]</br>[[WonderSwan emulators|Bandai WonderSwan/Color]]</br>[[Game Boy Advance emulators|Nintendo Game Boy Advance]]</br>[[Virtual Boy emulators|Virtual Boy]]</br>[[Nintendo Entertainment System emulators|Nintendo Entertainment System]]</br>[[Super Nintendo emulators|Super Nintendo Entertainment System]]</br>[[PC Engine (TurboGrafx-16) emulators|NEC PC Engine/TurboGrafx-16]]</br>[[PC-FX emulators|PC-FX]]</br>[[Neo Geo Pocket emulators|SNK Neo Geo Pocket/Color]]</br>[[PlayStation emulators|Sony PlayStation]]</br>[[Master System emulators|Sega Master System]]</br>[[Sega Genesis emulators|Sega Genesis (Mega Drive)]]</br>[[Sega Saturn emulators|Sega Saturn]]</br>[[Master System emulators|Sega Game Gear]]
 
|target = [[Apple II line|Apple II]]</br>[[Atari Lynx emulators|Atari Lynx]]</br>[[WonderSwan emulators|Bandai WonderSwan/Color]]</br>[[Game Boy Advance emulators|Nintendo Game Boy Advance]]</br>[[Virtual Boy emulators|Virtual Boy]]</br>[[Nintendo Entertainment System emulators|Nintendo Entertainment System]]</br>[[Super Nintendo emulators|Super Nintendo Entertainment System]]</br>[[PC Engine (TurboGrafx-16) emulators|NEC PC Engine/TurboGrafx-16]]</br>[[PC-FX emulators|PC-FX]]</br>[[Neo Geo Pocket emulators|SNK Neo Geo Pocket/Color]]</br>[[PlayStation emulators|Sony PlayStation]]</br>[[Master System emulators|Sega Master System]]</br>[[Sega Genesis emulators|Sega Genesis (Mega Drive)]]</br>[[Sega Saturn emulators|Sega Saturn]]</br>[[Master System emulators|Sega Game Gear]]
 
|developer = Ryphecha</br>Mednafen Team
 
|developer = Ryphecha</br>Mednafen Team
Line 13: Line 13:
 
}}
 
}}
  
'''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.
+
'''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.
 
 
Many of its cores are ports of other emulators; however, many of its cores are also original and are notable for their high quality, compatibility and accuracy.
 
  
 
==Downloads==
 
==Downloads==
Line 39: Line 37:
 
|[https://github.com/gameblabla/mednafen-gcw Source]<br/><small>GCW Zero port (Outdated)</small>
 
|[https://github.com/gameblabla/mednafen-gcw Source]<br/><small>GCW Zero port (Outdated)</small>
 
|}
 
|}
 
 
==Overview==
 
The best cores in Mednafen are those that are original - which are the [[PlayStation emulators|Sony PlayStation]], [[PC Engine (TurboGrafx-16) emulators|NEC PC Engine (TurboGrafx-16)]], [[PC-FX emulators|PC-FX]], [[Sega Saturn emulators|Sega Saturn]] and [[Virtual Boy emulators|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.
 
 
Some 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]].
 
 
Mednafen's Sony PlayStation, NEC PC Engine (Fast, not Accurate, version), SNK Neo Geo Pocket/Color, Nintendo Virtual Boy, Sega Saturn and Bandai WonderSwan/Color emulators are all available as [[libretro]] cores under the name "Beetle", so it might make more sense to use [[RetroArch]] instead.
 
 
Version 1.31.0 added experimental support for [https://system16.com/hardware.php?id=711 ST-V games] that don't require decryption chips or special hardware. Refer to the [https://mednafen.github.io/documentation/ss.html#Section_stv ST-V section of the official documentation] for more details and a list of explicitly supported games.
 
  
 
==Supported systems==
 
==Supported systems==
Line 104: Line 86:
 
|[[higan|bsnes v059]] & Original ([https://mednafen.github.io/documentation/snes_faust.html SNES Faust])
 
|[[higan|bsnes v059]] & Original ([https://mednafen.github.io/documentation/snes_faust.html SNES Faust])
 
|}
 
|}
 +
 +
==Overview==
 +
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]].
 +
 +
Mednafen's Sony PlayStation, NEC PC Engine (Fast, not Accurate, version), SNK Neo Geo Pocket/Color, Nintendo Virtual Boy, Sega Saturn and Bandai WonderSwan/Color emulators are all available as [[libretro]] cores under the name "Beetle", so it might make more sense to use [[RetroArch]] instead.
 +
 +
Version 1.31.0 added experimental support for [https://system16.com/hardware.php?id=711 ST-V games] that don't require decryption chips or special hardware. Refer to the [https://mednafen.github.io/documentation/ss.html#Section_stv ST-V section of the official documentation] for more details and a list of explicitly supported games.
  
 
==Using Mednafen==
 
==Using Mednafen==
Line 173: Line 168:
 
* ss.correct_aspect 0
 
* ss.correct_aspect 0
  
Here is also a little list of the cores without an correct_aspect setting but its width is still wrong, so changing its xscale values will give pixel perfect.
+
Here is also a little list of the cores without an correct_aspect setting but its width is still wrong, so changing it's xscale values will give pixel perfect.
 
These cores (except PC-FX) also have a boolean setting called h_overscan which if it's enabled (1) some overscan (which is most known as black bars) on both sides will appear, but width size is still inaccurate.
 
These cores (except PC-FX) also have a boolean setting called h_overscan which if it's enabled (1) some overscan (which is most known as black bars) on both sides will appear, but width size is still inaccurate.
 
All values are replaced from 1X scale, if you want 2X or 3X scale, multiply it with a calculator.
 
All values are replaced from 1X scale, if you want 2X or 3X scale, multiply it with a calculator.
Line 194: Line 189:
 
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, then back to the cheat engine searching for any variables that changed in that particular way. For example:
+
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 198:
 
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, 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 && 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 241: Line 236:
 
[[File:memory_card_manager.png|400px]]
 
[[File:memory_card_manager.png|400px]]
  
It allows to transfer each of the game saves from a shared memory card to a .mcr memory file used by Mednafen. As it was described above, you just need to start game and check for '''sav''' folder inside Mednafen system directory. Open with Memory Card Manager 1.4 the memory file created for your game by Mednafen and open the shared memory card file from which you wish to transfer a save entry. When there would be a dialogue 'Do you want to replace 'SAVE_ENTRY_NAME' click 'Yes' and then save the file to the '''sav''' folder (the older one should be replaced).
+
It allows to transfer each of the game saves from a shared memory card to a .mcr memory file used by Mednafen. As it was described above you just need to start game and check for '''sav''' folder inside Mednafen system directory. Open with Memory Card Manager 1.4 the memory file created for your game by Mednafen and open the shared memory card file from which you wish to transfer a save entry. When there would be a dialogue 'Do you want to replace 'SAVE_ENTRY_NAME' click 'Yes' and then save the file to the '''sav''' folder (the older one should be replaced).
  
 
==Frontends==
 
==Frontends==
Line 358: Line 353:
 
[[Category:Windows emulation software]]
 
[[Category:Windows emulation software]]
 
[[Category:Linux emulation software]]
 
[[Category:Linux emulation software]]
 +
[[Category:macOS emulation software]]
 
[[Category:BSD emulation software]]
 
[[Category:BSD emulation software]]

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)