Setting up Tachyon

From Zenith
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]

  1. Ensure that you have npm v9 or higher by running the command npm i -g npm@9
  2. Run npm i -g to install Tachyon as a global package
    1. 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]

  1. Install Green Hills Software MULTI and add a path to the multi5327 folder as an environment variable named GHS_ROOT. If you require any assistance with this step, ask in the Zenith Discord server.
  2. Clone the Tsuru repository into a directory of your choice with the following command: git clone
  3. Create a folder in the Tsuru/project directory named rpxs 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)
  4. 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 the tachyon --help command. Notably, use of higher thread counts is recommended for faster compilation.
  5. This will output an .elf file in the rpxs directory with the name Tsuru.REGION.elf. To output an .rpx file, add --rpx to the build command.
  6. Before running the executable, ensure the following:
    1. You are running on game files with a merged 1.3.0 update, rather than installed via CEMU's Update/DLC installer.
    2. You have an appropriate CEMU version, no newer than 1.26.2f nor older than 1.22.3b.
    3. Set the following environment variables at either system or user level:
      1. CEMU_ROOT = Absolute path to your CEMU installation directory. (The folder where your Cemu.exe resides)
      2. TACHYON_DEFAULT_GAME_ROOT = Absolute path to your NSMBU game files directory. (The folder where the 3 main folders "code", "content" and "meta" reside)
    4. (Optional) You can also set the values of those two environment variables directly on the command with the options --cemu and --game
  7. To run the compiled executable, run tachyon launch PATH_TO_EXECUTABLE
  8. (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.