Views: 31,744,028 Homepage | Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search 06-12-26 12:04 PM
Guest:

0 users reading proposal: file format to better facilitate rom hacks | 1 bot

Main - Development - proposal: file format to better facilitate rom hacks Hide post layouts | New reply


cheetahpixie
Posted on 06-17-25 02:19 PM Link | #7782
title. I had a brainwave a bit back, and came up with a full format specifically for emulators and capable fpga chips to patch a game rom without needing to modify the rom file itself. I wrote out the entire spec in kaitai struct as well, which means the kaitai struct compiler can be used to generate parsers for the format, which would then enable utilities to create, manage, and construct patch sets with a library that already exists in practice, being merely one short kaitai struct compile away.

my core motivations were my own messing around with rom hacks that led me down the arduous path of individual action replay codes just to create a complete rom hack, and then to modifying the game rom itself in a copied file. but as you can guess, I wasn't satisfied with either solution, since I would either need a wildly unyieldy and inefficient .cht file (this was done on zsnes, but that's not of relevance here), or to modify the game rom itself. this format, meanwhile, is both efficient and self-contained, meaning it solves both of the aforementioned issues.

and while initially my exploration specifically focused on the snes, a trivial extension to the format made it platform agnostic, hence my ability to properly field the proposal here.

to save space on this post, I uploaded the relevant .ksy file here.

as to edge cases; those are covered. while I only remember one particular thing at the moment, here is the question and the answer:

q: when a multi byte flag is set, does a length of zero make the relevant bit zero length?
a: yes. in fact, in order to test parsers, you might actually want to do it through zero length patches, just to verify parsing itself works. for users, all zero lengths could be skipped as a patch, or, in a viewer, serve as a separator, and possibly even a text field without an attached patch.

comments, questions and criticism all welcome.


Main - Development - proposal: file format to better facilitate rom hacks Hide post layouts | New reply

Page rendered in 0.053 seconds. (2048KB of memory used)
MySQL - queries: 26, rows: 71/71, time: 0.043 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.