awesome-romhacking icon indicating copy to clipboard operation
awesome-romhacking copied to clipboard

An awesome list of epic resources related to romhacking for various games and consoles.

Awesome Romhacking

Awesome Lint

A list of resources for all your romhacking needs!

Romhacking is the practice of editing a video game's code β€” located in its read-only memory, or ROM β€” in order to modify the game.

Legend: 🐧 = for Linux, 🍎 = for Mac, πŸͺŸ = for Windows, πŸ’Έ = paid software

Contents

  • Where to Start
  • Subfields
  • Consoles
  • Prominent Games
  • Tools
  • Assembly (ASM) Languages
  • General Communities

Where to Start

Fundamental Concepts

Advanced Concepts

Subfields

Text Editing and Translation

Graphics Editing

Music Editing

Level Editing

Cheat Codes

Consoles

Game Boy

Game Boy Advance

Nintendo Entertainment System

Nintendo 3DS

Nintendo 64

Nintendo DS

Nintendo GameCube

PlayStation

PlayStation 2

PlayStation 3

PlayStation Portable

Sega Dreamcast

Sega Game Gear

Sega Genesis

Sega Master System

Sega Saturn

Super Nintendo Entertainment System

Wii

Wii U

Xbox

Xbox 360

Prominent Games

Doom series

  • Doomworld - A forum for Doom discussion, including documentation and help with creating mods.

PokΓ©mon series

Metroid series

Super Mario 64

  • Pannenkoek - A Super Mario 64 YouTuber who makes in-depth technical explainer videos about the game's workings.
  • Kaze - A Super Mario 64 YouTuber who creates mods and has optimized the entire source code.

Mario series

Super Smash Bros. series

The Legend of Zelda: Ocarina of Time

Tools

Patchers

  • beat - Creates and applies BPS patches, a format which is a spiritual successor to the IPS format. πŸͺŸ
  • Lunar IPS - Creates and applies IPS patches. πŸͺŸ
  • Online ROM Patcher - An online app for applying patches of various formats. 🐧🍎πŸͺŸ
  • XDelta - An app for creating and applying .xdelta patches. πŸͺŸ

Hex Editors

  • Hex Workshop - A hex editor with many integrated tools, but doesn't do much more than free hex editors can do. πŸͺŸπŸ’Έ
  • HxD - A classic hex editor for disk, RAM, and file editing. πŸͺŸ
  • ImHex - A newer, modular hex editor for reverse engineering and programming, with features suited to romhacking. 🐧🍎πŸͺŸ
  • WindHex32 - A hex editor with romhacking features, especially ones targeted for SNES games. πŸͺŸ

Debugging Emulators

  • BGB - A Game Boy and Game Boy Color debugging emulator. πŸͺŸ
  • FCEUX - An NES and Famicom Disk System emulator including features for romhackers. 🐧🍎πŸͺŸ
  • NO$GBA - The "gold standard" emulator for working with GBA and DS games. πŸͺŸ

Reverse Engineering Frameworks

  • Ghidra - Free and open-source software by the National Security Agency for reverse-engineering binaries. 🐧🍎πŸͺŸ
  • IDA Free - The free (and thus limited) version of IDA Pro, used for reverse engineering and development. 🐧🍎πŸͺŸ
  • IDA Pro - The fully-featured version of IDA Free. 🐧🍎πŸͺŸπŸ’Έ

Graphics Editors

  • Crystal Tile 2 - Contains many tools for DS hacking, but is also helpful as a general tile editor. πŸͺŸ

Translation

  • Kuriimu2 - A "general purpose game translation project manager" for making fan translations. 🐧🍎πŸͺŸ

Assembly (ASM) Languages

6502

Used by the NES.

65816

Used by the SNES.

68000

Used by the Genesis.

ARM

Used by the GBA, DS, and 3DS.

MIPS

Used by the PS1 and PS2.

PowerPC

Used by the GameCube, Wii, Wii U, and Xbox 360.

  • Basic ASM - An introduction to assembly using PowerPC.

x86

Used by the original Xbox.

Z80

Used by the Master System and Game Gear; the Game Boy uses a modified version called GBZ80.

General Communities

  • Romhack Dot Ing (RHDI) - A central site for sharing and finding romhacks, which also contains the hacks and utilities from the former hub romhacking.net.
  • Romhack Hispano - A romhacking community for Spanish speakers.
  • GameHacking.org - A site dedicated to storing and creating cheat codes; includes a Discord server.
  • GBATemp Forums - A large gaming forum with subgroups about romhacking on various consoles. There's a lot of valuable information here.
  • Game Banana - A place to find (and upload) all sorts of game mods.
  • r/romhacking - A small subreddit about creating and playing romhacks.

Contributing

Contributions of any kind welcome, just follow the guidelines!

Contributors

Thanks goes to these contributors!