User Tools

Site Tools


decomp:tutorial

This is an old revision of the document!


Getting Started

Prerequisites

  • Linux setup 1)
  • ARM C/C++ Compiler, 4.1 [Build 894/1049]
  • devkitARM
  • Python 3.10
  • CMake >= 3.24
  • code.bin2) extracted from Super Mario 3D Land (EU) 3)

Setup

Clone https://github.com/fruityloops1/RedPepper recursively, and place code.bin in the root of the repository.

Tools

Here the most important scripts in the 'Tools' folder will be explained.

build.py

python Tools/build.py [clean/verbose]

Sets up CMake if needed, and builds the project.

Building with the 'clean' flag will delete the Build folder and set up CMake again, if the Build folder exists.

Building with the 'verbose' flag will echo the compiler/linker commands.

check.py

python Tools/check.py [dir]

Automatically checks all functions mentioned in files in the 'Symbols' folder, and updates their status if needed.

Examples:

  • check.py
  • check.py al/LiveActor

diff.py

python Tools/diff.py <symbol>

Runs the asm-differ for the specified function.

Examples:

  • diff.py _ZN2al13isEqualStringEPKcS1_
  • diff.py _ZN2al14NerveStateCtrl10startStateEPKNS_5NerveE

progress.py

Shows decompilation progress (of functions) and automatically removes functions from the Unnamed.sym file if they have been moved to another .sym file by the user.

1)
untested on Windows/WSL
2)
sha256sum = e1d7e188ff88467df776c17cec45c44857fadf5b699944baa8cddcae7d939e64
3)
0004000000053F00
decomp/tutorial.1666305310.txt.gz · Last modified: 2022/10/20 22:35 by fruityloops