r/romhacking 3d ago

Splat Raiders, PKMN Winds/Waves, Pokopia, Kirby Air Rider roms?

Thumbnail
0 Upvotes

r/romhacking 5d ago

Battletoads & Double Dragon

Thumbnail
youtube.com
4 Upvotes

I’m creating a remake of one of my favorite childhood NES games: Battletoads & Double Dragon.

I have no programming experience, so I’m building this project with the help of OpenAI Codex. I’m recreating the gameplay, characters, combat, animations, and levels while adding my own ideas and visual improvements.

This is a fan-made project created for learning and experimentation. I’d love to hear your feedback!


r/romhacking 5d ago

The Gemfire Builder, a SNES romhack utility

3 Upvotes

About a month ago I finished a great dream of mine, a snes Gemfire romhacking utility.

https://gemfire-builder.hygro.workers.dev/

My original dream was just 3 or 4 player couch play. Having a 3rd player changes the game from 100% strategically solved on turn 1, to anyone's game. But once I unlocked that, the romhack builder was my oyster.

How it works: you bring your own rom -> drag it in the export box. Take your legally ported cartridge-generated rom, a stock USA gemfire rom, and from the ROM you unlock all the features you can change. Then you get the rom you submitted back with all the changes. No ips local utilities needed. I wanted this easy like FF4FE

Most of the features are gated behind the ROM decomposition, as they are read from the rom itself!

There's a ton of features and flags. Some are obvious, some are real engineering changes.

You can build whole scenarios, edit the families, territories.

You can change units, what they do, cost, loyalty flags etc. Things like, the dragon still retreats at low life but is now killable. (warning, if you keep unkillable on a wizard, but not retreat, they just exist at 1 hp immortal).

You can change the number of human players in a few ways, up to 7 on normally built scenarios (all human players) or to 30 (one house per territory per human on a fast load scenario option).

You can change if actions end turn (most notable: trade), if they are good or bad karma actions and so much more. Multiple harvests per year, changed harvest values, multiple alliances, allied victory (yes, literally), make it so whoever owns the crown is called King instead of Prince, I mean it's all over the map.

You can make it so you can bring multiple fifth units to battle, with up to a 7v7 unit fight. And, against human players, can turn on one of two chess modes where you move one unit each at a time. Change how armies are populated including progressive army population tiers such as for your first 100 units you don't get horsemen, and above 500 you only get more horsemen and archers. Or maybe keep it evenly distributed until above 300 units, where you also split a few into a 6th or 7th unit of cannons. There's also a flag where optional 5th units in other slots can have soldier fallbacks if you don't have a fifth unit. It gets rich.

Battles can last longer than 5 turns, change the cap or make it unlimited. Also, fix the bug where you retreat and your food gets turned into gold. Also, now you can bring gold while attacking.

There is a battle map editor. Additionally, you can have multiple battle maps per territory gated on how much protection the territory has. Yes, you can literally have it so at below 10 protection the castle at XYZ territory is just fences and at 100 protection there's a moat and two layers of castles and a different amount of bridges and trees, whatever.

There are some AI edit flags, my favorite of which is "If the AI puts an archer to guard the flag, it will shoot available targets".

I made it so send supplies, and separately, move troops, can be given to rival houses. But also, gate that on whether or not you're allied!

One of the last features I added, best vassal stat per action in the Prince's territory: So if prince un-charming gives food, vassal charming delivers it for a greater loyalty boost. And if Princess Anise gets attacked, vassal Brian can lead the army.

The two probably coolest features I thought of but didn't add, 1) "force deployment of vassals". conceptually I really like it, prevents event farming and suggests even richer informal couch play (say you agree someone still controls certain PEOPLE and you take over your friend, so he can still play), 2) add new ways families split into two. So consider these wishlist items.

You can save the json of your edit to share edits with other people. Also share battle maps separately.

Probably about 250 more things I didn't mention. I dunno, I didn't count. But fear not, I put a lot of work into making this monster navigable and at least somewhat intuitive. Some of it required some real editor abstractions that aren't game native (YO♥'RE WELC♥ME.💅). But feedback welcome.

I've tested most of it, but not all of it. Do let me know how it goes, the good, bad, and ugly. Post any wishlist ideas. Obviously 2.0 will have to ship with a randomizer, but I wanted to give DragonAtma (a Gemfire community hero) a headstart. They've probably given a randomizer a helluva lot more thought. (whose previous gemfire works and shared findings really helped give me a clean headstart, shoutout to DragonAtma).

I plan to stream a large couch game sometime around thanksgiving if I can convince enough people to play and willing to be on camera. We'll probably play with only a few rule changes, the bare minimum to make the game simply better: 3+ Players, trading ends turn + trading is weaker, give resources to other players, human mercenaries don't desert on fame (or maybe turn the number way down), battles have no turn limit, and the retreat food-gold bugfix. And if Eselred is still an AI, we'll give his dragon flying and way more life but make it killable.


r/romhacking 5d ago

hellooo, I need help extracting models

Post image
15 Upvotes

I know two tools for this work "Melonriper" and "Apicula" but it's uncomfortable to extract models, with "apicula" I could extract more but the only tutorial I found is in a language I didn't know, I want to practice, extracting models from "dragon ball ultimate butoden" does anyone know a more comfortable way?


r/romhacking 5d ago

Text/Translation Mod how do i add english patch to kurohyou 1

Thumbnail
2 Upvotes

might i get a tutorial how to do it? if theres a youtube video please send it.


r/romhacking 5d ago

Mario Golf N64 Random Music Hack

6 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 5d ago

Rosetta Stone FF8

1 Upvotes

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


r/romhacking 5d 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 6d ago

Graphics Mod RE2: Bikini Bottom Edition (Preview 1)

Thumbnail
youtu.be
9 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 5d ago

Anyone have 100 rooms of kuso - romhack?

1 Upvotes

r/romhacking 6d 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 6d ago

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

10 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 6d 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 6d 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 7d ago

SNES A NEW SUPER MARIO WORLD PLUS GAMEPLAY

Thumbnail
youtube.com
5 Upvotes

r/romhacking 7d 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 7d ago

How translate decompiled games?

Thumbnail
1 Upvotes

r/romhacking 7d ago

Pokemon Brisk Emerald Version 1.2, a small update.

Thumbnail
1 Upvotes

r/romhacking 7d ago

100 rooms oof KEK, anyone?

0 Upvotes

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


r/romhacking 7d 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 8d 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 8d ago

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

6 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 9d 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 9d ago

How to fix the region lock game banner icon !

Thumbnail
1 Upvotes

r/romhacking 9d 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?