MCPcopy Create free account
hub / github.com/dborth/snes9xgx

github.com/dborth/snes9xgx @5.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 5.0.0 ↗ · + Follow
2,785 symbols 5,853 edges 203 files 295 documented · 11% updated 6d agoPre-release · 2024-04-26★ 4862 open issues

Browse by type

Functions 2,459 Types & classes 326
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

  • Based on Snes9x 1.62.3 (with faster Blargg S-SMP module)
  • Wiimote, Nunchuk, Wii Classic, Wii Pro, Wii Super NES Classic, Wii U Pro, and Gamecube controller support
  • Wii U GamePad support (requires homebrew injection into Wii U VC title)
  • Retrode/Xbox 360/Hornet controller support
  • Mayflash PC044 and MF105 SNES to USB adapter support
  • SNES Superscope, Mouse, Justifier support
  • Cheat support
  • Artwork (artwork, cover or screenshot) support
  • Satellaview (BS-X) support
  • Auto Load/Save Game Snapshots and SRAM
  • Custom controller configurations
  • SD, USB, DVD, SMB, Zip, and 7z support
  • Autodetect PAL/NTSC, 16:9 widescreen support
  • Original/filtered/unfiltered video modes
  • Video filters - hq2x, Scale2x, Scanlines, 2xBR, DDT
  • Turbo Mode - up to 2x the normal speed
  • Zoom option to zoom in/out
  • Open Source!

UPDATE HISTORY

[5.0.0 - July 6, 2026]

  • Completely rewritten filters hq2x, Scale2x, 2xBR, DDT with improved performance
  • Replaced scanlines filter with a rewritten GX/TEV powered one
  • Significantly improved video rendering performance
  • Rewritten audio code with a hysteretic dynamic-rate controller
  • Refactored/improved synchronization and frameskip handling
  • Significantly reduced input lag by moving input polling to exactly when Snes9x polls (at vblank) instead of after each frame
  • Replaced C texture generation with optimized PPC ASM
  • New blur effect when pausing a game
  • Improved widescreen experience by removing the pillarbox (only letterboxed)
  • Reworked save/load device and preferences logic
  • Fixed crash when removing devices (eg: SD/USB)
  • Fixed flashes/artifacts/colors when switching video modes
  • Streamlined/enhanced build
  • General performance enhancements
  • Other general enhancements
  • Compiled with latest devkitPPC/libogc2

[4.5.8 - April 13, 2026]

  • Compiled with latest devkitPPC/libogc2

[4.5.7 - July 30, 2025]

  • Added GC Loader support (mrysav)
  • Compiled with latest devkitPPC/libogc2

[4.5.6 - May 18, 2025]

  • Compiled with latest devkitPPC/libogc2
  • Added support for the Mayflash MF105 adapter (thanks Tyler Sanders!)
  • Improved PAL behaviour
  • Added upstream SRAM/ExtHiROM fixes from Snes9x

[4.5.5 - March 30, 2024]

  • Added 2xBR, 2xBR-lv1 and DDT video filters (Hyllian)
  • Compiled with latest devkitPPC/libogc
  • Added Swedish translation (IsakTheHacker)
  • Updated translations

[4.5.4 - July 31, 2023]

  • Compiled with latest devkitPPC/libogc
  • Updated to newer Snes9x (bladeoner)
  • Switch to chosen video mode on first load if not automatic
  • Added frameskip option and added PAL 576p support (Tanooki16)
  • Added SNES Hi-Res Mode ON/OFF and Sprite Limit ON/OFF (Tanooki16)
  • Disabled peripheral devices by default if not selected in controller settings (Tanooki16)
  • Added support for BML-format .cht files and text scrolling for cheat names (InfiniteBlueGX)
  • Added a B/1 button press to cancel the button remapping prompt (InfiniteBlueGX)
  • Fixed default game selection menu "jump" upon startup w/classic controller (InfiniteBlueGX)
  • Fixed a crash when selecting Cancel after removing an SD/USB device and re-opening the app (InfiniteBlueGX)
  • Added option to mute game audio (InfiniteBlueGX)
  • Added 1+2+Plus menu toggle option for Wiimote (InfiniteBlueGX)
  • Added new controller configuration options for the SNES Mouse (InfiniteBlueGX)
  • Added option to choose which button/combo is used to toggle the menu (InfiniteBlueGX)
  • Added option to remap the ABXY buttons to the right analog stick (InfiniteBlueGX)

[4.5.3 - June 15, 2022]

  • Compiled with latest devkitPPC/libogc
  • Updated to latest Snes9x (bladeoner)
  • Added "Enable Turbo Mode" toggle to the Video Settings menu (based on InfiniteBlueGX's code)
  • Updated translations
  • Improved forwarder support
  • Added ability to use "Original" render mode in 480p configurations (niuus)
  • Added new speeds for Super FX overclocking (niuus)
  • Added a toggle to hide/show the SRAM save button in the save menu UI (saulfabregwiivc)
  • Added Scale2x video filter and rename Scanlines filter (thanks Tanooki16!)
  • Adjusted scanline filter (Thanks Tanooki16!)

[4.5.2 - March 23, 2021]

  • Added support for Mayflash PC044 2-port SNES USB adapter (thanks EthanArmbrust!)
  • Added L+R+START for back to menu for Wii Classic Controller
  • Updated French translation (thanks Tanooki16!)
  • Fixed issue with displaying screenshots

[4.5.1 - February 6, 2021]

  • Fixed SD2SP2 / SD gecko issues (again)

[4.5.0 - January 31, 2021]

  • Fixed SD2SP2 issues
  • Changed max game image dimensions to 640x480 to support screenshots
  • Fixed .bs files not appearing

[4.4.9 - January 18, 2021]

  • Compiled with latest devkitPPC/libogc
  • Added ability to change the player mapped to a connected controller
  • Corrected aspect ratio by changing viWidth to 644 (vaguerant)
  • Significant memory usage reductions (fonts and loading cover images)
  • Other minor fixes

[4.4.8 - June 29, 2020]

  • Compiled with latest devkitPPC/libogc
  • Fixed graphical glitches on GameCube port
  • Translation updates
  • Added Wii U vWii Channel, widescreen patch, and now reports console/CPU speed
  • Upstream updates for Snes9x
  • BS-X rom is now optional. If missing, will load directly into the game
  • Other minor fixes

[4.4.7 - March 4, 2020]

  • Fixed 3rd party controllers (again)
  • Fixed GameCube version issues with SD2SP2

[4.4.6 - February 16, 2020]

  • Fixed box art not working on GameCube
  • Fixed some 3rd party controllers with invalid calibration data

[4.4.5 - February 1, 2020]

  • Disable ROM information display by default
  • Updates from Snes9x
  • Added support for serial port 2 (SP2 / SD2SP2) on Gamecube
  • Xbox 360/Hornet controller support
  • Compiled with latest libraries

[4.4.4 - October 13, 2019]

  • Added retrode support (thanks revvv!)
  • Added L+R+START trigger to go back to emulator
  • Added option to show local time
  • Fixed buttons for all SNES peripherals (thanks niuus!)
  • Fixed bg_preview image (thanks Tanooki16!)
  • Fixed ZL button mapping for Wii U GamePad
  • Fixed SuperFX2 Core Speed (Yoshi's Island was running too fast)
  • Fixed Dragon Ball Z Hyper Dimension black screen
  • Reduce compile time by unmacro Tile file

[4.4.3 - April 13, 2019]

  • Game-specific fixes (Chou Aniki, Rendering Rangers R2, Tenshi no Uta, Circuit USA)
  • Increased maximum cheats to 150
  • Fixed BPS patch support
  • Snes9x drawing optimization (3-4% speed boost)
  • Updated to latest upstream Snes9x
  • Updated spanish translation (thanks Psycho RFG)
  • Fixed preview image not displaying on GameCube
  • Added option to not append Auto to save filenames
  • Fixed crash when used as wiiflow plugin
  • Fixed crash on launch when using network shares
  • Fixed issues with on-screen keyboard
  • Updated Korean translation

[4.4.2 - January 25, 2019]

  • Fixed Wii U GamePad support
  • Added ability to load external fonts and activated Japanese/Korean translations. Simply put the ko.ttf or jp.ttf in the app directory
  • Added ability to customize background music. Simply put a bg_music.ogg in the app directory
  • Updated to latest upstream Snes9x
  • Added speed hacks for Super Mario RPG and Kirby's Dreamland 3
  • Added ability to change preview image source with + button (thanks Zalo!)

[4.4.1 - January 4, 2019]

  • Fixed controllers with no analog sticks
  • Fixed GameCube build

[4.4.0 - December 23, 2018]

  • Updated core to 1.58
  • Improved WiiFlow integration
  • Added Wii U GamePad support (thanks Fix94!)
  • Added setting to change sound interpolation
  • Fixed mangled image when switching between HQ2x and scanlines filters
  • Added BS-X BIOS loading
  • Fixed Tengai Mekyou Zero black screen
  • Fixed Chou Aniki black screen
  • APU Hacks for 1.58 core to fix Earthworm Jim 2
  • Adjusted SA1 settings to fix Super Mario RPG slowdowns with 1.58 core

[4.3.9 - August 24, 2018]

  • Revert core completely back to Snes9x 1.52
  • Rewritten audio handling
  • Fix tinny audio issue when going from the game to the menu and back
  • Fixed random in-game crashes
  • Fixed sound issues from turbo mode

[4.3.8 - August 16, 2018]

  • Partially update core to 1.56 (with less accurate but faster Blargg audio core)
  • Improved audio synchronization with dynamic rate control - fixes audio crackles
  • Memory optimizations to free up more MEM1 for Snes9x
  • Disable multi pixel format support for a speed boost
  • Add soft and sharp video filtering options
  • Add MSU1 support (thanks qwertymodo!)
  • Add BPS soft-patching support (thanks qwertymodo!)
  • Allow loader to pass two arguments instead of three (libertyernie)
  • Backport some MSU1 fixes from snes9x
  • Fix a few potential crashes caused by the GUI
  • Compiled with latest libOGC/devkitPPC
  • Removed update check completely
  • Compilation fixes for DevkitPPC/Gamecube/Linux

[4.3.7 - December 9, 2016]

  • Hide saving dialog that pops up briefly when returning from a game

[4.3.6 - September 12, 2016]

  • Added the delete save file (SRAM / Snapshot) option
  • Changed the box colors for the SRAM and Snapshots files to match the color scheme of the emu GUI
  • Change the "Power off Wii" exit option to completely turn off the wii, ignoring the WC24 settings
  • Updated emulator credits
  • Added an option to switch between screenshots, covers, or artworks images, with their respectively named folders inside /snes9xgx at the device's root. You can set which one to show, by going to Settings > Menu > Preview Image. The .PNG image file needs to have the same name as the ROM (e.g.: Contra III.png)

[4.3.5 - February 06, 2016]

  • Added Fix94 wiiflow plugin mode
  • Removed sound from GUI and now gets better perfomance/FPS on games like Yoshi's Island and Kirby Dream Land 3.

[4.3.4 - February 2, 2016]

  • Fixed screenshot image dimensions
  • Fixed screenshot option, it no longer creates an additional "dummy" file
  • Fixed performance issues, reverted to previous vsync method
  • Removed automatic download of newer versions by Burnt Lasagna.
  • Compiled with devkitPPC r26 Note: If compiled with devkitPPC r27 some games, like Final Fantasy III and Chrono Trigger would crash on a battle

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

  • Added Cebolleto's preview image support
  • Added WiiUPro controller support
  • Added a Scanline filter option
  • Increase preview image size and reduce game list width
  • Added a background to the preview image
  • Added a Screenshot button
  • Added a "WiiuPro" button on the button mapping menu
  • Fixed the inverted color button selection that was in some option windows

[4.3.2 - November 9, 2012]

  • Fixed lag with GameCube controllers

[4.3.1 - July 7, 2012]

  • Fixed PAL support

[4.3.0 - July 6, 2012]

  • Support for newer Wiimotes
  • Fixed screen flicker when going back to menu
  • Improved L/R buttons for GameCube - trigger button press when 50%+ depressed
  • Improved controller behavior - allow two directions to be pressed simultaneously
  • Timing changes
  • Compiled with devkitPPC r26 and libogc 1.8.11

[4.2.9 - January 14, 2012]

  • More accurate pixel scaling (thanks eke-eke!)
  • Other minor changes

[4.2.8 - May 15, 2011]

  • Ported a few upstream game fixes for: Mutant Chronicles - Doom Troopers, Porky Pig's Haunted Holiday, Big Sky Trooper, and Mechwarrior 3050 / Battle Tech 3050
  • Added Turkish translation

[4.2.7 - March 23, 2011]

  • Fixed browser regressions with stability and speed
  • Reverted zones' changes to IRQ and SA-1 - these caused a performance hit

[4.2.6 - March 19, 2011]

  • Improved game compatibility (updated core to latest Snes9x)
  • Fixed issue with cheats not persisting
  • Improved USB and controller compatibility (recompiled with latest libogc)
  • Enabled SMB on GameCube (thanks Extrems!)
  • Added Catalan translation
  • Translation updates

[4.2.5 - October 7, 2010]

  • Sync with upstream SVN - fixes a few specific game issues
  • Fixed "blank listing" issue for SMB
  • Improved USB compatibility and speed
  • Added Portuguese and Brazilian Portuguese translations
  • Other minor changes

[4.2.4 - August 14, 2010]

  • IOS 202 support removed
  • USB 2.0 support via IOS 58 added - requires that IOS58 be pre-installed
  • DVD support via AHBPROT - requires latest HBC

[4.2.3 - July 22, 2010]

  • Fixed broken auto-update

[4.2.2 - July 20, 2010]

  • Reverted USB2 changes
  • Fixed re

Core symbols most depended-on inside this repo

Shape

Function 1,961
Method 498
Class 294
Enum 32

Languages

C++94%
C6%

Modules by API surface

source/snes9x/fxinst.cpp600 symbols
source/snes9x/cpuops.cpp202 symbols
source/snes9x/memmap.cpp94 symbols
source/menu.cpp61 symbols
source/gui/gui_element.cpp56 symbols
source/snes9x/controls.cpp55 symbols
source/snes9x/tileimpl.h54 symbols
source/snes9x/cpuaddr.h52 symbols
source/snes9x/movie.cpp48 symbols
source/snes9x/dsp1.cpp45 symbols
source/videofilters.cpp41 symbols
source/snes9x/dsp3.cpp41 symbols

For agents

$ claude mcp add snes9xgx \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page