Swiss Wii

From GameBrew
Swiss
Swisswii2.png
General
Authoremukidid, Extrems
TypeGameCube on Wii
Version0.6r1622
LicenseGPL-2.0
Last Updated2024/03/15
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.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: