WiiMednafen

From GameBrew
WiiMednafen
Wiimednafen2.png
General
AuthorRaz0red
TypeConsole
Version0.2-pre
LicenseGPL-2.0
Last Updated2016/02/10
Links
Download
Website
Source

WiiMednafen is a partial port of the Mednafen emulator.

Emulators supported:

  • GameBoy/GameBoy Color.
  • GameBoy Advance.
  • Game Gear.
  • Lynx.
  • Mega Drive/Genesis.
  • Nintendo Entertainment System (NES).
  • Neo Geo Pocket.
  • PC Engine (CD)/TurboGrafx 16 (CD)/SuperGrafx (Fast version).
  • PC-FX.
  • Sega Master System.
  • Virtual Boy.
  • WonderSwan.

It should be noted that the Virtual Boy emulation included with this emulator is much improved over WiirtualBoy. Most games now run at 100% speed without frame skipping. These improvements are due entirely to Ryphecha (Mednafen) who optimized the core emulation code in addition to eliminating idle loops on a per game basis.

Installation

To install WiiMednafen, extract the zip file directly to your SD card or USB device (retain the hierarchical structure exactly).

Game ROMs and CD images can be loaded via SD, USB, and SMB (Network).

The wiimednafen directory (containing saves, BIOS images, etc) must reside on the same device as the /apps/wiimednafen/ directory (containing the application binary). These two directories must not be split across two different devices.

However, game ROMs and CD images can be loaded from any of the available devices (SD, USB, or SMB (Network)).

Emulator-specific files

To function properly, several emulators require additional files (BIOS images, etc.). These files must be placed in the wiimednafen directory.

File Description
lynxboot.img Lynx boot ROM image.
pcfx.rom PC-FX BIOS image.
syscard3.pce PC Engine CD BIOS
disksys.rom Famicom Disk System BIOS
gg.rom (Optional) NES Game Genie ROM image
gba_bios.bin (Optional) GameBoy Advance BIOS

SMB/Network support

WiiMednafen allows for loading ROM and CD images over the network via SMB. To enable SMB support, you must edit the "wiimednafen.conf" file located in the wiimednafen directory and provide values for the following:

  • share_ip - IP address of the computer to connect to.
  • share_name - Name of the share on the computer.
  • share_user - Name of the user to connect as.
  • share_pass - Password for the user.

Please note that loading CD images over the network will cause noticeable slowdown.

User guide

CD-ROM emulation

There are two types of CD-ROM emulation formats supported by WiiMednafen.

CUE+BIN:

  • CUE+BIN is the standard format popularized by CDRWin. All of the tracks are contained within a single BIN file.
  • The CUE file indicates where each of the tracks are located within that BIN file.
  • This is the preferred method for WiiMednafen since a properly dumped disk will always work.

CUE+ISO+Audio(Ogg Vorbis and MusePack):

  • In this format, the CUE file refers to one or more external files that represent the different tracks (versus all being in one BIN file).
  • The data tracks are typically represented by ISO files, while the audio tracks are represented by various audio format files.
  • WiiMednefan only supports Ogg Vorbis and MusePack audio formats (MP3, WAV, FLAC, etc. are not currently supported).

Many people have created dumps of PC Engine and PC-FX games in this format in an effort to reduce the overall game size. Unfortunately, many of these dumps leverage the MP3 audio format that is not support by WiiMednafen (or Mednafen proper) due to patent issues.

So, in summary CUE+BIN of a properly dumped game will always work with WiiMednafen. If you want to reduce the size of a dump, you must use Ogg Vorbis or MusePack audio formats. However, in keeping in alignment with Mednafen proper, MP3 support will never be added.

Double strike/240p mode support

Double strike (240p) mode is supported for all emulators except Virtual Boy.

You can enable double strike globally via Advanced > Video Settings > Double strike. The global value can be overridden a per-emulator basis via Emulator settings > Double strike.

By default, double strike is explicitly disabled for all handheld systems. If you want to enable double strike for those emulators, you must set their double strike mode (in "Emulator settings") to either "(default)" (observe global setting) or "Enabled" (explicitly enable double strike regardless of global setting).

Note: Double strike mode has not been tested on PAL Wii systems and as such may not function properly. Further, double strike for PAL-based games (288p) has not been implemented.

Rewind support

Note: Rewind support should be considered "experimental" for the current release. Enabling rewind may cause performance and/or stability issues. If you experience odd performance behavior or periodic crashes, you should consider disabling rewind.

Due to the amount of memory and processing required, rewind support is currently limited to the following emulators:

  • GameBoy/GameBoy Color.
  • Game Gear.
  • Lynx.
  • Nintendo Entertainment System (excludes FDS games).
  • Neo Geo Pocket.
  • PC Engine/TurboGrafx 16 (excludes CD games).
  • Sega Master System.
  • WonderSwan (excludes large SRAM sizes: Dicing Knight, Judgment Silversword).

To enable rewind, set the Advanced > Rewind option to Enabled.

When Rewind is enabled:

  • An additional menu item is displayed, "Rewind buttons".
  • Use the button to control how rewind buttons are added to the different controllers supported by WiiMednafen (Wiimote, Wiimote & Nunchuk, Classic, GameCube).

When Auto Mode is selected:

  • Each of the supported controllers are examined in turn to determine if a "(rewind)" button has been explicitly mapped (via "control settings" for the current game).
  • If a "(rewind)" button has not been explicitly mapped for a controller, the "default" rewind button is added automatically (see the "default rewind buttons" table below).

When Manual Mode is selected:

  • Rewind buttons must be mapped manually for each controller via a game's "control settings" (available in the "Game-specific settings" menu).
  • You might be wondering why you would ever want to use manual mode versus having the buttons added automatically. One reason is that with the manual mapping mode, a rewind button does not need to be added to each of the controllers.
  • For example, you might be playing a game that requires all of the buttons on the GameCube controller so you don't have one available for the rewind button. You could set the mode to manual and only map the rewind button to the Wiimote. Therefore, you can play the game using all of the GameCube's buttons, and still have the capability to rewind via the Wiimote.

Default rewind buttons:

Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
B 2 ZL L Rewind

Menu settings & Navigation

  • Menu settings - When exiting to the emulator menu after loading a ROM or CD image, two new items will be available, "Game-specific settings" and "Emulator settings".
  • Emulator settings - It contain settings specific to the emulator that is associated with the current game. For example, the Virtual Boy emulator settings allows for specifying the display mode to use (2D vs. 3D, etc.).
  • Game-specific settings - It contain settings that are specific to the current game. These settings include the ability to provide customized button mappings, etc.

Below are the control mappings for menu navigation.

Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
Up/Down Analog Up/Down or Left Analog Up/Down or C Stick Scroll through the Menu
Left/Right Analog Left/Right or Left Analog D-Pad Left/Right or C Stick Page through the Menu
A/2 C A A Select menu item
B/1 Z B B Previous menu
Home Home Home Z Exit to Homebrew channel

Systems & Controls

GameBoy/GameBoy Color

  • Below are the "default" control mappings for the GameBoy/GameBoy Color emulator.
  • Controls can be overridden on a game-by-game basis via the "Game-specific settings" menu item.
Wiimote Nunchuck Classic GCN Controller Action
D-Pad Analog D-Pad or Left Analog D-Pad or Analog Move
2 A A A A
1 C B B B
B Z L/ZL L L Trigger
A B R/ZR R R Trigger
Plus Plus Plus Start Start
Minus Minus Minus X/Y Select
Home Home Home Z Exit to menu

GameBoy Advance

  • The GameBoy Advance emulator supports the use of a real BIOS (versus the built-in BIOS).
  • To use a real BIOS, name the BIOS file "gba_bios.bin" and place it in the wiimednafen directory.
  • Then, change the "External BIOS" setting in the "Emulator settings" to "Enabled" (to get to this menu, you must load a GBA game and exit back to the menu).
  • Below are the "default" control mappings for the GameBoy Advance emulator.
  • Controls can be overridden on a game-by-game basis via the "Game-specific settings" menu item.
Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
D-Pad Analog D-Pad or Left Analog D-Pad or Analog Move
2 A A A A
1 C B B B
B Z L/ZL L L Trigger
A B R/ZR R R Trigger
Plus Plus Plus Start Start
Minus Minus Minus X/Y Select
Home Home Home Z Exit to menu

Game Gear

  • Below are the "default" control mappings for the Game Gear emulator.
  • Controls can be overridden on a game-by-game basis via the "Game-specific settings" menu item.
Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
D-Pad Analog D-Pad or Left Analog D-Pad or Analog Move
2 A A A 2
1 C B B 1
Plus Plus Plus Start Start
Home Home Home Z Exit to menu

Atari Lynx

  • Lynx emulation requires that the Lynx boot ROM image, "lynxboot.img" exists in the wiimednafen directory.
  • Below are the "default" control mappings for the Lynx emulator.
  • Controls can be overridden on a game-by-game basis via the "Game-specific settings" menu item.
Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
D-Pad Analog D-Pad or Left Analog D-Pad or Analog Move
2 A A A A
1 C B B B
A 1/2 R/ZR or L/ZL Start Pause
Plus Plus Plus X Option 1
Minus Minus Minus Y Option 2
Home Home Home Z Exit to menu

Mega Drive/Genesis

  • The MegaDrive emulator currently supports up to 2 3-button or 6-button controllers.
  • Whether to use 3 or 6 button controllers can be specified via the "Game-specific settings" menu.
  • Below are the "default" control mappings for the MegaDrive emulator.
  • Controls can be overridden on a game-by-game basis via the "Game-specific settings" menu item.
Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
D-Pad Analog D-Pad or Left Analog D-Pad or Analog Move
2 A A A A
1 C B B B
A 1/2 R/ZR or L/ZL Start Pause
Plus Plus Plus X Option 1
Minus Minus Minus Y Option 2
Home Home Home Z Exit to menu

Nintendo Entertainment System

  • The NES emulator currently supports up to 4 standard controllers.
  • To play Famicom Disk System (FDS) games, the disk system BIOS, "disksys.rom" must exist in the wiimednafen directory.
  • Below are the "default" control mappings for the NES emulator.
  • Controls can be overridden on a game-by-game basis via the "Game-specific settings" menu item.
Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
D-Pad Analog D-Pad or Left Analog D-Pad or Analog Move
2 A A A A
1 C B B B
A 1/2 R/ZR or L/ZL R/L * Special (See notes below)
Plus Plus Plus Start Start
Minus Minus Minus X/Y Select
Home Home Home Z Exit to menu
Game-specifics

Below are controls for specific NES games:

  • Zapper support (via Wiimote IR).
  • Arkanoid controller support (via Wiimote IR, Twist, and Tilt).
  • Space Shadow gun support (via Wiimote IR).
  • Oeka Kids support (via Wiimote IR).
  • And up to 2 Hypershot controllers (Hyper Sports).

Zapper:

Wiimote Action
Pointer (IR) Aim (Point at screen)
B Zapper Trigger
2 A
1 B
A * Special (See notes below)
Plus Start
Minus Select
Home Exit to Homebrew channel

Arkanoid:

Wiimote Action
Pointer (IR) Move (IR mode)
Sideway (Tilt) Move (Tilt mode)
Sideway (Twist) Move (Twist mode)
2 or B Arkanoid
A A
1 B
Plus Start
Minus Select
Home Exit to Homebrew channel

Space Shadow Gun:

Wiimote Action
D-Pad Move
Pointer (IR) Aim (Point at screen)
A Grenade
B Fire
2 A
1 B
Plus Start (Pause)
Minus Select
Home Exit to Homebrew channel
  • IR Wiimote mode - In this mode, you point the Wiimote at the screen and move it left and right.
  • Tilt Wiimote mode - In this mode, you hold the Wiimote horizontally and tilt it up and down (like a seesaw).
  • Twist Wiimote mode - In this mode, you hold the Wiimote horizontally and twist it forward and backward (like the Wiiware game Bit Trip Beat).

Hypershot (Hyper Sports):

Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
D-Pad or A Analog/C/Z D-Pad/Left Analog or X/Y D-Pad/Analog or X Jump
2/1 A/B A/B A/B Run
Plus Plus Plus Start Start
Minus Minus Minus Y Select
Home Home Home Z Exit to menu

Oeka Kids Tablet:

Wiimote Action
Pointer (IR) Move Cursor (Point at the screen)
B Oeka Kids
2 A
1 B
Plus Start
Minus Select
Home Exit to Homebrew channel

Note: SPECIAL is used for "Vs. Unisystem" and "Famicom Disk System" (FDS) games. For Vs. Unisystem games this button simulates inserting a coin. For FDS games, this button flips the disk (necessary for games that utilize both disk sides).

PAL mode
  • Currently, the only way to have a gameplay in PAL mode is via the file name of the ROM.
  • To enable PAL mode for a ROM, ensure the file name contains "(P)".
Game Genie
  • Game Genie emulation requires that the Game Genie ROM image, "gg.rom" exists in the wiimednafen directory.
  • Game Genie emulation can be enabled/disabled via the "Emulator settings" menu.

Neo Geo Pocket

  • Below are the "default" control mappings for the Neo Geo Pocket emulator.
  • Controls can be overridden on a game-by-game basis via the "Game-specific settings" menu item.
Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
D-Pad Analog D-Pad or Left Analog D-Pad or Analog Move
2 A A A A
1 C B B B
Plus Plus Plus Start Option
Home Home Home Z Exit to menu

PC Engine (CD) / TurboGrafx 16 (CD) / SuperGrafx (Fast version)

  • PC Engine CD emulation requires that the PC Engine CD BIOS file, "syscard3.pce" exists in the wiimednafen directory.
  • The PC Engine emulator currently supports up to 4 2-button or 6-button controllers.
  • Whether to use 2 or 6 button controllers can be specified via the "Game-specific settings" menu.
    • Note: Using a 6-button controller on a game that has not been designed to work with it will exhibit strange behaviors. Only use 6-button controllers on games that were designed to work with them.
  • Below are the "default" control mappings for the PC Engine emulator.
  • Controls can be overridden on a game-by-game basis via the "Game-specific settings" menu item.
Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
D-Pad Analog D-Pad or Left Analog D-Pad or Analog Move
2 A A A I
1 C B B II
(None) (None) y (None) III (6-button mode)
(None) (None) L/ZL (None) IV (6-button mode)
(None) (None) x (None) V (6-button mode)
(None) (None) R/ZR (None) VI (6-button mode)
Plus Plus Plus Start Run
Minus Minus Minus X/Y Select
Home Home Home Z Exit to menu
SuperGrafx
  • SuperGrafx games should be automatically detected and enabled by the emulator.
  • However, if you believe that a SuperGrafx game is not being detected appropriately (you see a blank screen, etc.) you can force it by ensuring that the ROM file name ends in ".sgx".

PC-FX

Note: PC-FX emulation is currently quite slow.

  • PC-FX emulation requires that the PC-FX BIOS image file, "pcfx.rom" exists in the wiimednafen directory.
  • The emulator currently supports up to 4 standard controllers.
  • Control mappings can be overridden on a game-by-game basis via the "Game-specific settings" menu item.
Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
D-Pad Analog D-Pad or Left Analog D-Pad or Analog Move
2 A A A I
1 C A B II
(None) (None) Y (None) III
(None) (None) L/ZL (None) IV
(None) (None) X (None) V
(None) (None) R/ZR (None) VI
Plus Plus Plus Start Run
Minus Minus Minus X/Y Select
Home Home Home Z Exit to menu

Sega Master System

  • The Master System emulator currently supports up to 2 standard controllers.
  • Control mappings can be overridden on a game-by-game basis via the "Game-specific settings" menu item.
Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
D-Pad Analog D-Pad or Left Analog D-Pad or Analog Move
2 A A A Fire 2
1 C B B Fire 1
Plus Plus Plus Start Pause
Home Home Home Z Exit to menu

Virtual Boy

  • The Virtual Boy emulation included with this emulator is much improved over WiirtualBoy.
    • Most games now run at 100% speed without frame skipping.
    • These improvements are due entirely to Ryphecha (Mednafen) who optimized the core emulation code in addition to eliminating idle loops on a per game basis.
    • If you do experience any issues, you may want to disable the idle loop "ROM patching".
    • This can be configured globally via "Emulator settings", or on a game-by-game basis via "Game-specific settings".
  • Below are the "default" control mappings for the Virtual Boy emulator.
  • Controls can be overridden on a game-by-game basis via the "Game-specific settings" menu item.
Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
D-Pad Analog D-Pad or Left Analog D-Pad or Analog Left Control Pad
N/A D-Pad Right Analog C Stick Right control pad
2 A A A A
1 C B B B
B Z L/ZL L L Trigger
A B R/ZR R R Trigger
Plus Plus Plus Start Start
Minus Minus Minus X/Y Select
Home Home Home Z Exit to menu

WonderSwan

  • Below are the "default" control mappings for the WonderSwan emulator.
  • Controls can be overridden on a game-by-game basis via the "Game-specific settings" menu item.

Normal:

Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
D-Pad Analog D-Pad or Left Analog D-Pad or Analog Move
2 A A A A
1 C B B B
B Z R/ZR R Y1
(None) 1 X X Y2
Minus 2 or Minus Y Y Y3
A B L/ZL L Y4
Plus Plus Plus Start Start
Home Home Home Z Exit to menu

Rotated:

Wiimote Horizontal Wiimote & Nunchuck Classic GCN Controller Action
D-Pad Analog D-Pad or Left Analog D-Pad or Analog Move
(None) 2 R/ZR R A
Minus 1 or Minus L/ZL L B
B Z Y Y X1
2 A X X X2
1 C A A X3
A B B B X4
Plus Plus Plus Start Start
Home Home Home Z Exit to menu

Language support

  • WiiMednafen supports the ability to switch between different languages via the "Advanced" menu's "Language" option.
  • The language translations files must be located in the wiimednafen/lang/ directory with each file having a ".lang" extension.
  • A sample "language" file has been provided as a template, "Hacker.lang".

Controls

Default rewind buttons (auto):

Wiimote:

B - Rewind

Wiimote + Nunchuk:

2 - Rewind

Classic controller/Pro:

zL - Rewind

GameCube controller:

L - Rewind

Screenshots

wiimednafen3.png

wiimednafen4.png

wiimednafen5.png

Media

WiiMednafen 0.1 Update (Chris Smith)

Known issues

This is a very early release of this port, and as such there are a number of known issues:

  • Save states do not display an associated screenshot.
  • PC-FX emulation is extremely slow.
  • Loading CD images via SMB (Network) will cause noticeable slowdown.
  • Cheats can't be created/edited within the WiiMednafen interface. (They must be created manually or preferably via Mednafen itself).
  • Individual cheats can't be enabled/disabled. Currently, all cheats are either enabled or disabled globally (via "Advanced" settings).
  • If you have a hard drive that falls asleep, it is highly recommended that you install the application and its support files on an SD card. This ensures that configuration changes and save states will persist properly, even if the drive goes to sleep.
  • Many emulator options are not currently exposed, they will be added with subsequent releases.
  • Several features of Mednafen proper are not currently supported, they will be added with subsequent releases.
  • The front-end is functional but minimal. This is something that may be addressed once I am satisfied with the overall state of the port.
  • Some Mega Drive/Genesis games may not run at 100% speed (Thunder Force IV).

Changelog

0.2-pre 2012/03/16

  • NES controls support:
    • Added Arkanoid controller support (via Wiimote IR, Twist, and Tilt).
    • Added Space Shadow gun support (via Wiimote IR).
    • Added Zapper support (via Wiimote IR).
    • Added Oeka Kids support (via Wiimote IR).
    • Added Hypershot controller support (Hyper Sports).
  • CD ROM cue sheets:
    • Added support for UTF-8 files.
    • Added support for high-ascii characters.
  • Inherited settings now display the inherited value and where they are being inherited from.
  • Added ability to specify language for WonderSwan via emulator settings. (see Mednafen 0.9.19 merge notes below).
  • Merged changes from 0.9.19 (Mednafen proper):
    • LYNX emulation:
      • Fixed EVERON detection emulation, and emulated a hardware bug regarding SCB data reading, the latter of which fixes a graphical glitch in "Joust".
    • NES emulation:
      • Improved iNES mapper 69 expansion sound emulation accuracy (volume interpretation and channel frequencies were off). (Gimmick! sound).
      • Fixed a bug in the MMC5 split-screen emulation that caused a garbage scanline in the intro sequence of "Uchuu Keibitai SDF".
      • Fixed MMC5 32K PRG switching mode.
    • WonderSwan emulation:
      • Fixed a reset initialization bug (due to a design flaw) that was partially corrupting internal and external EEPROM.
      • Implemented experimental setting "wswan.language"; it's only known to affect "Digimon Tamers: Battle Spirit".

0.1.1 2012/01/27

  • Minor update from 0.1:
    • Double strike fixes for PAL display modes:
      • PAL50: fixed minor display corruption issue.
      • PAL60: was completely broken, now works correctly.
    • Space Pinball Prototype (Virtual Boy):
      • Added idle loop patch, it now runs at full speed w/o frame skipping.
      • Added proper control mappings.

0.1 2012/01/13

  • Added support for MegaDrive/Genesis.
  • Added rewind support for the following emulators:
    • GameBoy/GameBoy Color.
    • Game Gear.
    • Lynx.
    • Nintendo Entertainment System (excludes FDS games).
    • Neo Geo Pocket.
    • PC Engine/TurboGrafx 16 (excludes CD games).
    • Sega Master System.
    • WonderSwan (excludes large SRAM sizes: Dicing Knight, Judgment Silversword).
  • VI + GX scaler (eliminates majority of scaling artifacts).
  • Default screen sizes per emulator (1x, 2x, Full, etc.).
  • Full widescreen support.
  • 16:9 correction option (displays 4:3 on widescreen displays).
  • Double strike (240p) mode support (can be enabled globally and per-emulator). By default, is explicitly disabled for handheld emulators.
  • Color trap filter (Eke-eke implementation).
  • Master system FM sound support (when region set to Domestic/Japan).
  • Virtual Boy SRAM bug fix (was not being persisted).
  • Fixed bug where screen sizing controls were not being properly rotated (games with vertical orientation).
  • Ability to map "rotate screen" button for WonderSwan (Klonoa, etc.).
  • WonderSwan control mappings now supports "profile" toggle. Allows for saving mappings for both orientations for a single game (Klonoa, etc.).
  • Updated Game Gear to display with proper aspect ratio.
  • Ability to set Volume globally and per-emulator.
  • Additional SMS/GG compatibility.
  • Fixed bug that prevented certain Ogg Vorbis files (multiples of 1024, go figure) from loading as part of a CD image (CUE sheet).
  • Fixed bug that prevented some FDS games (Metroid) from properly flipping the disk.

0.0 2011/10/10

  • Initial public release.

Credits

  • Ryphecha - Providing an incredible multi-emulator, optimizing the Virtual Boy emulation, and putting up with my questions.
  • mastershoes - WiiMednafen channel.
  • Hielkenator - Testing, Dutch translation.
  • cloudskipa - Testing.
  • Thiago Alves - Testing.
  • Davide Arielli - Testing.
  • Arikado - Helping with the initial Virtual Boy (WiirtualBoy) port.
  • Eke-eke - Double strike help and color trap filter implementation.
  • Tantric - Menu example code and SDL enhancements.

External links

Advertising: