Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/btelwy/awesome-romhacking
An awesome list of epic resources related to romhacking for various games and consoles.
https://github.com/btelwy/awesome-romhacking
List: awesome-romhacking
awesome awesome-list awesome-lists romhack romhacking romhackingtool romhacks romhacktool
Last synced: 4 months ago
JSON representation
An awesome list of epic resources related to romhacking for various games and consoles.
- Host: GitHub
- URL: https://github.com/btelwy/awesome-romhacking
- Owner: btelwy
- License: cc0-1.0
- Created: 2024-07-10T20:58:10.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-08-21T23:05:00.000Z (5 months ago)
- Last Synced: 2024-09-21T18:34:17.706Z (4 months ago)
- Topics: awesome, awesome-list, awesome-lists, romhack, romhacking, romhackingtool, romhacks, romhacktool
- Homepage:
- Size: 9.96 MB
- Stars: 16
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- ultimate-awesome - awesome-romhacking - An awesome list of epic resources related to romhacking for various games and consoles. (Other Lists / Monkey C Lists)
- awesome-game-console-development - [EN: Github
README
# Awesome Romhacking
[![Awesome](https://awesome.re/badge.svg)](https://awesome.re)
[![Lint](https://github.com/btelwy/awesome-romhacking/actions/workflows/main.yml/badge.svg)](https://github.com/btelwy/awesome-romhacking/actions/workflows/main.yml)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](#where-to-start)
* [Subfields](#subfields)
* [Consoles](#consoles)
* [Prominent Games](#prominent-games)
* [Tools](#tools)
* [Assembly (ASM) Languages](#assembly-asm-languages)
* [General Communities](#general-communities)## Where to Start
* [Getting Started](https://www.romhacking.net/start) - 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](https://github.com/btelwy/awesome-romhacking/blob/main/Media/The-Definitive-Guide-to-Rom-Hacking-for-Complete-Beginners.pdf) - A guide to romhacking that covers the basics of what romhacking is.
### Fundamental Concepts
* [Big Endian vs. Little Endian](https://www.baeldung.com/cs/big-endian-vs-little-endian) - An article on the concept of endianness.
* [Hexadecimal](https://www.youtube.com/watch?v=UCgTEzcUolk) - A YouTube video explaining number bases, binary, and hexadecimal.
* [Introduction to Programming Logic](https://dev.to/abbeymaniak/introduction-to-programming-logic-understanding-the-basics-of-coding-64a) - A short description of the basic mindset behind programming logic.
* [What is Debugging?](https://www.ibm.com/topics/debugging) - An explanation of debugging and the general debugging process.
### Advanced Concepts
* [Binary translation](https://en.wikipedia.org/wiki/Binary_translation) - A Wikipedia page describing static binary translation, which is what static recompilations are.
* [Data Representation](https://cs61.seas.harvard.edu/site/2023/Datarep/#gsc.tab=0) - Harvard computer science course notes explaining how computers internally process data.
* [N64: Recompiled](https://github.com/N64Recomp/N64Recomp?tab=readme-ov-file#how-it-works) - A description of how recomps work for ROMs.
* [Reverse Engineering](https://www.scip.ch/en/?labs.20211202) - An article about reverse engineering and decompilation, which can be applied to ROMs.
* [Reversing: Secrets of Reverse Engineering](https://github.com/btelwy/awesome-romhacking/blob/main/Media/Eldad%20Eilam%20-%20Reversing%20-%20Secrets%20of%20Reverse%20Engineering.pdf) - A book about practices, strategies, and rationale for reverse engineering.## Subfields
### Text Editing and Translation
### Graphics Editing
### Music Editing
### Level Editing
### Cheat Codes
* [Action Replay Code Types](https://gist.github.com/Nanquitas/d6c920a59c757cf7917c2bffa76de860) - A document describing the parts and technical meanings of Action Replay codes.## Consoles
### Game Boy
### Game Boy Advance
* [GBATEK](https://problemkaputt.de/gbatek.htm) - 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)](https://github.com/btelwy/awesome-romhacking/blob/main/Media/romhacking2016.pdf) - A thorough overview of GBA and DS romhacking with helpful examples.
### Nintendo Entertainment System
### Nintendo 3DS
### Nintendo 64
### Nintendo DS
* [The Ultimate Nintendo DS Romhacking Guide](https://gbatemp.net/threads/the-ultimate-nintendo-ds-rom-hacking-guide.291274) - A thread on GBATemp that goes over basic DS romhacking. Note that it uses some outdated tools.
* [Nitro Studio 2 Deluxe](https://www.romhacking.net/utilities/1639) - An all-in-one tool for editing music and sound effects in .sdat files. πͺ
### 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](https://www.doomworld.com) - A forum for *Doom* discussion, including documentation and help with creating mods.
### *PokΓ©mon* series
* [A Beginners Guide to Hacking Gen 3 PokΓ©mon Games With Decomps](https://github.com/Bivurnum/decomps-resources/wiki#a-beginners-guide-to-hacking-gen-3-pok%C3%A9mon-games-with-decomps) - A guide with resources for hacking PokΓ©mon with decompilations.
* [Pokecommunity Forums](https://www.pokecommunity.com) - A forum for sharing, discussing, and providing information on making PokΓ©mon romhacks.
* [r/PokemonROMhacks](https://www.reddit.com/r/PokemonROMhacks) - A large subreddit for discussing and making PokΓ©mon romhacks.
### *Metroid* series
* [Metroid Construction](https://metroidconstruction.com) - The hub for *Metroid* hacking and resources.
### *Super Mario 64*
* [Pannenkoek](https://www.youtube.com/user/pannenkoek2012) - A *Super Mario 64* YouTuber who makes in-depth technical explainer videos about the game's workings.
* [Kaze](https://www.youtube.com/@KazeN64) - A *Super Mario 64* YouTuber who creates mods and has optimized the entire source code.
### *Mario* series
* [New Super Mario Bros. Editor (NSMBE)](https://nsmbhd.net/download) - The main tool for modding *New Super Mario Bros.* (DS). πͺ
* [New Super Mario Bros. Hacking Domain (NSMBHD)](https://nsmbhd.net) - A forum for discussing everything about *New Super Mario Bros.* (DS) romhacking.
* [Super Mario World Central](https://smwcentral.net) - A community all about *Super Mario World*, but also may be relevant to other SNES hacking.
### *Super Smash Bros.* series
### *The Legend of Zelda: Ocarina of Time*## Tools
### Patchers
* [beat](https://www.romhacking.net/utilities/893) - Creates and applies BPS patches, a format which is a spiritual successor to the IPS format. πͺ
* [Lunar IPS](https://www.romhacking.net/utilities/240) - Creates and applies IPS patches. πͺ
* [Online ROM Patcher](https://www.marcrobledo.com/RomPatcher.js) - An online app for applying patches of various formats. π§ππͺ
* [XDelta](https://www.romhacking.net/utilities/598) - An app for creating and applying .xdelta patches. πͺ
### Hex Editors
* [Hex Workshop](http://www.hexworkshop.com) - A hex editor with many integrated tools, but doesn't do much more than free hex editors can do. πͺπΈ
* [HxD](https://mh-nexus.de/en/hxd) - A classic hex editor for disk, RAM, and file editing. πͺ
* [ImHex](https://github.com/WerWolv/ImHex) - A newer, modular hex editor for reverse engineering and programming, with features suited to romhacking. π§ππͺ
* [WindHex32](https://www.romhacking.net/utilities/291) - A hex editor with romhacking features, especially ones targeted for SNES games. πͺ
### Debugging Emulators
* [BGB](https://bgb.bircd.org) - A Game Boy and Game Boy Color debugging emulator. πͺ
* [FCEUX](https://fceux.com/web/home.html) - An NES and Famicom Disk System emulator including features for romhackers. π§ππͺ
* [NO$GBA](https://problemkaputt.de/gba-dev.htm) - The "gold standard" emulator for working with GBA and DS games. πͺ
### Reverse Engineering Frameworks
* [Ghidra](https://ghidra-sre.org) - Free and open-source software by the National Security Agency for reverse-engineering binaries. π§ππͺ
* [IDA Free](https://hex-rays.com/ida-free) - The free (and thus limited) version of IDA Pro, used for reverse engineering and development. π§ππͺ
* [IDA Pro](https://hex-rays.com/ida-pro) - The fully-featured version of IDA Free. π§ππͺπΈ
### Graphics Editors
* [Crystal Tile 2](https://www.romhacking.net/utilities/818) - Contains many tools for DS hacking, but is also helpful as a general tile editor. πͺ
### Translation
* [Kuriimu2](https://github.com/FanTranslatorsInternational/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.*
* [68000 Assembly Programming for the Sega Genesis](https://www.chibiakumas.com/68000/genesis.php) - A detailed introduction to 68000 assembly.
### 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](https://www.wiicoding.info/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)](https://www.romhack.ing) - A central site for sharing and finding romhacks, which also contains the hacks and utilities from the former hub romhacking.net.
* [Romhack Hispano](https://www.romhackhispano.org) - A romhacking community for Spanish speakers.
* [GameHacking.org](https://www.gamehacking.org) - A site dedicated to storing and creating cheat codes; includes a Discord server.
* [GBATemp Forums](https://www.gbatemp.net) - A large gaming forum with subgroups about romhacking on various consoles. There's a lot of valuable information here.
* [Game Banana](https://www.gamebanana.com) - A place to find (and upload) all sorts of game mods.
* [r/romhacking](https://www.reddit.com/r/romhacking) - A small subreddit about creating and playing romhacks.## Contributing
[Contributions of any kind welcome, just follow the guidelines](contributing.md)!
### Contributors
[Thanks goes to these contributors](https://github.com/btelwy/awesome-romhacking/graphs/contributors)!