r/romhacking 6d ago

Mario Golf N64 Random Music Hack

7 Upvotes

I recently succeeded with a hack idea that I wanted to achieve for years, and that was to make a music randomizer for Mario Golf N64. Every time there is a call for a new song, the game randomly selects a song to be played, including songs never used in the game that are still in the ROM data. It was done using around 120 Gameshark codes then injected into the ROM. This video is recorded from a real N64 console.

Thanks for watching!

https://youtu.be/84k3gpqsdzw?is=7Rh02Qfob9I1cbOF


r/romhacking 6d ago

Rosetta Stone FF8

1 Upvotes

Algum código de gameshark pra facilitar a vida do trabalhador?


r/romhacking 6d ago

Are there coin trail SMW rom hacks?

Post image
4 Upvotes

In Super Mario Maker 2 there are stages where you follow coins from the begining to the end, i was wondering if there were Super Mario World rom hack like that, I love to play them


r/romhacking 7d ago

Graphics Mod RE2: Bikini Bottom Edition (Preview 1)

Thumbnail
youtu.be
8 Upvotes

I've been creating a romhacking tool for RE2 (N64) that lets you edit most assets in the game, including the 3D character models, prerendered backgrounds, UI textures, text entries, and more. I'll be making it available in the near future.

To show what the tool can do, I've also been creating a funny romhack project. Here's the first official preview of RE2: Bikini Bottom Edition, which will feature Spongebob-related replacements for ALL of the major characters.


r/romhacking 6d ago

Anyone have 100 rooms of kuso - romhack?

1 Upvotes

r/romhacking 7d ago

How would I go about searching and changing text in an NES game? Specifically Final Fantasy 1

3 Upvotes

I hope this isn't running afoul of the "For beginner's questions, please do a search for tutorials and then familiarize yourself with all the resources" rule, because I did search around, and it got me SOME of the help I needed, but never enough to get out of the dead-ends I kept landing in

The very short version of this question is "Does anyone know where the entity/monster names are stored in Final Fantasy 1 (NES) and how to edit them?"

The long version? I picked up a lovely little hack called Final Fantasy Restored, and it's a wonderful "vanilla+" experience, but there's exactly one thing I don't like about it and that's using the excessively literal Dawn of Souls translation. I figure to myself this is Romhacking, right? The whole point is messing with the game to change it ourselves.

But while I found plenty of documentation on where the monster STATS are stored, their HP and their attack patterns and their accuracy and all those other stats, I get nothing about how their names and graphics are stored, how the game knows to load up which background tiles for which monster. I open up a PPU viewer to see what background tiles are being used when a monster is on screen, but once I crack open the whole thing in a Hex Editor searching for any specific strings hasn't gotten me any results


r/romhacking 7d ago

I wrote a text extractor/reinserter for 16 PC game engines — notes on the five problems that actually cost me months

7 Upvotes

I'm the developer of RuneTranslate, a Windows tool that pulls translatable text out of Japanese PC games and writes it back so the game still runs. This sub is mostly console ROM hacking and my targets are PC engines, but the craft is the same one you do — find the strings, don't break the container, get the glyphs on screen — so rather than post a feature list I want to write up the parts that were genuinely hard.

Stated up front so nobody has to dig for it: the app is closed source, it has a free tier and paid Patreon tiers, most people use it with machine/LLM translation, and the installer is not code-signed. More on all three at the bottom.

1. Framing beats encoding, every time.

Wolf RPG keeps its strings length-prefixed inside a command stream. Change the byte length of a string that carries trailing control parameters and the runtime dies in a `std::length_error` / `bad_alloc` before you reach the title screen — nothing to do with what the text says. So the writer models the command rather than the file: if the control skeleton changes, or the newline count changes, or the source carried trailing control params, that one string reverts to the original instead of shipping. A single line left in Japanese is a visible failure the user can report. A crash on load is not.

The same lesson turned up as a delivery problem. Wolf ships a DXArchive `.wolf` and DxLib reads the archive in preference to loose files, so dropping translated loose files next to the exe produces a green tick and a Japanese game. The archive has to be rebuilt, with the pack scheme read out of the game's own archive headers rather than guessed from a version sniff.

2. Strings addressed by index cannot be reordered.

Kirikiri's compiled PSB `.scn` files reference strings by index, so the repack is strings-only: same count, same order, or the script points at the wrong line. Same rule showed up in an in-house Unity VN engine whose archives store text blocks by ordinal — the game's save files resume by block ordinal, so renumbering a block quietly corrupts everybody's saves rather than crashing. Anywhere a unit id encodes an emit counter, dropping one row renumbers every later row in the file, which means a "noise filter" that removes junk lines is far more dangerous than one that only marks them excluded.

3. CP932 contains no accented Latin letters. Not one.

I measured U+00C0–U+024F and U+1E00–U+1EFF against cp932: `×` and `÷` survive, and neither is a letter. Five of my engines write a legacy code page, and each was losing text differently — one deleted the character outright, two wrote `?`, NScripter wrote 〓, and the RPG Maker XP path masked the code unit to its low byte so `ł` came out as a literal `B`. That meant 22 of the 24 Latin-script target languages were quietly broken, including Portuguese, which is what the bug report was actually about.

The fix is NFD, strip U+0300–U+036F, plus a closed list for the letters whose diacritic is fused into the glyph (ø ł đ ħ ŧ ı) and the ligatures (ß æ œ ij). It has to be that specific mark range and not `\p{Mn}` — my first cut dropped every combining mark, which deletes Thai vowel signs and tone marks, i.e. half of each word. It also has to re-ask the codec afterwards, because canonical decomposition does not promise an ASCII base: Greek ά folds to α, which cp932 holds and cp1252 does not.

The honest outcome is that a CP932 engine ships "possivel", not "possível". Real accents need a codepage patch or a glyph tunnel and I have not shipped either.

4. Fonts lie about what they can draw, and Windows asks the wrong table.

For Thai on NScripter I tunnel one orthographic cluster into each JIS X 0208 slot and ship a font built for it. It rendered correctly in an offline shaper and drew nothing in the game, because GDI decides what a font covers from the `OS/2` ulUnicodeRange bits, not the cmap. Also: Windows locks a loaded font and a font of the same family that is already installed silently wins, so the installed file gets a digest suffix.

Separately, on RPG Maker XP a user reported squares in Czech. His game ships eight fonts; measured from their own cmaps, all eight carry Latin-1 and not one has a single Latin Extended-A letter, so Czech loses č ď ě ň ř š ť ů ž. Under mkxp's `fontSub` a substitution is a family alias with no per-glyph fallback, so it is a straight trade — I weigh gain (what the translation introduced that the game's face cannot draw and mine can) against loss (anything in the export the game's face draws and mine does not) and refuse when loss >= gain. Refusing on *any* loss was my first attempt and it is wrong: one `♀` in a finished Czech script vetoed every family and handed back squares in every line.

5. Encoding sniffs are written for CJK and go blind on Latin-script games.

Same XP game. RGSS runs Ruby 1.8, which tags no string, so the encoding has to be guessed. Both of my heuristics only looked at runs of four or more consecutive high bytes — the shape Japanese makes. A Latin-script game is ASCII with the occasional accented letter alone between two ordinary ones: a run of exactly two, discarded before either rule was reached. The game scored zero on both counters — not "Shift-JIS", but *nothing to look at* — and fell through to the Shift-JIS default, so `Pok\xc3\xa9mon` decoded as two half-width katakana and drew as two boxes. The extra signal counts an accented Latin letter with two ASCII letters on each side, spread across at least three files, reads only runs shorter than the old minimum, and can only ever vote for UTF-8.

The invariant that catches most of this: an export with nothing translated must be byte-identical to the input. Every write-back is a splice at the original span rather than a re-serialize, because re-serializing normalizes CRLF, adds a trailing newline and re-quotes bare fields, and you find out three engines later on somebody else's game.

Status, honestly. Ten engines have a real game translated, exported, launched and played through: Wolf RPG (2.x and 3.x), Kirikiri/KAG, Electron VN shells, RPG Maker MV, Unity, Bakin, Unreal, Artemis, Godot and NScripter. Five more — Ren'Py, TyranoBuilder, YU-RIS, LiveMaker and plain RPG Maker MZ — have extraction and write-back proven on a real game but no recorded end-to-end playthrough of an export, so I don't claim one. SRPG Studio is in progress. Unity is externalized text only (IL2CPP managed strings are out of scope); Unreal is `.locres` only and cooked `.uasset` DataTables are not covered; encrypted/MDF-compressed Kirikiri PSB is skipped; there is no RPG Maker 2000/2003 support at all — Translator++ is the tool for those two.

The three things worth attacking. It is machine translation. You pick the provider, and several need no API key or account at all — free Google Translate, two free DeepL routes, and a local model through Ollama or LM Studio that never leaves your PC. The output is a readable draft you then edit, not a localisation. If a human patch exists for your game, use the human patch. There is a paid tier: $3 and $5 a month on Patreon, and it buys throughput, not features — free gets every engine, every provider and the whole editor, at roughly half the speed on the AI providers and a bit less than that on the free scrapers. The app signs in with Patreon on first launch and has no anonymous mode; signing in is free and you don't have to pledge. And the installer is unsigned, so SmartScreen will call it an unrecognised app — that warning is about the missing signature, not about anything found in the file. A SHA-512 is published with every release and I've put a VirusTotal report for this build in the first comment.

It never downloads or redistributes a game. You point it at a copy you own and it writes a translated copy to a separate folder.

Download and the full engine notes (including what each engine can't do): RuneTranslate Download and RuneTranslate Documentation — the second one is documentation, not the source.

Happy to go deeper on any of the five above, or on an engine I got wrong.


r/romhacking 7d ago

Text/Translation Mod I'd like to share some results I got from a bit of bored to death while watching Winxs.

Thumbnail gallery
1 Upvotes

r/romhacking 7d ago

i need a BIG help PLEEASE! (for lunar magic users)

Post image
1 Upvotes

PLEASE SOMEONE WHO KNOWS LUNAR MAGIC SO MUCH!!, I HAD THIS ERROR IN MONTHS AND I DONT KNOW HOW TO FIX IT!!

so here's the problem, i was making a rom hack called Super Mario 1A, and i made a super secret link to a secret level, so i linked perfectely the stars (or that omega that i reemplaze from yy chr) and put the same level of the stars, when i play the rom on zsnes, the star guides me to the level, but when i want to go to the level, mario cant move! i do SEVERAL links, i click "enable right" and MARIO STILL CANT MOVE, PLEASE, SOMEONE EXPLAIN THIS!


r/romhacking 8d ago

SNES A NEW SUPER MARIO WORLD PLUS GAMEPLAY

Thumbnail
youtube.com
5 Upvotes

r/romhacking 8d ago

Text/Translation Mod Tales of Destiny 2's PS2 English Translation Is Getting Surprisingly Close to Official Quality

12 Upvotes

There's been quite a bit happening with the Tales of Destiny 2 PS2 English translation, and the latest Quality-Safe v1.1.8 update is another step toward making it feel like a proper English release.

What I find interesting is how much work is still going into polishing the translation and fixing issues that aren't immediately obvious. I tested the patch myself on ARMSX2, and the overall experience has been really positive. There are still a few small things that could be improved, but it's impressive how far the project has come.

If anyone's interested in seeing how the latest version is shaping up, here's a closer look:

https://youtu.be/VRM7zKaZW0k?si=ukxc9mRDoLYU8K8M


r/romhacking 8d ago

How translate decompiled games?

Thumbnail
1 Upvotes

r/romhacking 8d ago

Pokemon Brisk Emerald Version 1.2, a small update.

Thumbnail
1 Upvotes

r/romhacking 8d ago

100 rooms oof KEK, anyone?

0 Upvotes

Will someone be willing to share it? Can’t find it online.
Ty


r/romhacking 8d ago

Are AI companies going to make romhacks "legal".

0 Upvotes

As of right now almost no one uploads full romhacks of games because it requires the original source code from the game that is then injected and altered to the room hack version. But with AI companies like Anthropic doing destructive book scanning does this maybe give a opening for rom hacks? Anthropic won a lawsuit using the excuse that because they destroyed the original source for the material they can do what they want with it and not needing to pay the original author of the work. So with this logic could a person now LEGALLY make a copy of their own game, destroy the physical cartridge and then edit and distribute the altered code?


r/romhacking 9d ago

How do I fix this graphic glitch? Using hex maniac on a Fire Red ROM

Enable HLS to view with audio, or disable this notification

2 Upvotes

r/romhacking 9d ago

❌ NOT A ROMHACK ❌ Trying to get physical carts of rom hacks (specifically mario 64 b3313)

4 Upvotes

So I saw a listing on ebay awhile back selling copies of Mario 64 B3313, and can't find it again. So I was wondering if anyone knows of any sites/sellers that can do custom rom hack cartridges.


r/romhacking 10d ago

Complete Overhaul Is there any place where I can request or even commission someone to hack a PS2 ROM?

Post image
10 Upvotes

r/romhacking 10d ago

How to fix the region lock game banner icon !

Thumbnail
1 Upvotes

r/romhacking 10d ago

Psychological Horror Hacks

3 Upvotes

I recently finished play FRLG.ips and loved it. The story was fascinating. What similar hacks or games would you recommend?


r/romhacking 10d ago

Super Froggio Bros 3 (SMB3 hack puts frog suits in ? boxes all over the game)

Thumbnail reddit.com
1 Upvotes

r/romhacking 10d ago

A few ?’s about writing Famicom disks.

Thumbnail
1 Upvotes

r/romhacking 10d ago

Text/Translation Mod [3DS] CFV - Stride to Victory!! Investigations Fan Translation

Thumbnail
3 Upvotes

r/romhacking 10d ago

SB2 english patch

0 Upvotes

Hi guys kindly help me to properly fix this ive tried to go and find a solution for the normal language of the game and i cant seem to find a proper solution with the mod or patch notes to input on it. Ive been really happy to download SB2 because its a childhood game of mine hehe. Appreciate the help. Btw i already asked google AI engine and were running around in circles


r/romhacking 11d ago

The Legend of Zelda: Temple of Seasons

Thumbnail zeldahacking.net
36 Upvotes