Tutorial - Applying/removing a Header onto a SNES ROM using SNESTool

Discussion in 'Tutorials' started by Cahos Rahne Veloza, May 22, 2009.

  1. Cahos Rahne Veloza

    Cahos Rahne Veloza The Fart Awakens

    I decided to put this tutorial up because of the Feda thread, seeing as there were a few people who were a bit clueless with what the fudge Headers are about.

    What is a Header?

    Back in the day of the NES & the SNES, game cartridges were copied or dumped onto 3'5 floppy disks using devices known as copier/loaders & headers are little bits of data that held information like what game it is you are loading onto a copier/loader & in which format the ROM was dumped in either into .smc (Super MagiCom) format, .fig (Fighter Partner), .swc (Super Wild Card) & several more others for the SNES & .NES (Ines) for the nes.

    These headers are in a way important when it comes to SNES ROM hacks as the presence or absence of a header is vital for a ROM modification hack to be properly patched onto a "raw" ROM. Often times if you read the information within the readme files that comes with SNES ROM patches you will read that sometimes patches require that your raw ROM has or doesn't have a header. For people totally new to all of this the authors of patches would give you instructions on how to easily identify if your raw ROM has a header or not by checking your ROMs actual size by viewing it under properties if you right click your ROM. Often times this is enough to know if your ROM has or doesn't have a header in accordance to the readme file's instruction so you can immediately proceed to patch your file with LunarIPS.

    But what if your ROM is headered when the readme file tells you the ROM MUST NOT contain a header or vice versa?

    This is where this tutorial will help you :)

    SNESTool

    Back in the late 90's when SNES copier/loaders where still around & ROM Hacking was in its infancy there were several tool applications that were used to prepare SNES ROMs for compatibility on several copier/loaders as there were alot of them at the time like the Super MagiCom & the Super UFO (I have one of these) & each dumped SNES ROMs in many different formats as I said earlier. Things like SNESTool was one of these utilities that was used to convert ROM types to & from another format & the application/removal of headers amongst other things.

    You can get SNESTool at RHDN, here:

    http://www.romhacking.net/utils/18/

    Once you download & save it onto your system it should look like this:
    [​IMG]
    Pay no attention to the other tools on that folder, for now though as what we need to talk about is SNESTool

    Run it by double clicking and...

    Voila!
    [​IMG]

    We see SNESTool in its glory!

    As you can see, it runs under the command line as the application is DOS based, it does feature a GUI interface but not one that relies on your mouse.

    The interface is fairly simple to get to know actually. You have two parts to the screen, the smaller screen on the left shows you the stuff that's in the current folder SNESTool is in & the bigger screen next to it has the various command options SNESTool has to offer. You navigate the various options on the right screen by way of the four keyboard arrow keys & execute a command function by hitting enter. Or you can use hotkeys to your advantage, see the letters on every command item written in a green colour? Those are SNESTool's hotkeys for each command option.

    You need not worry with the other command options on screen except for Add Header (hotkey A) & delete header (Hotkey D).

    For this demo I will use the Feda ROM as stated on my Feda Translation patch thread:
    [​IMG]

    On the Feda translation patch readme, it says the ROM MUST have a header & it's size should be:
    [​IMG]

    But the Feda ROM we get here at RomUlation is only:
    [​IMG]

    Which means the ROM indeed has no header.

    So back to SNESTool, we press A (Add header hotkey)
    [​IMG]

    We now see the words "select file to add header..." written on the Info section of the main command screen & a black rectangular marker on the very topmost entry on the list at the left. That marker serves as the file finder/selector you use to locate a specific file & since my Feda ROM is somewhere else we need to get to it to start applying a header. Note that entries on the left screen shows you what files (& folders) are there along with SNEStool so we need to go & look for our Feda ROM. to do this we press the right arrow key to enter a known folder & the left arrow key to exit it. Keep entering & exiting folders until you locate where your Feda ROM is at. When you do find it, highlight it if it is not at the very top of the list by pressing either the up or down arrow keys then press ENTER.

    [​IMG]

    As soon as you hit ENTER the info section of the main command screen will ask if you want to make the ROM into a HiROM file or not (LoROM) again you need not concern yourselves with this as this is something related with game copier/loaders & real SNES hardware, you only need to worry about this if the readme file of a patch requires a ROM to be HiROM or LoROM, but in most cases you should opt to make your file as a HiROM file, so for not hit Y. Next SNESTool will ask you if you want to "Disable static RAM", I'm quite unsure what this is though but I usually just press Y & end the process with no ill effects to the ROM whatsoever, so for now just hit Y and you're done!

    [​IMG]

    For removing a header, you do the same steps, except hit D instead of A as your hotkey to delete a Header. After which you may now proceed with applying your patch with LunarIPS as necessary ;)
     
    Dark Infernape likes this.
  2. anandjones

    anandjones Well-Known Member

    Good one Cahos :) Where should I put this?
     
  3. Cahos Rahne Veloza

    Cahos Rahne Veloza The Fart Awakens

    I guess you could move it to the tutorial section as well :)
     
  4. Murse_Jon

    Murse_Jon New Member

    I get an error message when I try to run SNES tool saying my PC can't run it and to check with the software publisher..any workarounds for that?
     
  5. Cahos Rahne Veloza

    Cahos Rahne Veloza The Fart Awakens

    If your OS is 64-bit based (Win7 or 8 ) then you're out of luck... unless you run SNESTool on DOSBox.

    Otherwise you can remove a SNES ROM's header using Ucon64 here:

    http://forum.romulation.net/index.php?topic=22223.msg326713#msg326713

    As for adding a header onto a headerless ROM you could opt for NSRT:

    http://www.romhacking.net/utilities/400/