mGBA Forums
ROM hacking tools in mGBA - Printable Version

+- mGBA Forums (https://forums.mgba.io)
+-- Forum: mGBA (https://forums.mgba.io/forumdisplay.php?fid=1)
+--- Forum: General (https://forums.mgba.io/forumdisplay.php?fid=3)
+--- Thread: ROM hacking tools in mGBA (/showthread.php?tid=7)



ROM hacking tools in mGBA - endrift - 04-18-2015

I've gotten a request for a bunch of tools to be added for ROM hacking purposes, including:
  • A palette exporter
  • text translation table support (.tbl?)
  • A way to trace RAM data back to ROM
Are there any other tools that people would want?

As for these tools, what file formats would be useful? For palettes, I could easily do .aco or .act exporting, two Photoshop formats. Are there other formats that would be useful? And what of .tbl files? I don't have any information on this file format, which would make it a bit challenging to implement. I found http://datacrystal.romhacking.net/wiki/Text_Table, but it's a bit incomplete.


RE: ROM hacking tools in mGBA - suspendedhatch - 04-22-2015

Don't know if this is related, but I've heard of a concept of patching games on the fly. That way you preserve your roms unaltered.


RE: ROM hacking tools in mGBA - endrift - 04-23-2015

That generally refers to automatic loading of a patch in the emulator, patching the ROM in memory. That's been supported in mGBA since 0.1.0, so it doesn't need to be added.


RE: ROM hacking tools in mGBA - anjbe - 07-29-2015

(04-18-2015, 07:44 PM)endrift Wrote: Are there any other tools that people would want?

A window to view the contents of video RAM graphically (unless that feature already exists).

(04-18-2015, 07:44 PM)endrift Wrote: And what of .tbl files? I don't have any information on this file format, which would make it a bit challenging to implement. I found http://datacrystal.romhacking.net/wiki/Text_Table, but it's a bit incomplete.

Here’s a spec—written probably 15 years after the first tools using .tbl (and IMO quite overcomplicated, most tools support little more than basic A0=a\nA1=b\n…).