Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Swiss Wii

From GameBrew
Swiss
Swisswii2.png
General
Authoremukidid, Extrems
TypeGameCube on Wii
Version0.6r1742
LicenseGPL-2.0
Last Updated2024/10/14
Links
Download
Website
Source
Support Author

Swiss aims to be an all-in-one homebrew utility for the Nintendo GameCube.

Features

  • GX GUI.
  • File Manager.
  • Video mode forcing.
  • Progressive video mode forcing to 480p and 576p (requires component cable).
  • 16:9 wide aspect ratio forcing.
  • Configuration saving/loading.
  • Region free support.
  • Detailed console info.
  • Fragmented file support from all FAT based devices (except Wiikey Fusion).
  • Automatically execute boot.dol from SD Gecko in Slot A / B if found.
  • Can browse the following devices:

Installation

Requirements:

  • GameCube with controller.
  • A way to boot homebrew.

Download the latest Swiss release and extract its contents.

Move the Swiss DOL file in the DOL folder to the device or media you will use to run homebrew.

Start Swiss, navigate your device, and load a DOL or GCM.

Note: If the above steps fail, try using the non-compressed Swiss DOL file.

Additional Note: Different devices have unique file variants and locations that need to be used. Please refer to the device's documentation for instructions on where Swiss should be placed.

User guide

Swiss UI

The top heading shows the version number, commit number, and revision number of Swiss. The left panes show what device you are using.

The largest portion is the Swiss file browser, through which you can navigate files and folders. The top of every folder includes a .. option, and selecting this moves you back up a folder.

The bottom pane, from the left:

  • Device Selection.
  • Global Settings, Advanced Settings, and Current Game Settings.
  • System Information, Device Info, and Credits.
  • Return to top of file system.
  • Restart GameCube.

Useful links

Controls

Navigating Swiss:

Left Joysitck/D-Pad - Navigate through the UI

A - Select

B - Enter/Exit Bottom Menu

Screenshots

swisswii3.png

Media

How to set up and use Swiss on the Nintendo Wii - (DumbleSnore)

Known issues

https://github.com/emukidid/swiss-gc/issues

Changelog

v0.6r1742

  • Fix regression from fc2cd66.
  • Restructure package a bit.
  • Default zero trigger level for games supporting the DK Bongos.
  • Fix reading Git hash of releases before v0.6r1614.
  • Attempt to find newer releases in common locations.
  • Re-enable CRC verification on hypervisor exit.
  • When holding B, only skip DI device detection.
  • When autobooting, pass current command-line arguments along.
  • Adjust for libogc2 changes.
  • Update Redump database.

v0.6r1730

  • @emukidid committed:
    • Remember cheat selections, replace "all cheats" functionality.
  • @Extrems committed:
    • Clamp triggers to trigger level.
    • Force trigger level when button is pressed.
    • Check required packages are installed.
    • Fix early boot video mode selection on PicoBoot.
    • Avoid PAL-M in early boot when using digital AV.
    • Avoid writing game settings matching defaults.
    • Disable pausing when unsupported by hypervisor configuration.
    • Set wrapping mode in gxtexconv script.
    • Set filtering mode in gxtexconv script.
    • Update Redump database.
    • Bump FlippyDrive firmware version to 1.1.1.
    • Update README.md
    • Fix PAL-M regression.
    • Improve region code handling.
    • Use libdeflate for zlib compression.
    • Pre-strip disc image's file name and append disc ID.
    • Improve stripping of invalid characters.
    • Add swiss_r*.dol to autoboot list.
    • Prevent autobooting previous releases.

v0.6r1712

  • Fix race condition uncovered by chatty networks.
  • Support mixed GameCube/Wii apps scheme.
  • Fix deadlock on default.dol + opening.bnr.
  • Support Swiss on PicoBoot flash.
  • Replace igr.dol solution with Swiss as apploader.
  • Use environmental storytelling for FlippyDrive install.
  • Synchronize changes from gekkoboot.
  • Return to loader when attempted to be loaded on a Wii in Wii Mode.
  • Return to loader on decompression error.
  • Fix race condition in reload stub in legacy mode.
  • Apply appropriate graphics before network init.
  • Attempt to read settings before showing dialog.
  • Save system settings in configuration file.
  • Set English language for non-PAL games.
  • Reset FlippyDrive in reload stub.
  • Move some game settings logic around.
  • Reset GX before init.
  • Update Redump database.

v0.6r1695

  • @9ary committed:
    • Fix Qoob entry header
    • Improve Qoob Pro detection
  • @Extrems committed:
    • Update [T-En] Collection database.
    • Re-enable KunaiGC on hypervisor exit.
    • Re-enable KunaiGC in reload stub.
    • Add FlippyDrive support.
    • Fix regression from f2da993.
    • Generic solution for devices not reporting total/free space.
    • Only close handles relevant for current device.
    • Clarify messaging regarding checksum error in patched file.
    • Hide GCNET from the game.
    • Acquire lock for ENC28J60 during transmit in hypervisor.
    • Add workaround for bogus efbHeight in 3xMSAA mode.
    • Fix PAL 50Hz quirks in GUI with RetroTINK-4K optimizations.
    • Reset EXI probe when showing all devices.
    • Add GCNET logo.
    • Add workaround for bogus efbHeight in 007: Agent Under Fire.
    • Update Redump database.
    • Support ETH2GC Sidecar+ and SD2SP1 in reload stub.
    • Minor optimizations.
    • Display established speed over SD Card Adapter.
    • Increase chunk size for faster verification on SD2SP2 2.0.
    • Optimize patching 2-disc games.
    • Install reload stub earlier on.
    • Leftovers before release.

v0.6r1668

  • Fix detecting ENC28J60 after reload.

v0.6r1667

  • Use file name when it is a subset of the title.
  • Support SD2SP2 2.0.
  • Adjust for libogc2 changes.
  • Clarify messaging regarding 16 MHz fallback.

v0.6r1664

  • @emukidid committed:
    • Sanitise recent list to avoid crash when recent.ini doesn't exist
    • Proportion banner text consistently based on the smallest scale required.
  • @Extrems committed:
    • Fix silly bugs in HTTP server.
    • Test streaming audio functionality.
    • Add an extra check.
    • Synchronize FAT cache changes.
    • Filter out files larger than 4 GiB-1 for the time being.
    • Add option to optimize display for the RetroTINK-4K.
    • Adjust for libogc2 changes.
    • Fix efbHeight in Marvel Nemesis: Rise of the Imperfects.
    • Disable vertical scaling for the RetroTINK-4K.
    • Fix mislabeling ENC28J60 in Serial Port 1.
    • Disable vertical scaling more thoroughly.
    • Prevent setting up second disc if not supported.
    • Minor accuracy improvement.
    • Fix region flags in carousel view.
    • Update XZ Embedded.
    • Optimize audio mixing.
    • Consolidate into a single EXI callback.
    • Move unlock outside of coroutine.
    • Optimize EXI device selection.
    • Enable support for Memory Slot A & B in hypervisor.
    • Refactor BBA location lookup.
    • Enable EXI device lock to be requested by multiple callbacks.
    • Use packaged gxtexconv.
    • Clear progressive mode flag for PAL games.
    • Use new dirent extension when available.
    • Mask unwanted interrupts.
    • Fix regression from e8911d3.
    • Rework DI device detection.
    • Make network init asynchronous.
    • Check for a bound IP before entering device.
    • Wait for network before managing settings.
    • Display MAC address while there's no IP bound.
    • Display MAC/IP address for other device locations.
    • Update Redump database.
    • Support ETH2GC Sidecar+ and hypothetical SD2SP1.
    • Display proper hardware name for ETH2GC Sidecar+.
    • Show loading icon while metadata thread is active.
    • Tweak FAT cache size.
    • Fix SD2SP1 conflict with physical memory card.
    • Always update SRAM on exit.

v0.6r1622

  • Add basic forward-only ENC28J60 driver in hypervisor. (Serial Port 2 only)
  • Enable Broadband Adapter emulation for IDE-EXI and M.2 Loader.
  • Desperate hypervisor optimizations to get things to fit.
  • Fix accidental EXI device deselect.
  • Enable Broadband Adapter emulation for GC Loader and SD Card Adapter.
  • Add ETH2GC logo.
  • Update tooltip.
  • Avoid unnecessary end read.
  • Only enable for GC Loader if eligible as patch device.
  • Forcibly use GC Loader as patch device if enabled features demand it.
  • Avoid needlessly masking PI debug interrupt.

v0.6r1614

  • Switch to zlib-ng.
  • Use packaged libpsoarchive.
  • Fix selecting switcher.prs as alternate executable.
  • Update No-Intro database.
  • Populate metadata ahead of view in a thread.
  • Scan files in FAT order.
  • Only use thread with thread-safe devices.
  • Bypass cache for multiples of page size.
  • Increase thread stack size.
  • Store sorted view separately.
  • Handle EOVERFLOW.
  • Reinitialize EXIRegs in reload stub.
  • Discard directory entries exceeding PATHNAME_MAX.
  • Use packaged xxHash.
  • Reduce memory footprint of backdrop by ¾.
  • Small texture micro-optimizations.
  • More texture optimizations.
  • Kill thread when there's no more room for metadata.
  • Fix tracking of current view.
  • Close files evicted from the metadata cache.
  • Don't dispose already-disposed-of loading icon.
  • Relocate banner TLUT.
  • Update Redump database.
  • Update [T-En] Collection database.

v0.6r1592

    • @emukidid committed:
  • Add Greetings screen to the Info section; Update patreon supporters list.
  • @Extrems committed:
    • Fix IDCT bug in EA VP6 decoder.
    • The year is 2024.
    • Minor fixes.
    • Use disc read commands during verification.
    • Play whole disc as streaming audio during verification.
    • Add [T-En] Collection database.
    • Update No-Intro database.
    • Fix patching Animal Forest e+ translation.
    • Consistently show "Up to parent directory" in carousel view.
    • Enable navigation with L/R triggers in device selection.
    • Remember previous device for device selection.
    • Show settings on first boot.
    • Fix GC Loader feature flags during early boot.
    • Improve AVE N-DOL compatibility mode.
    • Add AVE P-DOL compatibility mode.
    • Update Swiss video mode immediately.
    • Add option to reset current game settings.
    • Fix discarding changes to current game settings.
    • Add fullwidth file browser type.
    • Install libogc2 from package repository.
    • Report CUBEODE as not supporting streaming audio.
    • Use more interesting symbols from the Windows-1252 font.
    • Show button combo for clean boot.
    • Add option to forcibly disable/enable streaming audio emulation.
    • Make wraparound a little less crazy.
    • Fix scrollbar calculation.
    • Allocate from high arena for BS2.
    • Update Redump database.
    • Force PAL 60Hz mode flag.
    • Remove exceptions for F-Zero GX, Super Mario Sunshine.
    • Hide device name from current path.
    • Change hook type to VBI.
    • Fix aspect ratio of The Legend of Zelda: The Wind Waker.
    • Repopulate metadata for selected game on WODE.
    • Partially fix selecting an alternate executable from a 2-disc game.
  • @webhdx committed:
    • Update M.2 Loader logo

v0.6r1562

  • @emukidid committed:
    • Fix navigating up a dir with X on ISO9660 discs
  • @Extrems committed:
    • Further optimize writing through FAT cache.
    • Invalidate cache page on read error.
    • Update Redump database.
    • Fix IDCT bug in early THP library.
    • Make GC Loader HW2 1.0.0 ineligible as patch device.
    • Report CUBEODE as "GC Loader compatible".
    • Use disc read commands after fragment setup to test the waters.
    • Initialize device handler structs better.
    • Keep track of certain GC Loader quirks.
    • Adjust for libogc2 changes.
    • Fix it for real, kind of.
    • Only display DVD game entry in root directory.
    • Improve Wii detection somewhat.
    • Update No-Intro database.

v0.6r1548

  • A regression with the SD2SP2 has been addressed through libogc2.
    • Update No-Intro database.
    • Panic changes for M.2 Loader.
    • Update Redump database.

v0.6r1545

  • Adjust for libogc2 changes.
  • Enable networking to function with alternative interfaces.
  • Add checksum for GC Loader HW2 1.1.0.BETA.
  • Add redundancy for finding arena.
  • Clear as much memory as possible.
  • Move exception vector stubbing.
  • Fix disc read errors being ignored.
  • Update Redump database.
  • Force network init if ENC28J60 is detected.
  • Update No-Intro database.

v0.6r1534

  • Add checksum for GC Loader HW2 1.0.1.
  • Update Redump database.
  • Add RAM Disk device.
  • Reorder devices.
  • Minor fixes.
  • Fix boot file hash discrepancies.
  • Accommodate for USB Loader GX/WiiFlow "full" dumps.
  • Add firmware version tracking for GC Loader HW2+.
  • Display game version.

v0.6r1527

  • Update xxHash to v0.8.2.
  • Update Redump database.
  • Add Broadband Adapter emulation for FSP.
  • Make TXFIFOCNT internal.
  • Passthrough writes to MAR0-7.
  • Only enable Broadband Adapter emulation for games that can make use of it.
  • Avoid reading packet header over again.
  • Optimize fragment crossing on Wiikey Fusion. (untested)
  • Properly compare file names.
  • Create new context for alarm handler in early SDK.
  • Don't prompt for update on GC Loader HW2.
  • Mark the USBGecko Makefile as not being parallelizable, so that it doesn't cause the entire build to fail if you run make in parallel

v0.6r1515

  • Fix parsing disc with D&D Apploader V2.00.
  • Check integrity of patched file we're loading.
  • Fix some memory leaks.
  • Add checksum for GC Loader 2.0.1.BETA.
  • Add minimal support for booting unlicensed discs.
  • Make proper use of BS2 header.
  • Add BS2 image hashes for future use.
  • Fix memory leak in GUI.
  • Set aram.bin size to actual ARAM size.
  • Add aram_internal.bin.
  • Use ARQ to read ARAM.
  • Check for known BS2 image.
  • Check integrity of game executable with NKit images.
  • Improve error handling.
  • Refactor error message display.
  • Enable writing to aram.bin, aram_internal.bin and sram.bin.
  • Add aram_expansion.bin
  • Minor fixes.
  • Fix patching execD.img after a3b3066.
  • Include appl2.img, appl2D.img and exec.img.
  • Add NKit header checksums to discriminate slight differences.
  • Complete list of files that needs to be reencoded.
  • Remove multi-disc false positives.
  • Update No-Intro database.
  • Filter out system files.
  • Update Redump database.
  • Check for errors during GC Loader fragment setup.
  • Bump GC Loader firmware version to 2.0.1.

v0.6r1495

  • Add PMTU configuration for FSP.
  • Make use of in_range in more places.
  • Add warning for unlicensed discs in NKit.iso format.
  • Fix default.dol + opening.bnr in a flattened directory.
  • Use bool where applicable in hypervisor.
  • Import PowerPC assembly macros from Wii64.
  • Fix parsing empty values.
  • Update Redump database.
  • Refactor NKit format check.
  • Unnest common headers.
  • Remove uncompressed DOL from distribution.
  • Add boot file hashes for unlicensed discs.
  • Enable loading legacy BIN files.
  • Prepare OSLoMem from a buffer.
  • Avoid using DVD magic to determine if we're booting a game.
  • Apply forgotten changes for region hack.
  • Partially fix navigation on DVD.
  • Add game entry for hybrid GCM/ISO 9660 disc.
  • Fix fsp_ftell in read mode.
  • Fix error when copying to a memory card.
  • Partially fix copying between memory cards.
  • Add more specific message for files that needs to be reencoded.
  • Update No-Intro database.
  • Move EAR initialization.

v0.6r1476

  • Disable buffering for FTP/SMB.
  • Add some missing file closures.
  • Speed up search of second disc when scrolling backwards.
  • Add option to flatten a directory structure.
  • Flatten Nintendont games directory by default.
  • Display relative path when flattened.
  • Fix section alignment error in the Wind Waker Randomizer.
  • Accommodate for malformed disc header in Bikmin 269.
  • Navigate to most recent entry when the recent list is fully on.
  • Fix missing leading slash.
  • Fix navigating to a flattened directory.
  • Refresh file browser after saving settings.
  • Improve current file/directory handling slightly.
  • Squeeze out some extra performance.
  • Disable WiiRD debugger when USB Gecko isn't present.
  • Do the same for the USB Gecko.
  • Read directly to buffer with FSP.
  • Transmit asynchronously when possible.
  • Allow for 2030-byte MTU once again.
  • Install ISR as needed.

v0.6r1458

  • Adjust for libogc2 changes.
  • Add wildcard matching for autoload entry.
  • Use wildcard for DVD game entry.
  • Adjust for devkitPPC release 42.
  • Fix CI build.
  • Add checksums for GC Loader updater.
  • Add autoload of GC Loader updater.
  • Update Redump database.
  • Fix linkscript.
  • Remove some duplicate work.
  • Use new executable packer.
  • Use executable packer directly for Action Replay.
  • Enable loading SDLOADER.BIN for debugging.
  • Use new hypervisor killswitch.
  • Enable -fipa-pta for reload stub.
  • Fix writing over existing executable.xz.
  • Fix one problem preventing enablement of -msdata.
  • Update .gitignore.
  • Build cheat engine from source.

Swiss v0.6r1443

  • @Extrems committed:
    • Fix regression in line endings support.
    • Make use of reallocarray.
    • Use dynamic memory allocation for DCP file parsing.
    • Improve cheat file parsing.
    • Ensure first characters are hexadecimal.
    • Fix regression from 9cb1193 with HIO library.
    • Quick third pass.
    • Add option to disable MemCard PRO GameID.
    • Use uncached memcpy with FSP.
    • Ensure GUI thread is shutdown.
    • Fix volume range in MP3 player.
    • Fix link order.
    • Migrate from ASND to AESND.
    • Adjust for libogc2 change.
    • Tone down some insanity.
    • Add option to swap the C Stick with the Control Stick.
    • Add static IP configuration.
    • Fix field rendering after d0e6d8a.
    • Fix off-by-one error with DrawGetTextEntry.
    • Retrieve remote address/port from socket.
    • Retrieve remote MAC address from ARP cache.
  • @Ramuh committed:
    • Fixed Typo
  • @yo1dog committed:
    • Support input from all controllers.

Swiss v0.6r1420

  • @emukidid committed:
    • Qoob PRO write support
  • @Extrems committed:
    • Add Dead to Rights patch from Dolphin.
    • Remove special case for 2.0.0.BETA firmware version.
    • Add option to force polling rate.
    • Add option to prefer clean boot.
    • The year is 2023.
    • Add my GitHub Sponsors profile.
    • First pass of signatures found in Interactive Multi-Game Demo Disk - June 2003 (Europe) (En,Fr,De,Es,It).
    • Copy ID of second disc.
    • Second pass of signatures found in Interactive Multi-Game Demo Disk - June 2003 (Europe) (En,Fr,De,Es,It).
    • Broadcast Game ID on all controller sockets.
    • Add option to pause for resolution change.
    • Update Redump database.
    • Only show message if the video mode differs.
    • Fix regression from 369b904.
    • Fix compiler warnings.
    • Update TOSEC database.
    • Add more signatures for Killer7 prototypes.
    • Fix probing MemCard PRO GC.
    • Add TCP/IP wiiload server.
    • Rewrite argument passing.
    • Enable argument passing in wiiload server.

Swiss v0.6r1400

  • Standardise and tidy up deviceHandler init return codes.
  • Update Redump database.
  • Update FatFs to R0.15-p1.
  • Use size of Memory Card in Slot A if 507 blocks or larger.
  • Add Resident Evil 2/3 patch from Dolphin.
  • Add MemCard PRO GC support.
  • Fix more spurious interrupts.
  • Update FatFs to R0.15-p2.
  • Use previously configured video mode during early boot.
  • Add synchronizing instructions to EFB accesses.

Swiss v0.6r1387

  • CPU temperature from a cold boot, e.g. using a GC Loader or PicoBoot.
  • Room temperature.
  • CPU ECID, found in system information.
  • Fix clean boot with GC Loader 2.0.0.
  • Alias directory with both opening.bnr and default.dol to default.dol.
  • Implement thread safety for FatFs and fsplib.
  • Move disk I/O module to FatFs.
  • Load existing patched file.
  • Enable select_alt_dol for TGC files.
  • Switch from CRC-32 to XXH3.
  • Add support for PixelFX N64 Game ID standard.
  • Add boot file hashes for clean boot.
  • Resolve some known conflicts.
  • Enable Game ID for DOL/ELF files.
  • Patch Star Wars Rogue Squadron III: Rebel Strike's compressed VM data.
  • Move up branch to debugger from DSI exception vector.
  • Skip instruction address breakpoint exception vector.
  • Integrate MSR restore fix from Nintendont.
  • Replace string_append with open_memstream.
  • Read settings from command-line arguments.
  • Black out video when booting games.
  • Force 480/576p by default.
  • Display in 480p by default on PAL.
  • Move video mode switch to a more logical spot.
  • Bump GC Loader firmware version to 2.0.0.
  • Clean up configuration file parsing a bit.
  • Make default action for unknown files be file management.
  • Improve model detection.
  • Simplify default video mode selection.
  • Add star icon to autoload entry.
  • Move game config handling out of info_game.
  • Related fixes.
  • Reorganize settings.
  • Add autoboot option.
  • Add option to force field rendering.
  • Add workaround for FSP server issue when rewriting patches.

Full list of changes can be found here.

External links

Advertising: