Setting up Tachyon
Jump to navigation
Jump to search
This tutorial explains how to set up a development environment with the Tachyon build system and the Tsuru NSMBU code platform. If you do not wish to use Tsuru, you may create a compatible project by following the documentation on the Tachyon repository.
Requirements[edit | edit source]
- Node.js v18.11 or higher
- Green Hills Software MULTI PowerPC v5.3.27
Installation[edit | edit source]
- Ensure that you have npm v9 or higher by running the command
npm i -g npm@9
- Run
npm i -g https://github.com/Zenith-Team/Tachyon/releases/download/latest/tachyon.tgz
to install Tachyon as a global package- If the command above fails for you due to permission errors, use the alternative install method from Tachyon's README.
Build Setup[edit | edit source]
- Install Green Hills Software MULTI and add a path to the
multi5327
folder as an environment variable namedGHS_ROOT
. If you require any assistance with this step, ask in the Zenith Discord server. - Clone the Tsuru repository into a directory of your choice with the following command:
git clone https://github.com/Zenith-Team/Tsuru.git
- Create a folder in the
Tsuru/project
directory namedrpxs
and place your US, EU, and JP RPX executables in there. (Ensure that you are placing v1.3.0 RPX files. Verify your executables on the Game Variants page) - Run
tachyon compile REGION
in the root of the Tsuru directory in order to compile it. You may modify the build settings using flags which can be listed with thetachyon --help
command. Notably, use of higher thread counts is recommended for faster compilation. - This will output an .elf file in the
rpxs
directory with the nameTsuru.REGION.elf
. To output an .rpx file, add--rpx
to the build command. - Before running the executable, ensure the following:
- You are running on game files with a merged 1.3.0 update, rather than installed via CEMU's Update/DLC installer.
- You have an appropriate CEMU version, no newer than 1.26.2f nor older than 1.22.3b.
- Set the following environment variables at either system or user level:
CEMU_ROOT
= Absolute path to your CEMU installation directory. (The folder where your Cemu.exe resides)TACHYON_DEFAULT_GAME_ROOT
= Absolute path to your NSMBU game files directory. (The folder where the 3 main folders "code", "content" and "meta" reside)
- (Optional) You can also set the values of those two environment variables directly on the command with the options
--cemu
and--game
- To run the compiled executable, run
tachyon launch PATH_TO_EXECUTABLE
- (Optional) To make the CEMU logs displayed easier to navigate, you can also add
-Aosconsole -Acrashlog
to the command above, this will restrict the logs to only OSConsoleWrite's and the crashlog if a crash happens.