News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: MBuild - General Purpose ROM hacking data extraction and insertion tool  (Read 7069 times)

DackR

  • Full Member
  • ***
  • Posts: 130
  • Mo~
    • View Profile
    • Hackaday.io Page
Re: MBuild - General Purpose ROM hacking data extraction and insertion tool
« Reply #20 on: February 20, 2016, 01:24:32 am »
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:
https://github.com/danielburgess/MBuild
« Last Edit: February 20, 2016, 01:38:59 am by DackR »

zonk47

  • Sr. Member
  • ****
  • Posts: 343
    • View Profile
Re: MBuild - General Purpose ROM hacking data extraction and insertion tool
« Reply #21 on: February 20, 2016, 09:04:56 am »
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.

RyanfaeScotland

  • Sr. Member
  • ****
  • Posts: 361
    • View Profile
    • My Brill Game Site
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:
Code: [Select]
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?