Learn Romhacking (Resources Index)

Spike's iconSpike

So have a nice day
Spike's icon
Admin
Level 5
61%
Joined
Aug 20, 2024
Messages
1,916
Level up in
583 posts
Solutions
11
Reaction score
7,315
Points
3,577
Location
8th page of Google search results

So you want to learn romhacking?​

First of all, you must know that there's no general tool that will convert a Japanese game to English else all games would already been translated. Every game is different. This is also not something you will learn in a day so if you were expecting a 5 minute tutorial and be done, that's also not happening.

What is romhacking?​

So you understood this is hard, and you first need to learn things before you can even begin touching the game files. Romhacking can be breakdown more or less into these steps:
  1. Extracting the ROM files
  2. Find Japanese text location in files
  3. Dump the text
  4. Translate the text
  5. Reinsertion
Each of these steps present significant challenges, specially since English text usually requires much more space than Japanese, so your translation will most likely not fit, requiring manual adjustment of pointers or text display routines to accommodate the new text sizes. This is very complicated: unless you are a software engineer or an experienced low level programmer none of it will make sense.

Skills needed:​

Knowing the above you should realize not anyone can do this, you need a lot of skills. More specifically:
  • [Simple] File Management: being confrontable with using a PC and handling, organize, and back up files effectively.
  • [Simple] Use of ROM Hacking Tools: Skills in operating specific ROM hacking tools such as Tile Molester, CrystalTile2, Cartographer, and Atlas.
  • [Hard] Binary Analysis: Ability to read and interpret binary data formats, essential for analyzing the content within ROM files.
  • [Hard] Data Extraction Techniques: Skills in extracting data, including text and graphics, from complex file structures.
  • [Moderate] Text Encoding: Knowledge of various encoding schemes, especially those used in video games like Shift-JIS for Japanese text.
  • [Hard] Scripting for Automation: Ability to write scripts in languages such as Python or Perl to automate repetitive tasks like text extraction and reinsertion.
  • [Very Hard] Reverse Engineering: Understanding how to decompile, examine, and modify executable code to understand game mechanics, text handling, and data storage.
  • [Very Hard] Memory Management: Knowledge of how games handle memory, crucial for modifying games without causing crashes or bugs.
  • [Moderate] Graphic Editing: Skills in graphic design software to edit or create text sprites and fonts, especially if the game uses graphical text.
  • [Hard] Programming: Proficiency in assembly language used by the game’s platform (e.g., 6502, Z80, MIPS), and higher-level languages like C for writing custom tools or modifying game code.
  • [Hard] Debugging: Ability to use debugging tools to trace problems and test solutions within the game.
  • [Simple] Patch Creation: Skills in creating patches to apply modifications without distributing the original copyrighted ROM, often using tools like Lunar IPS or xDelta.

Resources:​

  1. Romhacking.net's Starter Guide
  2. Hilltop's Video Series (Discussion)
  3. Jonko's Rom hacking video tutorials and guides
 

So you want to learn romhacking?​

First of all, you must know that there's no general tool that will convert a Japanese game to English else all games would already been translated. Every game is different. This is also not something you will learn in a day so if you were expecting a 5 minute tutorial and be done, that's also not happening.

What is romhacking?​

So you understood this is hard, and you first need to learn things before you can even begin touching the game files. Romhacking can be breakdown more or less into these steps:
  1. Extracting the ROM files
  2. Find Japanese text location in files
  3. Dump the text
  4. Translate the text
  5. Reinsertion
Each of these steps present significant challenges, specially since English text usually requires much more space than Japanese, so your translation will most likely not fit, requiring manual adjustment of pointers or text display routines to accommodate the new text sizes. This is very complicated: unless you are a software engineer or an experienced low level programmer none of it will make sense.

Skills needed:​

Knowing the above you should realize not anyone can do this, you need a lot of skills. More specifically:
  • [Simple] File Management: being confrontable with using a PC and handling, organize, and back up files effectively.
  • [Simple] Use of ROM Hacking Tools: Skills in operating specific ROM hacking tools such as Tile Molester, CrystalTile2, Cartographer, and Atlas.
  • [Hard] Binary Analysis: Ability to read and interpret binary data formats, essential for analyzing the content within ROM files.
  • [Hard] Data Extraction Techniques: Skills in extracting data, including text and graphics, from complex file structures.
  • [Moderate] Text Encoding: Knowledge of various encoding schemes, especially those used in video games like Shift-JIS for Japanese text.
  • [Hard] Scripting for Automation: Ability to write scripts in languages such as Python or Perl to automate repetitive tasks like text extraction and reinsertion.
  • [Very Hard] Reverse Engineering: Understanding how to decompile, examine, and modify executable code to understand game mechanics, text handling, and data storage.
  • [Very Hard] Memory Management: Knowledge of how games handle memory, crucial for modifying games without causing crashes or bugs.
  • [Moderate] Graphic Editing: Skills in graphic design software to edit or create text sprites and fonts, especially if the game uses graphical text.
  • [Hard] Programming: Proficiency in assembly language used by the game’s platform (e.g., 6502, Z80, MIPS), and higher-level languages like C for writing custom tools or modifying game code.
  • [Hard] Debugging: Ability to use debugging tools to trace problems and test solutions within the game.
  • [Simple] Patch Creation: Skills in creating patches to apply modifications without distributing the original copyrighted ROM, often using tools like Lunar IPS or xDelta.

Resources:​

  1. Romhacking.net's Starter Guide
  2. Hilltop's Video Series (Discussion)
  3. Jonko's Rom hacking video tutorials and guides
wanna learn but looks hard and time consuming
 
I recall the romhacking.net guide saying I need zsnes for tables, do I really need it? Cuz I wanna make my own romhacks and translations
 
I recall the romhacking.net guide saying I need zsnes for tables, do I really need it? Cuz I wanna make my own romhacks and translations
that is most likely for savestates. The document was written when zsnes was the best emulator available.

What you need for sure is some way to write your own tooling, especially for games that are less known. For example you might have to write a custom archive extractor for game files or write custom scripts for quickbms
 
What you need for sure is some way to write your own tooling, especially for games that are less known. For example you might have to write a custom archive extractor for game files or write custom scripts for quickbms
Not smart enough for that so no thanks
 
I do know python and bash (somewhat similar, which could translate into Perl). Maybe ill try my hand at romhacking one time, but i am also very lazy also.
 
It's kind of game specific but Metroid Construction has a lot of resources and information available for hacking Metroid games.
 
Freaking decompressing is hell
The guide be like yo check this out there is pattern in this obvious archive
The game I'm trying to hack :
Nonsensical gibberish
I have to reverse engineer that shit
I don't have time for that 😭😭
 
I'd like to mention this repo. It is indeed time consuming, but doable. Some games have already well-established communities sharing resources like level editors, tools, patches, etc that make it easier for beginners to get through casual romhacking (like Super Mario World and Earthbound communities), but I'd recommend to anyone who wants to pursue the "ancient spirit" of romhacking (lol) to get familiar with the disassemblies of games you love (even making your own disassemblies) and with some of the introductory knowledge within that repo.
 
Hi!! :3

New there but if anyone really want to make a romhack I'm sure I can help! (Please make my ironically useless skills some usefulness)

Right

M

now since a few weeks I'm trying to reverse engineer yo-kai watch 1 on 3DS to FINALLY have a clear idea of the befriending system and the odds

It isn't simple, but it's still going decently! (I'm documenting how I'm doing it I'll send the markdown file if asked and I'll send news if I ever finally find things)

But yeah, if you have the files, and if the file is running well, then it's definitely editable in some ways (probably)
 

Users who are viewing this thread

Connect with us

Support this Site

RGT relies on you to stay afloat. Help covering the site costs and get some pretty Level 7 perks too.

Latest Threads

What is the most fun deck you can make on master duel right now?

Been thinking about getting back in that game, but I also want to try quirky decks that are more...
Read more

Prune Thread #1

1000002428.jpg

Why you may ask? I don't know
Read more

tablet for Retro Gaming such as PSP and GBA games!

I'm looking for a tablet that I can play PSP and GBA games on, so which tablet should I buy? It...
Read more

Retro tablet

My first tablet. I am so going to trick this bitch out it isn't even funny.
1000000489.jpg
Already...
Read more

Patapon 1+2 Replay

1000077636.webp

A rerelease/remaster of Patapon 1+2 came out on pc and consoles the other day. These...
Read more

Online statistics

Members online
184
Guests online
261
Total visitors
445

Forum statistics

Threads
10,266
Messages
254,594
Members
817,926
Latest member
kaynine

Advertisers

Back
Top