Convert a 6 character NES Code to an 8 character NES Code



      This document was written by: 

     Tony Hedstrom  t.hed@excite.com


This document explains how to convert a 6 letter NES
(Nintendo) Game Genie code into an 8 letter code.

Before I start, I should mention that most of the 
time, an 8 letter code is better than a 6 letter 
code, so if you have a 6 letter code that has some
glitches, or has some problems, there is a chance
that changing it to an 8 letter code will get rid of
the problems.  But there is also the chance that
changing it to an 8 letter code will have unwanted
effects on the code.  

Sometimes, a 6 letter code will cause more than one
effect (because it usually modifies more than one
address), but if you convert it to an 8 letter code,
it will only modify one address, so you may lose
some of the effects of the 6 letter code.

All I'm trying to say is that most of the time, 
converting a 6 letter code to an 8 letter will make
the code better, but sometimes, it can make it worse.

On smaller games, changing a 6 letter code to an 8
letter code will sometimes make no difference.

Generally speaking, the larger a game is, the more
difference you will notice between a 6 and 8 letter
code.


OK, lets get started...

There are 3 ways that I know of to do this:

1) Try all 256 different possibilities until you find
   the right one... That would take way too long.

2) Use a 6502 disassembler.  This is probably the 
   most efficient method to use, but it's a little
   bit complicated.

3) Use a hex editor.  This is the method that I will
   use in this example.

This is what you'll need:

1) A Game Genie code converter program (that changes
   GG codes into hex codes).  You can get one from my
   website (in the "Download" section):
   http://www.angelfire.com/games2/codehut/

2) The ROM of the game you want to hack

3) A hex editor.  You can get a free trial version of
   Hex Workshop here: http://www.bpsoft.com/


For this example, I'm going to use a GG code I made
for Megaman 3: NXTKGE  start with infinite energy
tanks. Here's how to convert it into an 8 letter code:

1) Enter the GG code (in this case NXTKGE) into the
   GG conversion program and write down the raw hex
   code that the program gives you (in this case it's
   40EC).

2) Add $10 (hex) to the code you wrote down.  You can
   use the Windows (or Mac) calculator to do this. To
   find the Windows Calculator, click on Start/
   Programs/Accessories/Calculator, then in the calc
   window, click on "View" and click on "Scientific".
   Also, make sure that you click on the Hex button.
   If we add $10 to 40EC, we get 40FC.  Write this
   new number down.

3) Now, open up the ROM (in this case Megaman3.nes)
   with a hex editor.

4) Find the hex address (the one with $10 added to it)
   in the file that you just opened.  In this case,
   we're looking for 40FC.

5) When you find the right address (offset), write 
   down the two digit value that is there (in this 
   case, it's 48).

6) Now, find the address that is $8000 (hex) higher
   than the one you just looked at.  In this case,
   we add $8000 to 40FC and we get C0FC.  Remember,
   you can use the Windows (or Mac) calculator to do
   this hex addition. 

7) Once you find the new address that is $8000 higher
   than the last one (in this case it's C0FC), write
   down the two digit value that is there (in this
   case, it's 05).

8) Keep adding $8000 to the address and writing down
   the two digit value at each new address until you
   reach the end of the file.

9) Now, you should have between 1 to 16 (or more,
   depending on how big the game is) two digit values
   writen down.  One of these, is the value that 
   you're looking for!  Here are the values that I
   found in this example: 48,05,00,21,E0,48,84,90,00,
   00,FF,FC.  Eliminate any duplicate values that you
   may have.  In this case, 48, and 00 are duplicates
   (or triplicates), so I can delete the extras from
   the list.  This leaves us with: 48,05,00,21,E0,84,
   90,FF,FC.  Exit the hex editor, we won't need it
   anymore.

10) Take your list of values and convert each one into
    a Game Genie code using the GG code conversion
    program.  Here's how: Enter your original 6 letter
    GG code (in this case NXTKGE) into the conversion
    program.  (I highly recommend using the GG code
    conversion program that's on my website for this,
    it's called "ggconvc".  The address is at the end
    of this document.)  After you enter in your 6
    letter GG code, you will see that below the code
    you typed in, it gives you the hex code.  In the
    middle of the hex code, there is an empty box with
    a "?" next to it (on the left).  This is where you
    type in the two digit values that you wrote down
    before.  When you type in one of the two digit
    values in this box, it will convert it into an 8
    letter GG code which it shows you in the "GG Code"
    box.  Do this for each one of the two digit values
    that you wrote down and write down each new 8 
    letter GG code that the program gives you.

    Here's our list of two digit values that we wrote
    down before: 48,05,00,21,E0,84,90,FF,FC.

    Here are the codes that we get from this list:

    40EC 48 AF = NXVKGEAK
    40EC 05 AF = NXVKGAIE
    40EC 00 AF = NXVKGAAE
    40EC 21 AF = NXVKGAPX
    40EC E0 AF = NXVKGAEV
    40EC 84 AF = NXVKGAKE
    40EC 90 AF = NXVKGAEO
    40EC FF AF = NXVKGENN
    40EC FC AF = NXVKGEKN

11) Now take your new list of 8 letter GG codes and
    try each one until you find the one that works
    (in this case, it's NXVKGAEO).

Well, that's it.  I hope this helps.

You can email me at: Tony Hedstrom  t.hed@excite.com

Visit my website (The Code Hut) at:
http://www.angelfire.com/games2/codehut/




Download a text version of this file.