--------------------------------------------
WiiMednafen v0.0 release README
--------------------------------------------

Ported by raz0red

--------------------------------------------
Overview
--------------------------------------------

WiiMednafen is a partial port of the Mednafen emulator.
[http://mednafen.sourceforge.net/]

Emulators supported:

 * GameBoy/GameBoy Color
 * GameBoy Advance
 * Game Gear
 * Lynx
 * 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.

--------------------------------------------
Why port Mednafen?
--------------------------------------------

So, a common question might be, "Why release a Mednafen port when a number
of the included emulators already exist for the Wii?". After releasing the
port of the Mednafen Virtual Boy emulator (WiirtualBoy), my intent was to
release a port of the WonderSwan emulator. However, along the way, I decided
that rather than replicate a lot of code between projects, I would release
a port of Mednafen itself. Also, the possibility does exist for some issues
to be resolved with the Mednafen code base. For example, the Lynx port does
resolve some of the graphical glitches that exist in WiiHandy (RoadBlasters,
Cyberball 2072).

--------------------------------------------
Known issues
--------------------------------------------

This is a very early release of this port, and as such there are a number of
known issues. Further, this emulator hasn't had a tremendous amount of testing
so I am fairly certain there are a number of unknown issues as well. Please 
let me know if you experience any via the Google Code project.

 * Only standard controllers are supported in this release (no support for
   NES Zapper, etc.).
 * 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 like rewind, etc. 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. 

--------------------------------------------
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).

NOTE: 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.

 * 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.

--------------------------------------------
Menu settings and navigation
--------------------------------------------

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:
 ------------------

 Emulator settings 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:
 -----------------------

 Game-specific settings contain settings that are specific to the current
 game. These settings include the ability to provide customized button 
 mappings, etc.

 Menu Controls:
 --------------

   Wiimote:

     Left/Right  : Scroll (if sideways orientation)
     Up/Down     : Scroll (if upright orientation)
     A/2         : Select
     B/1         : Back
     Home        : Exit to Homebrew Channel
     Power       : Power off

   Classic controller/Pro:

     Up/Down     : Scroll
     A           : Select
     B           : Back
     Home        : Exit to Homebrew Channel

   Nunchuk controller:

     Up/Down     : Scroll
     C           : Select
     Z           : Back

   GameCube controller:

     Up/Down     : Scroll
     A           : Select
     B           : Back
     Z           : Exit to Homebrew Channel

--------------------------------------------
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.

 Controls:
 --------------

   Wiimote:

     D-pad          : Move
     2              : A
     1              : B
     +              : Start
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   Wiimote + Nunchuk:

     Analog         : Move
     A              : A
     C              : B
     +              : Start
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   Classic controller/Pro:

     D-pad/Analog   : Move
     A              : A
     B              : B
     +              : Start
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   GameCube controller:

     D-pad/Analog   : Move
     A              : A
     B              : B
     Start          : Start
     X/Y            : Select
     Home           : Display WiiMednafen menu (see above)

--------------------------------------------
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.

 Controls:
 --------------

   Wiimote:

     D-pad          : Move
     2              : A
     1              : B
     B              : L
     A              : R
     +              : Start
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   Wiimote + Nunchuk:

     Analog         : Move
     A              : A
     C              : B
     Z              : L
     B              : R
     +              : Start
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   Classic controller/Pro:

     D-pad/Analog   : Move
     A              : A
     B              : B
     L/zL           : L
     R/zR           : R
     +              : Start
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   GameCube controller:

     D-pad/Analog   : Move
     A              : A
     B              : B
     L              : L
     R              : R
     Start          : Start
     X/Y            : Select
     Home           : Display WiiMednafen menu (see above)

--------------------------------------------
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.

 Controls:
 --------------

   Wiimote:

     D-pad          : Move
     2              : Button 2
     1              : Button 1
     +              : Start
     Home           : Display WiiMednafen menu (see above)

   Wiimote + Nunchuk:

     Analog         : Move
     A              : Button 2
     C              : Button 1
     +              : Start
     Home           : Display WiiMednafen menu (see above)

   Classic controller/Pro:

     D-pad/Analog   : Move
     A              : Button 2
     B              : Button 1
     +              : Start
     Home           : Display WiiMednafen menu (see above)

   GameCube controller:

     D-pad/Analog   : Move
     A              : Button 2
     B              : Button 1
     Start          : Start
     Home           : Display WiiMednafen menu (see above)

--------------------------------------------
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.

 Controls:
 --------------

   Wiimote:

     D-pad          : Move
     2              : A
     1              : B
     A              : Pause
     +              : Option 1
     -              : Option 2
     Home           : Display WiiMednafen menu (see above)

   Wiimote + Nunchuk:

     Analog         : Move
     A              : A
     C              : B
     1/2            : Pause
     +              : Option 1
     -              : Option 2
     Home           : Display WiiMednafen menu (see above)

   Classic controller/Pro:

     D-pad/Analog   : Move
     A              : A
     B              : B
     L/zL/R/zR      : Pause
     +              : Option 1
     -              : Option 2
     Home           : Display WiiMednafen menu (see above)

   GameCube controller:

     D-pad/Analog   : Move
     A              : A
     B              : B
     Start          : Pause
     R              : Option 1
     L              : Option 2
     Home           : Display WiiMednafen menu (see above)

--------------------------------------------
Nintendo Entertainment System (NES)
--------------------------------------------

The NES emulator currently supports up to 4 standard controllers (other
controllers such as the NES Zapper, etc. are not supported yet).

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.

 Controls:
 --------------

   Wiimote:

     D-pad          : Move
     2              : A
     1              : B
     +              : Start
     -              : Select
     A              : *Special (See notes below)
     Home           : Display WiiMednafen menu (see above)

   Wiimote + Nunchuk:

     Analog         : Move
     A              : A
     C              : B
     +              : Start
     -              : Select
     1/2            : *Special (See notes below)
     Home           : Display WiiMednafen menu (see above)

   Classic controller/Pro:

     D-pad/Analog   : Move
     A              : A
     B              : B
     +              : Start
     -              : Select
     L/R/zL/zR      : *Special (See notes below)
     Home           : Display WiiMednafen menu (see above)

   GameCube controller:

     D-pad/Analog   : Move
     A              : A
     B              : B
     Start          : Start
     X/Y            : Select
     R/L            : *Special (See notes below)
     Home           : Display WiiMednafen menu (see above)

 *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 ROM play in PAL mode is via the file name
 of the ROM. To enable PAL mode for a ROM, ensure the file name contains
 "(P)". In the future I will be adding the ability to force PAL mode via
 "Game-specific settings".

 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.

 Controls:
 --------------

   Wiimote:

     D-pad          : Move
     2              : A
     1              : B
     +              : Option
     Home           : Display WiiMednafen menu (see above)

   Wiimote + Nunchuk:

     Analog         : Move
     A              : A
     C              : B
     +              : Option
     Home           : Display WiiMednafen menu (see above)

   Classic controller/Pro:

     D-pad/Analog   : Move
     A              : A
     B              : B
     +              : Option
     Home           : Display WiiMednafen menu (see above)

   GameCube controller:

     D-pad/Analog   : Move
     A              : A
     B              : B
     Start          : Option
     Home           : Display WiiMednafen menu (see above)

-----------------------------------------------------------
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.

 Controls:
 --------------

   Wiimote:

     D-pad          : Move
     2              : I
     1              : II
     +              : Run
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   Wiimote + Nunchuk:

     Analog         : Move
     A              : I
     C              : II
     +              : Run
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   Classic controller/Pro:

     D-pad/Analog   : Move
     A              : I
     B              : II
     Y              : III (6-button mode)
     L/zL           : IV  (6-button mode)
     X              : V   (6-button mode)
     R/zR           : VI  (6-button mode)
     +              : Run
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   GameCube controller:

     D-pad/Analog   : Move
     A              : I
     B              : II
     Start          : Run
     X/Y            : Select
     Home           : Display WiiMednafen menu (see above)

 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.

 Controls:
 --------------

   Wiimote:

     D-pad          : Move
     2              : I
     1              : II
     +              : Run
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   Wiimote + Nunchuk:

     Analog         : Move
     A              : I
     C              : II
     +              : Run
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   Classic controller/Pro:

     D-pad/Analog   : Move
     A              : I
     B              : II
     Y              : III
     L/zL           : IV
     X              : V
     R/zR           : VI
     +              : Run
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   GameCube controller:

     D-pad/Analog   : Move
     A              : I
     B              : II
     Start          : Run
     X/Y            : Select
     Home           : Display WiiMednafen menu (see above)

--------------------------------------------
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.

 Controls:
 --------------

   Wiimote:

     D-pad          : Move
     2              : Fire 2
     1              : Fire 1
     +              : Pause
     Home           : Display WiiMednafen menu (see above)

   Wiimote + Nunchuk:

     Analog         : Move
     A              : Fire 2
     C              : Fire 1
     +              : Pause
     Home           : Display WiiMednafen menu (see above)

   Classic controller/Pro:

     D-pad/Analog   : Move
     A              : Fire 2
     B              : Fire 1
     +              : Pause
     Home           : Display WiiMednafen menu (see above)

   GameCube controller:

     D-pad/Analog   : Move
     A              : Fire 2
     B              : Fire 1
     Start          : Pause
     Home           : Display WiiMednafen menu (see above)

--------------------------------------------
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.

 Controls:
 --------------

   Wiimote:

     D-pad          : Move
     2              : A
     1              : B
     A              : R
     B              : L
     +              : Start
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   Wiimote + Nunchuk:

     Analog         : Move
     A              : A
     C              : B
     B              : R
     Z              : L
     +              : Start
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   Classic controller/Pro:

     D-pad/Analog   : Move
     A              : A
     B              : B
     R/zR           : R
     L/zL           : L
     +              : Start
     -              : Select
     Home           : Display WiiMednafen menu (see above)

   GameCube controller:

     D-pad/Analog   : Move
     A              : A
     B              : B
     R              : R
     L              : L
     Start          : Start
     X/Y            : Select
     Home           : Display WiiMednafen menu (see above)

--------------------------------------------
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.

 Controls (Normal):
 ------------------

   Wiimote:

     D-pad          : Move
     2              : A
     1              : B
     B              : Y1
     -              : Y3
     A              : Y4
     +              : Start
     Home           : Display WiiMednafen menu (see above)

   Wiimote + Nunchuk:

     Analog         : Move
     A              : A
     C              : B
     Z              : Y1
     1              : Y2
     2/-            : Y3
     B              : Y4
     +              : Start
     Home           : Display WiiMednafen menu (see above)

   Classic controller/Pro:

     D-pad/Analog   : Move
     A              : A
     B              : B
     R/zR           : Y1
     X              : Y2
     Y              : Y3
     L/zL           : Y4
     +              : Start
     Home           : Display WiiMednafen menu (see above)

   GameCube controller:

     D-pad/Analog   : Move
     A              : A
     B              : B
     R              : Y1
     X              : Y2
     Y              : Y3
     L              : Y4
     Start          : Start
     Home           : Display WiiMednafen menu (see above)

 Controls (Rotated):
 -------------------

   Wiimote:

     D-pad          : Move
     -              : B
     B              : X1
     2              : X2
     1              : X3
     A              : X4
     +              : Start
     Home           : Display WiiMednafen menu (see above)

   Wiimote + Nunchuk:

     Analog         : Move
     2              : A
     1/-            : B
     Z              : X1
     A              : X2
     C              : X3
     B              : X4
     +              : Start
     Home           : Display WiiMednafen menu (see above)

   Classic controller/Pro:

     D-pad/Analog   : Move
     R/zR           : A
     L/zL           : B
     Y              : X1
     X              : X2
     A              : X3
     B              : X4
     +              : Start
     Home           : Display WiiMednafen menu (see above)

   GameCube controller:

     D-pad/Analog   : Move
     R              : A
     L              : B
     Y              : X1
     X              : X2
     A              : X3
     B              : X4
     Start          : Start
     Home           : Display WiiMednafen menu (see above)
     
     
--------------------------------------------
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". If
you create a translation, please contact me and I will include it in the next
release. Thanks!

--------------------------------------------
WiiMednafen crashes, code dumps, etc.
--------------------------------------------

If you are having issues with WiiMednafen, please let me know about it via one
of the following locations:

[http://code.google.com/p/wii-mednafen/issues/list]
[http://www.wiibrew.org/wiki/Talk:WiiMednafen]

--------------------------------------------
Credits / Special Thanks
--------------------------------------------

mastershoes  : Creating the WiiMednafen channel
Ryphecha     : Providing an incredible multi-emulator, optimizing the
               Virtual Boy emulation, and putting up with my questions.
Arikado      : Helping with the initial Virtual Boy (WiirtualBoy) port.
Tantric      : Menu example code and SDL enhancements

--------------------------------------------
Change Log
--------------------------------------------

10/10/11 (0.0)
-------------------
 - Initial release