Decompiled Retail Console Games

Edit on Github | Updated: 9th August 2020

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.

Nintendo Systems

Nintendo systems are by far the most popular for reverse engineering projects, especially related to 1st party titles such as Mario, Zelda and Pokemon.

Nintendo Entertainment System (NES)

Balloon Fight

Balloon Fight (USA) NES Disassembly

Project by LuigiBlood, requires BASS to assemble back into the retail ROM

Dragon Warrior

Complete Dragon warrior disassembly

Complete Dragon warrior disassembly by github user nmikstas, uses Ophis to assemble back into the original ROM

Final Fantasy

Final Fantasy 1 Disassembly

Completed documentation of all code, uses ca65 to assemble back to original ROM

Legend of Zelda

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

Mega Man 3

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

Mega Man 4

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

Mega Man 5

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

Super Mario Bros 3

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

Tetris

Disassembly of Tetris (NES)

This is a disassembly of Tetris (NES) that uses cc65 as the assembler


Super Nintendo (SNES)

Super Bomberman

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

Super Mario All-Stars

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

Super Mario World

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

Super Mario World 2: Yoshi’s Island

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

Super Metroid SNES game, disassembled

This project is a disassembly of Super Metroid for the Super Famicom (SNES), it is still under active development.


Nintendo 64

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.

Mario Kart 64

A Mario Kart 64 disassembly

A very early decompilation of Mario Kart 64 (U) source

Super Mario 64

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.

The Legend of Zelda: Ocarina of Time

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.

The Legend of Zelda: Majora’s Mask

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


Nintendo GameCube

Super Smash Bros Melee

Super Mario Sunshine

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.


Nintendo Game Boy

Kirby’s Dream Land

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.

Pokemon Red & Blue

Disassembly of Pokémon Red/Blue

This is a fully complete disassembly of Pokémon Red and Blue. It uses the RGBDS assembler.

Pokemon Yellow

Disassembly of Pokemon Yellow

This is a fully complete disassembly of Pokémon Yellow. It uses the RGBDS assembler.

Super Mario Land

Super Mario Land disassembly

Incomplete disassembly of Super Mario Land (World) (Rev A). It uses the RGBDS assembler.


Nintendo Game Boy Color

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.

Legend of Zelda Oracle of Ages & Seasons

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.

Pokemon Gold & Silver

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

Pokemon Crystal

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

Pokemon Pinball

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.

Pokemon Trading Card Game

Disassembly of Pokémon TCG

This is a disassembly of Pokémon TCG that uses the RGBDS assembler toolchain to build the retail ROM.

Pokémon Puzzle Challenge

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.


Game Boy Advance

Fire Emblem: The Sacred Stones

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

Kirby & The Amazing Mirror

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

Pokemon Ruby & Sapphire

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

Pokemon Emerald

Decompilation of Pokémon Emerald

This is a decompilation of Pokémon Emerald, it uses the devkitARM SDK to build the ROM

Pokemon FireRed & LeafGreen

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

Pokémon Mystery Dungeon: Red Rescue Team

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


Nintendo DS

Pokemon Platinum

Disassembly of Pokemon Platinum

Impressive Disassembly of the NDS game Pokemon Platinum. Uses the DevKitARM toolchain to build the ROM


Sega Systems

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.

Sega Master System

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

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)

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.


Sega Mega Drive

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.

Kid Chameleon

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

Phantasy Star II Disassembly

Incomplete Phantasy star II Disassembly for Mega Drive/Genesis by lory90. It uses an assembler called ASW.

Phantasy star III

Phantasy Star III Disassembly

Incomplete Phantasy star III Disassembly for Mega Drive/Genesis by lory90. It uses an assembler called ASW.

Phantasy Star IV

Phantasy Star IV Disassembly

Incomplete Phantasy star IV Disassembly for Mega Drive/Genesis by lory90. It uses an assembler called ASW.

Sonic 1

Sonic 1 Disassembly

The very latest Sonic 1 Disassembly, under very active development by the SonicRetro team. It uses the ASM68K assembler.

Sonic 2

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

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

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.


Sega CD

Shining Force CD


Sega Game Gear (GG)

Sonic 1 (GG)


Sony Systems

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.

Playstation 1

Tomb Raider: Chronicles

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

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

Psx Doom Reverse Engineering

The complete reverse engineering of PSX Doom by [GEC], this effort took about 2 and a half years to complete.


Microsoft Systems

There are only a handful of reverse engineered games for Microsoft games consoles.

Xbox 360

Terraria

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.


Atari Systems

Atari 2600

Sample source code games Atari 2600

Various disassembled Atari 2600 games


Mobile games

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.

Java 2 Mobile Edition (J2ME)

Sonic 1 J2ME

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.


Android

Sonic Advance

A Monkey port of decompiled Java from Sonic Advance (Mobile)

Sonic GBA is a fan developed reinterpretation of decompiled Java output from the Android version of Sonic Advance.