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
- Where to Start
- Subfields
- Consoles
- Prominent Games
- Tools
- Assembly (ASM) Languages
- General Communities
- Getting Started - Romhacking Dot Net's page for beginners looking to get started with the various subfields of romhacking.
- The Definitive Guide to Romhacking for Complete Beginners - A guide to romhacking that covers the basics of what romhacking is.
- Big Endian vs. Little Endian - An article on the concept of endianness.
- Hexadecimal - A YouTube video explaining number bases, binary, and hexadecimal.
- Introduction to Programming Logic - A short description of the basic mindset behind programming logic.
- What is Debugging? - An explanation of debugging and the general debugging process.
- Binary translation - A Wikipedia page describing static binary translation, which is what static recompilations are.
- Data Representation - Harvard computer science course notes explaining how computers internally process data.
- N64: Recompiled - A description of how recomps work for ROMs.
- Reverse Engineering - An article about reverse engineering and decompilation, which can be applied to ROMs.
- Reversing: Secrets of Reverse Engineering - A book about practices, strategies, and rationale for reverse engineering.
- Action Replay Code Types - A document describing the parts and technical meanings of Action Replay codes.
- GBATEK - More than everything you'll need to know about the hardware and software of the GBA, DS, and (to an extent) the 3DS.
- FAST6196's GBA and DS Romhacking Guide (2016 Edition) - A thorough overview of GBA and DS romhacking with helpful examples.
- The Ultimate Nintendo DS Romhacking Guide - A thread on GBATemp that goes over basic DS romhacking. Note that it uses some outdated tools.
- Nitro Studio 2 Deluxe - An all-in-one tool for editing music and sound effects in .sdat files. 🪟
- Doomworld - A forum for Doom discussion, including documentation and help with creating mods.
- A Beginners Guide to Hacking Gen 3 Pokémon Games With Decomps - A guide with resources for hacking Pokémon with decompilations.
- Pokecommunity Forums - A forum for sharing, discussing, and providing information on making Pokémon romhacks.
- r/PokemonROMhacks - A large subreddit for discussing and making Pokémon romhacks.
- Metroid Construction - The hub for Metroid hacking and resources.
- 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.
- New Super Mario Bros. Editor (NSMBE) - The main tool for modding New Super Mario Bros. (DS). 🪟
- New Super Mario Bros. Hacking Domain (NSMBHD) - A forum for discussing everything about New Super Mario Bros. (DS) romhacking.
- Super Mario World Central - A community all about Super Mario World, but also may be relevant to other SNES hacking.
- 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 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. 🪟
- 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. 🪟
- 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. 🐧🍎🪟💸
- Crystal Tile 2 - Contains many tools for DS hacking, but is also helpful as a general tile editor. 🪟
- Kuriimu2 - A "general purpose game translation project manager" for making fan translations. 🐧🍎🪟
Used by the NES.
Used by the SNES.
Used by the Genesis.
- 68000 Assembly Programming for the Sega Genesis - A detailed introduction to 68000 assembly.
Used by the GBA, DS, and 3DS.
Used by the PS1 and PS2.
Used by the GameCube, Wii, Wii U, and Xbox 360.
- Basic ASM - An introduction to assembly using PowerPC.
Used by the original Xbox.
Used by the Master System and Game Gear; the Game Boy uses a modified version called GBZ80.
- 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.
Contributions of any kind welcome, just follow the guidelines!