NintendoAge http://nintendoage.com/forum/ -Sqooner Nerdy Nights: hex editing http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=19733 2009-06-02T04:32:27 -05.00 bunnyboy 10 Nerdy Nights: hex editing http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=19733 2009-06-02T01:45:24 -05.00 bunnyboy 10 . ]]> Nerdy Nights: hex editing http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=19733 2009-06-02T01:28:27 -05.00 bunnyboy 10 Nerdy Nights: hex editing http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=19733 2009-05-28T11:07:54 -05.00 bunnyboy 10 Originally posted by: bunnyboy

Other than using the debugger to find the bankswitching location, all you need to know to make it a multicart is covered in previous lessons

So all you'd have to do is put a game's code/sprites in PRG/CHR banks and switch when you want to load a cart? (is this what you did for Pirate Booty?) Those hong-kong multi-carts aren't this simple are they? Like those 100-in-1s?

Btw very cool article, I've been reading a bit about rom hacks, and there are some pretty slick ways to find characters inside of roms. I was looking at Sliver X's doc in particular: http://www.nesplayer.com/database/info/emulation/doc/romdoc.html#TEXT  Using a hex to char table to get full read outs of what the text says for bigger text hacks.
]]>
Nerdy Nights: hex editing http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=19733 2009-05-28T08:57:19 -05.00 bunnyboy 10 ]]> Nerdy Nights: hex editing http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=19733 2009-05-28T06:32:56 -05.00 bunnyboy 10 Originally posted by: marvelus10

Ok cool, so how do we make it a multicart then.

thats a bit more involved than editing a few values... like.. a lot more

]]>
Nerdy Nights: hex editing http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=19733 2009-05-27T22:10:37 -05.00 bunnyboy 10 Nerdy Nights: hex editing http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=19733 2009-05-27T16:53:53 -05.00 bunnyboy 10 Nerdy Nights: hex editing http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=19733 2009-05-27T15:07:20 -05.00 bunnyboy 10
Dude, you win. ]]>
Nerdy Nights: hex editing http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=19733 2009-05-27T15:00:34 -05.00 bunnyboy 10 Exerion 2 ROM we will edit the title screen text to show your own message. The instructions here will work for many games but not all. Some use text/graphics compression or do not have all the letters available for use.


You will need:
  • FCEUXDSP emulator with graphics viewer. Sorry Mac/Linux users, the best development emulators are Windows only.
  • Hex editor application
  • Text editor application
  • 10 minutes


  • Step 1: Backup!
    Make a copy of the ROM. Work with this copy. In case you mess up you can go back to the original.


    Step 2: Finding the graphics
    Load up the game in FCEUXDSP and go to the screen you want to edit. When you are there choose the Debug... menu option and hit the Step Into button in the window that opens. That will tell the emulator to pause so you can keep working without it changing.

    Next choose the PPU Viewer... menu option. On one side will be the sprite graphics, and on the other the background graphics. The text is made of background graphics tiles.



    If you put your mouse over one of the letter graphics the tile number will update. Use those tile numbers to make a chart of which number corresponds to which tile number. For Exerion 2, that chart will start like:

    A = 0A
    B = 0B
    C = 0C
    D = 0D
    E = 0E
    F = 0F
    G = 10
    H = 11
    I = 12
    etc


    Step 3: Finding the text
    Use that chart to write out what text you are looking for. For Exerion 2 we are going to edit the "PLAYERS" text for the 2 players option. The hex characters we will be looking for are:
      TEXT  P  L  A  Y  E  R  S
      HEX   19 15 0A 22 0E 1B 1C
    Now that you know what to look for, open up the ROM in your hex editor application. Do a hex search for the string you just figured out. Hopefully it will appear just once in the ROM. In Exerion 2 the 2 PLAYERS text is around hex address 2F40.




    Step 4: Replacing the text
    Use your chart again to make a new string, the same length as the previous text. This is very important. The size of the ROM must stay exactly the same size so you cannot add extra characters. If your new string is shorter than the old one then you must add space characters to make it the same length.

    For Exerion 2 I want to add a message longer than just the PLAYERS text. Looking before the P in players there is a space, a 2, and lots more spaces. I can safely replace some of those too, as long as I don't add or subtract from the ROM size.
      OLD TEXT      2     P  L  A  Y  E  R  S
      OLD HEX    30 02 30 19 15 0A 22 0E 1B 1C
      NEW TEXT   M  R  M  A  R  K     S  U  X
      NEW HEX    16 1B 16 0A 1B 14 30 1C 1E 21
    Just select the old hex and delete it, then paste in the new hex. Save your ROM and load it up in the emulator to make sure it worked. If the game doesn't load in the emulator then you likely changed the size of the ROM.



    Now that your game is done, test it on real hardware with your PowerPak or make a physical copy with the ReproPak at http://www.retrousb.com
    ]]>