dborth / snes9xgx

Snes9x GX - Port of Snes9x for Wii
http://wiibrew.org/wiki/Snes9x_GX
Other
439 stars 62 forks source link

Snes9x GX

https://github.com/dborth/snes9xgx (Under GPL License)

Snes9x GX is a Super Nintendo / Super Famicom emulator for the Nintendo Wii, Snes9x GX is a port of Snes9x (http://www.snes9x.com).

Snes9x GX is a "homebrew application" which means you will need a way to run unsigned code on your Nintendo Wii. The best website for getting started with Wii homebrew is WiiBrew (www.wiibrew.org).

TABLE OF CONTENTS

NIGHTLY BUILDS

Download the latest builds from continuous integration:

Name Status File
Snes9x GX Wii/Wii U Build Status Emulator
Snex9x GX GameCube Build Status Emulator

FEATURES

UPDATE HISTORY

[4.5.5 - March 30, 2024]

[4.5.4 - July 31, 2023]

[4.5.3 - June 15, 2022]

[4.5.2 - March 23, 2021]

[4.5.1 - February 6, 2021]

[4.5.0 - January 31, 2021]

[4.4.9 - January 18, 2021]

[4.4.8 - June 29, 2020]

[4.4.7 - March 4, 2020]

[4.4.6 - February 16, 2020]

[4.4.5 - February 1, 2020]

[4.4.4 - October 13, 2019]

[4.4.3 - April 13, 2019]

[4.4.2 - January 25, 2019]

[4.4.1 - January 4, 2019]

[4.4.0 - December 23, 2018]

[4.3.9 - August 24, 2018]

[4.3.8 - August 16, 2018]

[4.3.7 - December 9, 2016]

[4.3.6 - September 12, 2016]

[4.3.5 - February 06, 2016]

[4.3.4 - February 2, 2016]

[4.3.3 - September 3, 2015 - July 7, 2015]

[4.3.2 - November 9, 2012]

[4.3.1 - July 7, 2012]

[4.3.0 - July 6, 2012]

[4.2.9 - January 14, 2012]

[4.2.8 - May 15, 2011]

[4.2.7 - March 23, 2011]

[4.2.6 - March 19, 2011]

[4.2.5 - October 7, 2010]

[4.2.4 - August 14, 2010]

[4.2.3 - July 22, 2010]

[4.2.2 - July 20, 2010]

[4.2.1 - July 14, 2010]

[4.2.0 - June 20, 2010]

[4.1.9 - May 19, 2010]

[4.1.8 - April 9, 2010]

[4.1.7 - April 9, 2010]

[4.1.6 - March 30, 2010]

[4.1.5 - December 23, 2009]

[4.1.4 - December 2, 2009]

[4.1.3 - November 30, 2009]

[4.1.2 - October 7, 2009]

[4.1.1 - September 19, 2009]

[4.1.0 - September 16, 2009]

[4.0.9 - July 22, 2009]

[4.0.8 - July 9, 2009]

[4.0.7 - June 30, 2009]

[4.0.6 - May 30, 2009]

[4.0.5 - May 26, 2009]

[4.0.4 - April 30, 2009]

[4.0.3 - April 23, 2009]

[4.0.2 - April 22, 2009]

[4.0.1 - April 13, 2009]

[4.0.0 - April 4, 2009]

[009 - January 27, 2009]

[008 - December 24, 2008]

[007 - November 19, 2008]

[006 - October 15, 2008]

Tantric

michniewski

[005 - September 23, 2008]

michniewski

Tantric

[004 - August 5, 2008]

[003 - July 25, 2008]

[002 - July 21, 2008]

[001 - July 12, 2008]

[older update history at the bottom]

INSTALLATION

To install Snes9x GX you will need to copy over the "apps" and "snes9xgx" folders (directories) from this archive to your SD Card. It comes pre-packaged in the Homebrew Channel format (which you will use to launch the emulator). Once you've copied the directories to your SD Card you will need to place your ROM image(s) into "\snes9xgx\roms" directory and place any cheat code files (optional) in the "\snes9xgx\cheats" directory. Once this is done you can proceed to run the emulator via the Homebrew Channel.

Satellaview (BS-X)

Snes9x GX supports loading BS games. The BSX BIOS is not required. If you wish to use one, download the English + No DRM BS-X ROM here: https://project.satellaview.org/downloads.htm

Put it in your snes9xgx folder, renamed to BS-X.bin.

INITIAL SETUP

The first time you run Snes9x GX it will create a new "settings.xml" file on the SD Card which stores the configuration of the emulator. So when you run Snes9x GX it will automatically detect your storage medium and will bring you to the ROM selection screen. If you want to run a game with the default settings then just highlight the game and press "A" on it and it will load. However, you can configure Snes9x GX to your liking.

CONFIGURATION

To configure Snes9x GX press "A" on the "Settings" box. This will brings up the "Settings" screen where you can configure the Button Mappings, Video, Saving, Menu and Network. You can also restore the settings to their initial values by clicking on the "Reset Settings" and you can return to the ROM selection screen by clicking on "Go Back".

Button Mappings

Once in the Button Mappings settings menu you'll have the option to pick to configure the SNES Controller, Super Scope, SNES Mouse and the Justifier. Once you select a controller to configure you will be presented with which input device you would like to configure. To set the button simply click on the input device you wish to use and then pick the button you wish to map. After you select a button to configure Snes9x GX will prompt you to press the button you wish to assign to the button you've selected. Below is a list of each controller followed by the input devices and the default values for those devices.

SNES Controller

    GameCube Controller

        A = A
        B = B
        X = X
        Y = Y
        L = L
        R = R
        START = START
        SELECT = Z
        UP = UP
        DOWN = DOWN
        LEFT = LEFT
        RIGHT = RIGHT

    Wiimote

        A = B
        B = 2
        X = 1
        Y = A
        START = PLUS
        SELECT = MINUS
        UP = UP
        DOWN = DOWN
        LEFT = LEFT
        RIGHT = RIGHT

    Classic Controller

        A = A
        B = B
        X = X
        Y = Y
        L = L
        R = R
        UP = UP
        DOWN = DOWN
        LEFT = LEFT
        RIGHT = RIGHT

    Wiimote Nunchuck + Wiimote

        A = A
        B = B
        X = C
        Y = Z
        L = 2
        R = 1
        START = PLUS
        SELECT = MINUS
        UP = UP
        DOWN = DOWN
        LEFT = LEFT
        RIGHT = RIGHT

Super Scope

    GameCube Controller

        FIRE = A
        AIM OFFSCREEN = B
        CURSOR = Z
        TURBO ON = Y
        TURBO OFF = X
        PAUSE = START

    Wiimote

        FIRE = B
        AIM OFFSCREEN = A
        CURSOR = MINUS
        TURBO ON = UP
        TURBO OFF = DOWN
        PAUSE = PLUS

SNES Mouse

    GameCube Controller

        LEFT BUTTON = A
        RIGHT BUTTON = B

    Wiimote

        LEFT BUTTON = A
        RIGHT BUTTON = B

Justifier

    GameCube Controller

        FIRE = B
        AIM OFFSCREEN = A
        START = START

    Wiimote

        FIRE = B
        AIM OFFSCREEN = A
        START = PLUS

VIDEO

The Video settings screen will allow you to configure various video settings including the Rendering method, Scaling, Filtering, Screen Zoom and Screen Position. You can toggle the options for the first three selections by clicking on them. To make the Filtering option you select you must enable Filtering under the Rendering setting.

Rendering

Scaling

Filtering

Screen Zoom will bring up a menu where you can adjust the Zoom level by using the left and right arrows that you can click on. The default setting is 100%.

The Screen Position option will bring up a screen with four arrows that allows you to move the position of the output. You'll only need to use this option if the screen is not centered. Combining this with the Zoom and Scaling you should be able to get a proper display on your television.

SAVING & LOADING

From this setup option you can configure the way Snes9x GX loads and saves. Your options are Load Method, Load Folder, Save Method, Save Folder, Auto Load and Auto Save. Clicking on all of the options except the folders will let you toggle through their settings. Clicking on the folder options will bring up a text box where you can enter in the folder you wish to use for your save data. Snes9x GX has two types of saves - one is the SRAM which is the save game data (this is only applicable if the game you're playing supports saving) and the other is Snapshots which are real time saves. Real time saves allow you to save your game in it's current state and resume it at a later time.

MENU

This settings screen will allow you to customize a few aspects on how the Menu works including the Exit Action, Wiimote Orientation, Music Volume and the Sound Effects Volume. The Exit Action can be set to "Return to Loader", "Return to Wii Menu" and "Power off Wii". The Wiimote Orientation can be set to Vertical or Horizontal and then you can increase and decrease the Music and Sound Effects Volume.

ARTWORK

Artwork, covers or screenshots will be displayed on the main menu when each game is selected. Select which type to display on the menu by going to Settings > Menu > Preview Image. Each image resides in the respectively named folder (eg: sd:/snes9xgx/covers). They should be a PNG named exactly the same as as the rom and sized no more than 640px by 480px. Recommendend format is 316px x 224px PNG with a 32bit depth.

NETWORK

If you're going to be using your Network (LAN) to load and/or save from you will need to enter in the SMB share settings you've setup on your computer via this settings menu. You will need to enter in the SMB Share IP, Share Name, Share Username and Share Password. If you do not have a password on your SMB share then set the SMB Share Password to "0".

FILE BROWSER

The File Browser will automatically load when you start the emulator and it will automatically list the contents of the "\snes9xgx\roms\" directory on your SD card. Like mentioned above in the Configuration -> Saving & Loading you can specifically a different directory to load from. To launch a game (the game can either be uncompressed or inside a ZIP archive) simply click on it and it will load. You may also change the directory you're in by clicking on "Up One Level".

GAMEPLAY

Once you load a game you can access another option menu by pressing the "Home" button. This will bring up the Save, Load, Reset, Controller and Cheats options. From this menu you can also return to the File Browser by selecting "Main Menu". To leave the menu and resume game play select "Close".

The Save option will allow you to save either your SRAM or a Snapshot. Once you've selected Save two options will appear named "New SRAM" and "New Snapshot". Clicking on these will create a new save. Once you have a save you can save over it by selecting it instead of a "New" option. The Load option will allow you to load your saved SRAM or Snapshot. Reset will reset the game. If you pick Controller you can toggle between which controller you wish to use to control your game with. The last option, Cheats, will allow you to toggle your cheat codes (see below).

CHEATS

Cheats are loaded from the "\snes9xgx\cheats" directory and must be in the SNES9X .CHT file format. They also must be named the same name as the game you're playing with the .cht extentsion. An example would be if you have a ROM called "Super Mario World.smc" you would need to name your .cht file to "Super Mario World.cht". You can find a link to a massive collection of Super NES cheat codes in the Links section (below).

TURBO MODE

TurboMode increases the playback speed of the game by about 2x. To use TurboMode simply press the c-stick (yellow control stick) to the right and hold it right as long as you want playback to be double-speed. Release the c-stick when you want normal playback speed to resume.

IMPORTING AND EXPORTING SRAM

Snes9x GX now includes the ability to load SRAM from Snes9x on other platforms (Mac/PC/Linux/etc) and to save back to those platforms.

To load a SRAM file on the Wii or Gamecube from another platform, ensure the name of the SRM file matches the filename of the ROM (except with an SRM extension).

To use a Wii/GameCube SRAM file on another platform just do the opposite: copy the saved SRAM file to the other platform. You may have to rename the file to be what that version of snes9x expects it to be.

UPDATE HISTORY (OLD)

[2.0.1b8]

[2.0.1b7]

NOTE: due to changes in the settings, this version will reset your emulator options settings, so if you had saved preferences you will need to make your changes to the emulator settings again and save them.

[2.0.1b6a]

[2.0.1b6]

[2.0.1b5]

[2.0.1b1 through 2.0.1b4]

[2.0 WIP6]

CREDITS

                  Coding & menu design                            Tantric
                  Additional coding                           michniewski
                  Menu artwork                              the3seashells
                  Menu sound                                 Peter de Man
                  Extra coding                     Zopenko, Burnt Lasagna,
                                                     Askot, bladeoner

                  Snes9x GX GameCube                    SoftDev, crunchy2,
                                                        eke-eke, others

                  Snes9x                                      Snes9x Team
                  libogc/devkitPPC                   shagkur & WinterMute
                  FreeTypeGX                              Armin Tamzarian

LINKS

                  SNES9X GX Project Page
                  https://github.com/dborth/snes9xgx

                  Wii Homebrew Community
                  www.wiibrew.org

                  Free (Public Domain) ROMs
                  www.pdroms.de

                  Cheat Codes
                  www.cheatzilla.com