All Projects → SeekyCt → spm-decomp

SeekyCt / spm-decomp

Licence: other
WIP 1:1 decompilation of Super Paper Mario

Programming Languages

c
50402 projects - #5 most used programming language
Batchfile
5799 projects

Projects that are alternatives of or similar to spm-decomp

BrawlCrate
BrawlBox/BrawlTools Fork, Wii File Editor
Stars: ✭ 70 (+233.33%)
Mutual labels:  wii, nintendo-hacking, nintendo-wii
save-file-converter
Converter for retro console save files found around the Internet. All common formats for NES/SNES/GBA/N64/TG16/SMS/Genesis/Neo Geo/PS1 supported. Decrypts PSP saves. Converts to and from Retron 5 and MiSTer
Stars: ✭ 56 (+166.67%)
Mutual labels:  wii, nintendo-wii
reboot to rcm
A small app to reboot 1.0 Switches into RCM mode
Stars: ✭ 32 (+52.38%)
Mutual labels:  nintendo, nintendo-hacking
RiiStudio
3D editor for various Nintendo model formats
Stars: ✭ 39 (+85.71%)
Mutual labels:  wii, nintendo-hacking
m3diaLib-CTR
A C++ library for easier homebrew development for the Nintendo 3DS
Stars: ✭ 39 (+85.71%)
Mutual labels:  nintendo, nintendo-hacking
bottomless-block-barrage
Panel de Pon (Tetris Attack) clone for the 3ds.
Stars: ✭ 15 (-28.57%)
Mutual labels:  nintendo, nintendo-hacking
CDNTool
CDN Nintendo's servers 3DS title downloader (as CIA)
Stars: ✭ 15 (-28.57%)
Mutual labels:  nintendo, nintendo-hacking
ShallowSea
ShallowSea - The AIO CFW package for the Nintendo Switch with Atmosphere
Stars: ✭ 513 (+2342.86%)
Mutual labels:  nintendo, nintendo-hacking
Mirage
Reimplementation of the Nintendo Switch firmware
Stars: ✭ 40 (+90.48%)
Mutual labels:  nintendo, nintendo-hacking
NDSFactory
Unpack & Repack Nintendo DS Roms (.nds)
Stars: ✭ 47 (+123.81%)
Mutual labels:  nintendo-hacking
GCReLink
A tool to unlink and relink Relocatable Modules found in GameCube and Wii games
Stars: ✭ 12 (-42.86%)
Mutual labels:  wii
wiimms-szs-tools
»Wiimms SZS Tools« is a set of command line tools to extract, modify and create different files of game Mario Kart Wii and of other Nintendo games.
Stars: ✭ 25 (+19.05%)
Mutual labels:  wii
Titan-IDE
Titan IDE is a 2D game engine for the Sega Dreamcast, Nintendo Wii and PC.
Stars: ✭ 32 (+52.38%)
Mutual labels:  nintendo-wii
SysBot.ACNHOrders
Queue-based and/or pure automation-styled ACNH SysBot
Stars: ✭ 53 (+152.38%)
Mutual labels:  nintendo-hacking
Homebrew-Guide
Guide for getting CFW setup on your Nintendo Switch (And Wii U)
Stars: ✭ 104 (+395.24%)
Mutual labels:  nintendo
RiiTag
RiiTag is a customizable gamertag for the Wii.
Stars: ✭ 15 (-28.57%)
Mutual labels:  wii
iwata-asks-downloader
Tool to download Iwata Asks interviews (none of which are stored in this repo)
Stars: ✭ 17 (-19.05%)
Mutual labels:  nintendo
flipnote-studio-3d-docs
Documentation for Flipnote Studio 3D (3DS eShop)
Stars: ✭ 25 (+19.05%)
Mutual labels:  nintendo
eBookReaderNX
A Nintendo Switch eBook Reader
Stars: ✭ 15 (-28.57%)
Mutual labels:  nintendo
Nintendo-Switch-JoyCon-Hack
Hardwiring a push button in a JoyCon to grant bootloader access
Stars: ✭ 44 (+109.52%)
Mutual labels:  nintendo

spm-decomp

Decompilation of Super Paper Mario (PAL revision 0). Doesn't produce a dol, asm is just checked by compiling with -S (the scripts for automating this are messy and fairly hard-coded to my computer so I don't plan on releasing them, but if you're interested in contributing then let me know and I'll put something together).

See also https://github.com/SeekyCt/spm-docs for other documentation

Address Notes

  • Addresses of global functions and variables are commented in headers, static ones are commented at their c file definitions
  • PAL revision 1's addresses are identical to revision 0's, so information from the decomp is accurate there too
  • Rel addresses are given for the rel loaded in its default position for PAL revisions 0 & 1 (80c45820)

Compiler Notes

Flags

The compiler flags probably aren't fully accurate yet, and it's likely that some parts of the game will use different flags.

Version

The project currently uses Codewarrior Version 4.1 build 60831, it's not known if this is the correct version.

Matching Notes

  • Data sections generally won't match in incomplete files
    • To match string pools in incomplete files (since they affect asm), functions with strings that haven't been decompiled have temporary replacements that call a fake __dummy_string function to place these strings in the pool
    • To match float pools in incomplete rel files, __dummy_float is used

Credits

  • Various members of the TTYD community for their documentation and for porting the demo symbol map to the final game
  • The PM64 decomp team for decompiling many of the same functions, which are useful to check against
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].