MBuild - General Purpose ROM hacking data extraction and insertion tool

Started by DackR, January 09, 2016, 05:37:52 PM

Previous topic - Next topic


I ended up re-coding my script builder for MBuild (similar to atlas) over the last couple of days. Essentially, it reads parameters from a custom xml data file and is now able to generate custom pointer tables. Right now, it just supports 2-byte little-endian tables with a seperate bank pointer table. (What ended up working the best for a side project I'm working on.)

One of the major advantages to the script builder in MBuild is its ability to take a list of empty/free space in a ROM and utilize this space "as needed" for translated scripts that end up taking significantly more space than the original without the need for expansion (3-byte pointer table variants only).

Regular 2-byte, 3-byte, and seperate low, high, and bank table generation (with options for creative combinations) will be supported shortly and I'll update my github repository with the latest changes in the next week or so.  :beer:

Edit: Here's a link to the Github repository:


There is definite need for a tool which can search for decimal values in ROM and replace the same.
A good slave does not realize he is one; the best slave will not accept that he has become one.


Quote from: r57shell on January 14, 2016, 07:41:43 PM
For Sega Genesis hacking purposes I'm using asm68k. It's "just" assembler.
From meaning of word "assembler" - it assembles things up.
So, you would ask how do I make "toolchain" from just assembler? Easy!

You create let say "main.asm" file, and input there:

org 0
incbin "original_rom.bin"

org $12345

include "first_thing.asm"
include "second_thing.asm"

include "first_thing_f.asm"
include "second_thing_f.asm"

First two lines - copying of original rom.
Next line: setup place where start writing from.
Next asm files are those which assumed that data or code from them will be added one after another.

It's really just sinking in now how cool it is that you can do this! It's basically what I'm using Easy68K for and it is tempting to switch to just a command line assembler that I don't need to click about on to get the latest build out.

Thanks again for taking the time to share.

@DackR - I've PM'd you as well mate but just on the off chance anyone else knows, is MBuild still around and still being developed?