Hacking the Nintendo Switch and running Rust

May 2024

Closed Source

What is this project?

Inspired by friends who were modding Nintendo Switch games, I noticed that most existing tooling was developed in C++. This prompted me to create a comprehensive toolkit in no-std Rust (Rust without the standard library), designed specifically for the Nintendo Switch. This project focuses on file format parsing, building an operating system SDK, and creating a runtime environment, all aimed at enhancing the modding experience.

Overview

  • No-std No-alloc File Parser: Developed a file parser in Rust that operates without the standard library or heap allocations. This parser includes detailed error handling and features a text-based file tree viewer, allowing users to navigate and inspect file structures efficiently.
  • Nintendo Switch SDK: Partially completed a software development kit (SDK) for directly interfacing with the Nintendo Switch Operating System. This SDK allows modders to make direct system calls, facilitating integration with the console’s functionality and expanding the potential for game modifications.
  • Custom Runtime Implementation: Partially completed a re-implementation of the Rust standard library, tailored for use in a custom environment on the Nintendo Switch. This allows developers to leverage familiar Rust features while working within the constraints of the console’s architecture.