1. This forum is in read-only mode.

[Tutorial] - ROM Image Swiss Army Knife: Ucon64 & it's GUI frontend Uf-Fox

Discussion in 'Tutorials' started by Cahos Rahne Veloza, Aug 31, 2009.

  1. Cahos Rahne Veloza

    Cahos Rahne Veloza The Fart Awakens

    Today I'm going to share with you one of the applications I use whenever I apply ROM Hack or Fan Translation Patches onto several ROMs on my retro ROM collection thanks to RomUlation's vast library of retro titles ;)

    It's not, Lunar IPS as I've done a small Tutorial on that already :D

    https://www.romulation.org/forum/index.php?topic=17418.0

    And it ain't SNESTool, either

    https://www.romulation.org/forum/index.php?topic=17597.0

    This time around, I'll be taking about one of the oldest tools ever... Ucon64!

    What is Ucon64?

    Ucon64 is one of the oldest ROM management utilities floating around the net & in the emulation community, however its practically been abandoned by many due to its old school ways of doing things. You see, Ucon64 was & to this day still is a command-line based application, yep! you read that right :p Ucon64 uses command-line prompts to do its job & though using command-line prompts may in the very least be annoying to the un-initiated it still does its job right.

    What use do we have for Ucon64?

    Back in the day, the late 90's to be more precise, ROM Hacking was at its infancy, few people only knew how to hack ROMs. In those days, things like Ucon64, SNESTool & NSRT were practically used to manage ROMs, you see back in those days (& it still rings true to this day) there were things called Cartridge copier/loaders now commonly referred to as flashcarts.

    In those days ROMs were backed up either by Floppy Disk (The SNES Super UFO copier/loader as an example)

    relevant Wikipedia article -> http://en.wikipedia.org/wiki/Game_backup_device#Super_Nes

    And things like Ucon64 served as programs that help manage your ROM Collection on your Computers which obviously don't understand what those ROM files you are feeding it back then were. Actually to this day PCs generally don't know what these ROM Images are that's why you need an emulator so you can play them on your PC :D

    Aside from managing your ROMs, these applications were used to correct errors on your ROMs' checksum values, to make sure they will run correctly both on your emulator or actual console hardware by checking if your ROM was badly dumped, that is it was badly copied from a cartridge or if it is a good dumped copy.

    And of course these things also allowed you to take saved data from an emulator & transfer it onto your copier/loader if you so need it which is a major plus if you ask me.

    Enter Uf-Fox

    Now a few years back somebody "finally" said, "Screw this! using command-line is too much of a hassle!" :p

    And so, that someone did something & what we have is Ucon64's GUI Fronted Uf-Fox!

    Uf-Fox Gui:
    [​IMG]

    Now things are much, MUCH easier to get by!

    However this comes at a small price, the creator of this Frontend only made his application so that commands essential to emulation users are the ones you can actually benefit using :(

    Some of the copier/loader specific commands on the Ucon64 application itself were left out :( A big minus for the very few of us who still have working SNES's & copier/loaders.

    Where do I get this?

    You can download Ucon64 along with Uf-Fox here:
    http://ucon64.sourceforge.net/

    How do I use this?

    First of BEFORE you download these applications, make sure you create a folder where these guys'll be going, don't pack them in with your ROMs!

    Second, make an "output" folder where the fixed ROM will be sent once the application fixes it.

    Now download Ucon64 & Uf-Fox onto your tool folder & not in the output folder, unzip all the files & your done, oh, there might be another zipped archive along with Ucon64 named "ports" or "serialports", delete that you don't need it, it's used if you have a SNES copier/loader that has a serial cable port that can be hooked up onto your PC.

    Once you have all necessary files set up, READ through Uf-Fox's README file to learn how to properly set up Uf-Fox so it can access Ucon64 & run things smoothly :)

    Some examples using Ucon64 & Uf-Fox

    Now for some actual Usage examples :)

    Fixing up a SNES Japanese ROM that had been hard patched with an English Fan Translation patch

    In this example I will show you what happens to a ROM that has been hard patched with a ROM Hack/translation patch.

    The Game is Dragon Quest III Remake for the SNES, it has been hard patched with an English fan translation patch. Using Uf-Fox to "view" the checksum info on our hard patched ROM:

    [​IMG]
    This was the info on our Dragon Quest III ROM BEFORE the translation patch was applied

    [​IMG]
    Oh no! :'( because of the patch our ROM now has BAD checksum information :(

    But no worries ;D , get back on the SNES panel & hit "Fix Checksum" and....

    [​IMG]

    Checking the info on the fixed ROM sent to our output folder....

    [​IMG]
    Whew! everything's fine now :)

    *NOTE, if you noticed on the first screenie, there was a little bit more info from a .DAT info file. That's just some more info given to us by .DAT files available from Ucon64's download page. These .DAT Files just basically contain data like actual file sizes of ROMs & the region the game is from among others. You ARE NOT required to download them though :)

    The reason the info from the .DAT file no longer shows on the "broken" & "fixed" ROM files is, because of the patch the game has become a totally "new" ROM that is not included in the information contained within the .DAT File.

    Fixing a Bad Logo'd GBA ROM caused by hard patching a ROM Hack patch:

    For this example I used Pokemon Shiny Gold, a ROM Hack patch for Pokemon Fire Red.

    Without checking the ROM's checksum & Running it on VisualBoyAdvance that uses the GBA BIOS fix on this thread:

    https://www.romulation.org/forum/index.php?topic=6326.0

    I got this screen upon start up:

    [​IMG]
    Wait... that's not good! the GBA BIOS start up is messed up! :eek: & the game doesn't continue on to the next screen!

    Checking Pokemon Shiny Gold on Uf-Fox yields...

    [​IMG]
    Dang the ROM's "Logo" data has been messed up!

    I need to fix this!

    [​IMG]

    And re-checking to make sure...

    [​IMG]
    Everything seems to be fine now, let's try it out :)

    [​IMG]
    EUREKA! The GBA BIOS start up screen is okay now & the game runs fine!

    **Final thoughts:

    If you play GBA Games on VisualBoyAdvance WITHOUT the GBA BIOS file, you wouldn't know that you were playing a "damaged" ROM in the first place, ergo if you run Pokemon Shiny Gold on actual GBA hardware the game "might" not run correctly or it wouldn't run at all, I'm not sure on this yet as I don't have an actual GBA handheld or DS Handheld to test this "theory" of mine.