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

Super Mario World Switch: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 8: Line 8:
|version=0.1
|version=0.1
|license=MIT
|license=MIT
|download=https://dlhb.gamebrew.org/switchhomebrews/supermarioworldswitch.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/supermarioworldswitch.7z?k33p0fil35
|website=https://gbatemp.net/threads/beta-super-mario-world-port.633387/
|website=https://gbatemp.net/threads/beta-super-mario-world-port.633387/
|source=https://github.com/snesrev/smw
|source=https://github.com/snesrev/smw
|donation=https://beacons.ai/lywx
|donation=https://beacons.ai/lywx
}}
}}
This is a WIP port of Super Mario World for the Nintendo Switch based on the PC port of the decompilation project.
This is a WIP port of Super Mario World for the Nintendo Switch based on the PC port of the decompilation project.  


The goal of this project is to create a version of the game that can be played on the Nintendo Switch console without the need for an emulator.
The goal of this project is to create a version of the game that can be played on the Nintendo Switch console without the need for an emulator.


==User guide==
==User guide==
===Precompiled Binary===
===Precompiled binary===
*[https://cdn.discordapp.com/attachments/1110498856531136562/1110767417904345108/SmwNX-Background.zip With animated background].
Download the precompiled binary [https://cdn.discordapp.com/attachments/1110498856531136562/1110767417904345108/SmwNX-Background.zip with] or [https://cdn.discordapp.com/attachments/1110498856531136562/1110767417535234068/SmwNX.zip without] animated background.
*[https://cdn.discordapp.com/attachments/1110498856531136562/1110767417535234068/SmwNX.zip Without the animated background].


===Requirements===
===Dependencies===
*You require a rom of Super Mario World (it needs to be called smw.sfc).
*<code>switch-sdl2 library</code>
*Latest atmosphere (you can get it from [https://github.com/Atmosphere-NX/Atmosphere/releases here]).
*[https://github.com/devkitPro/installer DevKitPro]
*A device with [https://downloads.shipofharkinian.com/SoH-Khan-Charlie-Win64.zip Windows] / [https://downloads.shipofharkinian.com/SoH-Khan-Bravo-Linux-Compatibility.zip Linux] or [https://downloads.shipofharkinian.com/SoH-Khan-Bravo-Mac.zip MacOS] to build the rom with DevKitPro.
*[[Atmosphere Switch|Atmosphere]]
*Git.
*<code>pkg-config</code>
*A rom of Super Mario World (named <code>smw.sfc</code>).  


===Building===
===Building===
You must self-build for now. Easy method on 64-bit Windows (no terminal or big downloads):
*Make sure you have Atmosphere installed on your Nintendo Switch.
# Download Python if you don't have it and install with "Add to PATH" checked
*Download the DevKitPro version of MSYS2 through their installer, as the default MSYS2 may cause issues with Windows compiling.
# Click the green button "Code > Download ZIP" on the github page and extract the ZIP
*Open the location where you've installed DevKitPro and find <code>mingw64.exe</code> inside the <code>msys2</code> folder within the <code>devkitPro</code> directory.
# Place your USA rom named smw.sfc in that folder
*Type <code>pacman -S git switch-dev switch-sdl2 switch-tools pkg-config</code> in the terminal to install the <code>switch-sdl2</code> library.
# Download TCC and SDL2 and extract each ZIP into the "third-party" subfolder
*CD to <code>switch</code> folder by typing <code>cd src/platform/switch</code> in the terminal on the <code>smw</code> root folder.
# Double click "extract_assets.bat" in the main dir. This will create smw_assets.dat.
*Type <code>make</code> to compile the Switch Port.
# Double-click "run_with_tcc.bat" in the main dir. This will create smw.exe and run it.
*Transfer the <code>.ini</code>, <code>nro</code>, <code>ncap</code> and your <code>sm.smc</code> rom file to the Switch.
# Configure with smw.ini in a text editor like notepad++


For other platforms and compilers, see: https://github.com/snesrev/smw/blob/main/BUILDING.md
Optional step: <code>make -j$(nproc) # To build using all cores</code>
 
When running, it runs an emulated version in the background and compares the ram state every frame. If it detects a mismatch, it saves a snapshot in saves/ and displays a counter on screen counting down from 300. Please submit these bug snapshots on discord so that they can be fixed.
 
===Commands===
git clone --recursive <nowiki>https://github.com/snesrev/smw</nowiki>
(dkp)-pacman -S git switch-dev switch-sdl2 switch-tools
cd sm/src/platform/switch
make -j$(nproc)


===Supported Versions===
===Supported Versions===
* Super Mario World - 6b47bb75d16514b6a476aa0c73a683a2a4c18765
Super Mario World - 6b47bb75d16514b6a476aa0c73a683a2a4c18765


==Screenshots==
==Screenshots==
Line 58: Line 49:
https://dlhb.gamebrew.org/switchhomebrews/supermarioworldswitch-03.png
https://dlhb.gamebrew.org/switchhomebrews/supermarioworldswitch-03.png


==Missing Stuffs==
==Known issues==
Missing:
* Rumble support.
* Rumble support.
* A settings menu using imgui or any other library.
* A settings menu using imgui or any other library.

Latest revision as of 08:54, 11 February 2024

Super Mario World
Supermarioworldswitch.png
General
AuthorLywx, snesrev
TypePlatform
Version0.1
LicenseMIT License
Last Updated2023/08/17
Links
Download
Website
Source
Support Author

This is a WIP port of Super Mario World for the Nintendo Switch based on the PC port of the decompilation project.

The goal of this project is to create a version of the game that can be played on the Nintendo Switch console without the need for an emulator.

User guide

Precompiled binary

Download the precompiled binary with or without animated background.

Dependencies

  • switch-sdl2 library
  • DevKitPro
  • Atmosphere
  • pkg-config
  • A rom of Super Mario World (named smw.sfc).

Building

  • Make sure you have Atmosphere installed on your Nintendo Switch.
  • Download the DevKitPro version of MSYS2 through their installer, as the default MSYS2 may cause issues with Windows compiling.
  • Open the location where you've installed DevKitPro and find mingw64.exe inside the msys2 folder within the devkitPro directory.
  • Type pacman -S git switch-dev switch-sdl2 switch-tools pkg-config in the terminal to install the switch-sdl2 library.
  • CD to switch folder by typing cd src/platform/switch in the terminal on the smw root folder.
  • Type make to compile the Switch Port.
  • Transfer the .ininroncap and your sm.smc rom file to the Switch.

Optional step: make -j$(nproc) # To build using all cores

Supported Versions

Super Mario World - 6b47bb75d16514b6a476aa0c73a683a2a4c18765

Screenshots

supermarioworldswitch-01.png

supermarioworldswitch-02.png

supermarioworldswitch-03.png

Known issues

Missing:

  • Rumble support.
  • A settings menu using imgui or any other library.
  • Saves tied to the selected user.

Changelog

0.1

  • Support bps patching.

Credits

External links

Advertising: