This post contains either decompiled or disassembled source code projects for console games that were sold at retail stores.
If you are interested to see officially released or leaked source code check out this other post:
Retail Console Game Source code (C/C++)
For the official source code check out this post.
To be included in this list the project must have decompiled or disassembled at least 25% of the course code, in order to not pollute the post with hundreds of unfinished projects. An exemption to this rule can be made for consoles with very few reversering projects.
Nintendo systems are by far the most popular for reverse engineering projects, especially related to 1st party titles such as Mario, Zelda and Pokemon.
Balloon Fight (USA) NES Disassembly
Project by LuigiBlood, requires BASS to assemble back into the retail ROM
Complete Dragon warrior disassembly
Complete Dragon warrior disassembly by github user nmikstas, uses Ophis to assemble back into the original ROM
Final Fantasy 1 Disassembly
Completed documentation of all code, uses ca65 to assemble back to original ROM
Disassembly of Legend of Zelda
This is a work in progress disassembly of The Legend of Zelda for the Nintendo Entertainment System, it uses CC65 to assemble back in to the original ROM
Full disassembly of Mega Man 3 (NES)
Fully complete disassembly of Mega Man 3 by Raidenthequick, it compiles into the US version of the ROM with the xkas assembler
Full disassembly of Mega Man 4
Fully complete disassembly of Mega Man 4 by Raidenthequick, it compiles into the US version of the ROM with the xkas assembler
Full disassembly of Mega Man 5
Fully complete disassembly of Mega Man 5 by Raidenthequick, it compiles into the US version of the ROM with the xkas assembler
Disassembly of Super Mario Bros 3
Looks like a fairly complete Disassembly of Super Mario Bros 3 that uses NESASM to re-assemble back into the original US ROM
Disassembly and remade build system for SNES game Super Bomberman
The Disassembly of Super Bomberman is about half complete and it uses ca65 to build the retail worldwide ROM images
Disassembly of the Super Mario All-Stars ROM
Incomplete Super Mario All-Stars Disassembly project, has made great progress but still quite a lot of work to do. There are plans to make this disassembly assemble-able in either xkas or asar
SMW Disassembly X
(Yet another) disassembly of Super Mario World. This disassembly will focus on code readability and the ability to assemble any of the four console releases of the original game (J, U, E 1.0, & E 1.1). It also assembles the Super System arcade version of the game. Uses the Asar v1.61 Assembler to build back into original ROMs
Full disassembly of Yoshi's Island (SNES) version U 1.0
Disassembly is 100% finished, assembles under Asar and produces a fully clean ROM.
Super Metroid SNES game, disassembled
This project is a disassembly of Super Metroid for the Super Famicom (SNES), it is still under active development.
Recently, mainly in thanks to the huge success of the Super Mario 64 project, there has been revived interest in Nintendo 64 Decompilation. While most projects are still in very early stages, there are a few that meet the criteria for this list.
Super Mario 64 decompilation
This repo contains a full decompilation of Super Mario 64 (J), (U), and (E) with minor exceptions in the audio subsystem. it uses the original IRIX based compiler toolchain to build wrapped in QEMU-IRIX for compatibility on modern systems.
Decompilation of The Legend of Zelda: Ocarina of Time
This is a WIP decompilation of The Legend of Zelda: Ocarina of Time. The purpose of the project is to recreate a source code base for the game from scratch, using information found inside the game along with static and/or dynamic analysis. The only build currently supported is Master Quest (Debug), but other versions are planned to be supported.
Decompilation of The Legend of Zelda: Majora's Mask
A decompilation of The Legend of Zelda: Majora's Mask brought to you by a bunch of clever folks
Disassembly of the main .dol-file of Super Mario Sunshine
Disassembly of the main .dol-file of Super Mario Sunshine, lacks documentation but a very impressive project.
A decompilation of LOZ BOTW
Initial decompilation of the Nintendo switch version of BOTW, it uses the devkitA64 toolchain
Disassembly of Kirby's Dream Land
This is a disassembly of Kirby's Dream Land (Game Boy), still under active development but many subroutines still to be named. It uses the RGBDS assembler.
Disassembly of Pokémon Red/Blue
This is a fully complete disassembly of Pokémon Red and Blue. It uses the RGBDS assembler.
Disassembly of Pokemon Yellow
This is a fully complete disassembly of Pokémon Yellow. It uses the RGBDS assembler.
Super Mario Land disassembly
Incomplete disassembly of Super Mario Land (World) (Rev A). It uses the RGBDS assembler.
Disassembly of Legend of Zelda: Links Awakening DX
Links Awakening DX Disassembly still under active development. It uses RGBDS to build into the worldwide ROM set.
Disassembly of Oracle of Ages and Seasons
This is intended to be a full disassembly of Oracle of Ages and Seasons for the Gameboy Color. The disassembly uses WLA-DX as its assembler.
Disassembly of Pokémon Gold/Silver
This is a fully documented disassembly of Pokemon Gold and Pokemon Silver. It uses the RGBDS assembler to build into the retail ROMs
Disassembly of Pokémon Crystal
This is a fully documented disassembly of Pokemon Crystal. It uses the RGBDS assembler to build into the retail ROMs
Disassembly of Pokémon Pinball
This is a disassembly of Pokémon Pinball (Game Boy Color), the assembler used is rgbds version 0.4.0.
Disassembly of Pokémon TCG
This is a disassembly of Pokémon TCG that uses the RGBDS assembler toolchain to build the retail ROM.
Disassembly of Pokémon Puzzle Challenge
This is a disassembly of Pokémon Puzzle Challenge that uses the RGBDS assembler toolchain to build the retail ROM.
Decompilation/disassembly of Fire Emblem: The Sacred Stones
This is a disassembly of Fire Emblem: The Sacred Stones (U)[!], it uses the devkitARM SDK to build the ROM
Disassembly of Kirby & The Amazing Mirror (USA)
This is a disassembly of Kirby & The Amazing Mirror (USA), it uses the devkitARM SDK to build the ROM
Decompilation of Pokémon Ruby/Sapphire
This is a disassembly of Pokémon Ruby and Sapphire, it uses the devkitARM SDK to build the ROM
Decompilation of Pokémon Emerald
This is a decompilation of Pokémon Emerald, it uses the devkitARM SDK to build the ROM
Decompilation of Pokémon FireRed/LeafGreen
This is a disassembly of Pokémon FireRed and LeafGreen, it uses the devkitARM SDK to build the ROM
Decompilation of Pokémon Mystery Dungeon: Red Rescue Team
This is a disassembly of Pokémon Mystery Dungeon: Red Rescue Team, it uses the devkitARM SDK to build the ROM
Disassembly of Pokemon Platinum
Impressive Disassembly of the NDS game Pokemon Platinum. Uses the DevKitARM toolchain to build the ROM
Sega is similar to Nintendo in that most of the games that people are interested in reverse engineering are 1st party titles such as Sonic and Phantasy Star.
Although the Sega Master System was hugely popular in Europe, it can’t compete with the NES for number of disassembled projects created so far.
Phantasy Star Disassembly
Incomplete Phantasy Star Disassembly for Sega Master System from SonicRetro. It uses the wla-z80 assembler to build the ROM
Sonic 2 SMS Disassembly
Sonic 2 for the Sega Master System Incomplete Disassembly from SonicRetro. It uses the wla-z80 assembler to build the ROM.
The Sega Mega Drive was Sega’s most popular console in terms of games developed, and as such it also seems to be the most popular for reverse engineering projects too.
Split disassembly of Kid Chameleon
Kid Chameleon Disassembly seems to be fairly well documented but still needs much more work to document each subroutine
Phantasy Star II Disassembly
Incomplete Phantasy star II Disassembly for Mega Drive/Genesis by lory90. It uses an assembler called ASW.
Phantasy Star III Disassembly
Incomplete Phantasy star III Disassembly for Mega Drive/Genesis by lory90. It uses an assembler called ASW.
Phantasy Star IV Disassembly
Incomplete Phantasy star IV Disassembly for Mega Drive/Genesis by lory90. It uses an assembler called ASW.
Sonic 1 Disassembly
The very latest Sonic 1 Disassembly, under very active development by the SonicRetro team. It uses the ASM68K assembler.
Sonic 2 Disassembly
A disassembly of Sonic the Hedgehog 2 for the Sega Mega Drive/Genesis by SonicRetro. It uses the AS Macroassembler.
Sonic and Knuckles Disassembly
A disassembly of Sonic and Knuckles for the Sega Mega Drive/Genesis by SonicRetro. It uses the AS Macroassembler.
Sonic Spinball Disassembly
This is the Sonic Spinball disassembly by Andlabs converted to a .asm file and fixed up to produce an accurate build in asm68k.
Compared to the other systems, Sony doesn’t have many decompilation projects, mainly due to the higher complexity of the games developed by the PS1 era, requiring much larger teams to create the games in the first place.
Tomb Raider: Chronicles Disassembly translated to C source code
This repository contains decompiled code for the game Tomb Raider: Chronicles. All decompiled code is based off the final PlayStation and PC version. The goal is to decompile as much as possible since the original source code is reportedly lost. It is not expected for decompiled code to be 1:1 with the original source code. However, functionality wise it will be the same.
Need for Speed: High Stakes Disassembly translated to C source code
A very early decompilation project for Need For Speed 4, but the progress that has been made is very impressive.
Psx Doom Reverse Engineering
The complete reverse engineering of PSX Doom by [GEC], this effort took about 2 and a half years to complete.
There are only a handful of reverse engineered games for Microsoft games consoles.
Broken Decompiled Terraria Xbox 360 Edition source code
Since Terraria is based on XNA which is a C# library, it is possible to decompile back into C# source code. This project is still very early but has some interesting results.
Mobile games are a special case that weren’t initially going to be included, but we have included a few games that are based on console games.
Decompile of the 2005 mobile port of Sonic 1
A decompilation of the 2005 Java mobile port of Sonic the Hedgehog (1991). This decompilation focuses on the 240x320 resolution version, of part 1 as it uses the original game's graphics. However, there are lower resolutions that function similarily. And part 2 consists of the largest available resolution; 208x208. Part 1 was created by iFone, and 2 by Glu.