Setting up Tachyon
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.
- Node.js v18.11 or higher
- Green Hills Software MULTI PowerPC v5.3.27
- Ensure that you have npm v9 or higher by running the command
npm i -g npm@9
npm i -g https://github.com/Zenith-Team/Tachyon/releases/download/latest/tachyon.tgzto 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.
- Install Green Hills Software MULTI and add a path to the
multi5327folder as an environment variable named
GHS_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
rpxsand 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)
tachyon compile REGIONin the root of the Tsuru directory in order to compile it. You may modify the build settings using flags which can be listed with the
tachyon --helpcommand. Notably, use of higher thread counts is recommended for faster compilation.
- This will output an .elf file in the
rpxsdirectory with the name
Tsuru.REGION.elf. To output an .rpx file, add
--rpxto 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
- 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 -Acrashlogto the command above, this will restrict the logs to only OSConsoleWrite's and the crashlog if a crash happens.