Super Mario World Switch: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
Line 13: Line 13:
|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==
===smw_assets.bps===
===Precompiled binary===
The author has added smw_assets.bps support and bundled a .bps file so that there was no need to run a python program. All users had to do was place smw.sfc in the same folder.
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.


===Precompiled Binary===
===Dependencies===
*[https://cdn.discordapp.com/attachments/1110498856531136562/1110767417904345108/SmwNX-Background.zip With animated background].
*<code>switch-sdl2 library</code>
*[https://cdn.discordapp.com/attachments/1110498856531136562/1110767417535234068/SmwNX.zip Without the animated background].
*[https://github.com/devkitPro/installer DevKitPro]
*[[Atmosphere Switch|Atmosphere]]
*<code>pkg-config</code>
*A rom of Super Mario World (named <code>smw.sfc</code>).  


===Build Your Self===
===Building===
====Requirements====
*Make sure you have Atmosphere installed on your Nintendo Switch.
*You require a rom of Super Mario World (it needs to be called smw.sfc).
*Download the DevKitPro version of MSYS2 through their installer, as the default MSYS2 may cause issues with Windows compiling.
*Latest atmosphere (you can get it from [https://github.com/Atmosphere-NX/Atmosphere/releases here]).
*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.
*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.
*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.
*Git.
*CD to <code>switch</code> folder by typing <code>cd src/platform/switch</code> in the terminal on the <code>smw</code> root folder.
====Building====
*Type <code>make</code> to compile the Switch Port.
You must self-build for now. Easy method on 64-bit Windows (no terminal or big downloads):
*Transfer the <code>.ini</code>, <code>nro</code>, <code>ncap</code> and your <code>sm.smc</code> rom file to the Switch.
# Download Python if you don't have it and install with "Add to PATH" checked
# Click the green button "Code > Download ZIP" on the github page and extract the ZIP
# Place your USA rom named smw.sfc in that folder
# Download TCC and SDL2 and extract each ZIP into the "third-party" subfolder
# Double click "extract_assets.bat" in the main dir. This will create smw_assets.dat.
# Double-click "run_with_tcc.bat" in the main dir. This will create smw.exe and run it.
# 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 61: 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: