Headered and unheadered ROMs, you can pretty much ignore them when emulating them (unless you use bsnes, then you'll have to purify it first). Emulation of them isn't a problem at all, really.
Ever since bsnes stopped supporting headered ROMs, some ASM hackers have become more... let's say... "header-aware". ROMs aren't supposed to have headers. These headers are like, copier headers. Useless. Waste of 512 bytes pretty much. My "dirty" (I think) SMRPG ROM has a copier header too, and it has useless text in it: "SUPER MARIO RPG ;NSRT" or something like that. Might as well change the file name to "SUPER MARIO RPG.smc" (or rather, sfc) instead of putting it in the header. Anyway, as I said before, emulating headered ROMs isn't really a problem, however, hacking them is. Let us take a look at Super Mario World hacking.
Super Mario World has a level editor called Lunar Magic. It supports headered and unheadered ROMs. However, it supports unheadered ROMs by adding a header to it, in the end making it a headered ROM.
Why would you force ROMs to be headered in the first place in such a famous tool?
Now, bsnes, a very accurate SNES emulator, doesn't support headered ROMs anymore. When we want to playtest our hacks in bsnes, we'd have to snespurify our ROMs each time.
How difficult is it to make Lunar Magic support unheadered ROMs?
Not to mention that all of our patches and most of our tools are also headered-only. If we ever wanted to change everything to non-headered, our only obstacle would be probably Lunar Magic itself, because it's famous and the tool which is used the most, pretty much. If one edits a ROM with Lunar Magic, then applies an xkas patch without the line HEADER, the ROM will probably break.
Byuu kind of got rid of this problem. He made this tool named Header Magic. Header Magic enables Lunar Magic to open and edit and save unheadered ROMs. He did a great job at that, that's for sure. However, I'm not sure if new people will be able to easily figure out what's going on with Lunar Magic and Header Magic, headers, and whatnot. Keeping everything idiot-proof can be difficult.
Once Lunar Magic natively supports headerless ROMs (not using external tools such as Header Magic), then it's the time to switch to patches, tools, etc. which don't add/require headers. Everything would become idiot-proof and we wouldn't have any problem with headers. Then it'll become much easier to actually playtest our hacks on bsnes more easily. Of course, if most of the SMWC staff approves of this idea.
Switching to a non-headered hacking standard sounds pretty easy. Just remove the line "HEADER" from ASM patches, and bug tool authors to add a non-headered ROM support, and there we go. We'd also probably have to rip out the "header-patch" of the existing hacks' IPS patches.
And then there are people who'd still prefer using and submitting ROMs which are headered, and an outdated version of Lunar Magic. Eh.
On a side note, it's also annoying to code a tool which supports both headered and headerless ROMs in my opinion, so I'll probably make my SMAS hacking tools support headerless ROMs only.
Also, blog post 100. :D
2 comments:
geez is it really that hard to load the rom to ram and skip the first 300 bytes?
300? Anyway, I'm too lazy to care about headers which shouldn't be there in the first place, really.
Post a Comment