Make your own free website on Tripod.com

Helmet Editing from Scratch

Make a copy of the original rom and use this copy for this tutorial.

The Purpose of this tutorial is to show large helmet editing from scratch by changing Buffalo and Indianapolis to the University of Miami and Georgia Tech.

Tools

Tile Editor - Recommended TilEd 2002 and Tile Layer Pro.
Hex Editor - Recommended Translhextion and Hexecute.

I'll be using TilEd 2002 and Translhextion.

Knowledge

Basic usage of your tile and hex editor.
How to read and count in hex. For those that don't know it will be 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 10...FF

Step 1: Editing the Tiles

Load the rom into the tile editor. We need to set the editor to NES mode, the display to 16 tiles wide, and move the tile display one tile left.

Next we need to scroll down to the large helmet tiles at address 376848 (x5C010). You should see this:
Characters (121K)

The NES can only display so many tiles at one time so tiles get seperated into banks. Each bank contains 64 tiles. For the large helmets the game uses 5 banks. Of these banks, the last 2 banks also contain tiles for other things like the helmet facemask. When we edit a helmet logo the entire logo must fit into one and only one bank.

For the purpose of starting from scratch we need to erase all the helmet tiles. The following pictures will have all the helmet tiles changed to the bank number they are in. To complete this tutorial you will only need to blank out the first 2 banks.

Using the next picture, we can read the tiles in each bank as: the highlighted tile in the top left = 00, the tile (1 graphic) on the top right = 0F, the tile (1 graphic) on the bottom left = 30, and the tile (1 graphic) on the bottom right = 3F.

Bank1 (125K) Bank2 (130K) Bank3 (128K) Bank4 (130K) Bank5 (126K)

If we load this saved rom in an emulator we should see this for Buffalo:
BuffaloBank1 (44K)

Next we need to draw the Miami and Georgia Tech logos. We will insert the Miami logo into bank 1 and Georgia Tech into back 2 as the picture shows:
GraphicInsertion (123K)

Finally, make sure all changes have been saved.

Step 2: Insert Logo Design

Load the rom into the hex editor. Move down to x1119D as the following picture shows. x1119D is the starting location for the logo designs.

HexEditor (151K)

We need to erase all the logo designs by making x1119D through x114A1 equal to FF.

Using Translhextion, Selection/Select Block... enter x114A1 as the select up to and including offset and hit OK. Then Selection/Fill Selection With... and enter FF into hex version and hit OK.

We should now see the following:
HexBlank (156K)

Save the rom.

If we load the saved rom into an emulator, you should see this for Buffalo:
BuffaloBlank (43K)

Logos are draw using a grid like the following picture shows. 9D, 9E, 9F, 80, 81, and 82 are the column numbers and 39, 3D, 01, 05, 09, and 0D are the row numbers.

The highlighted tile is column 82 row 39. The tile with my initials is column 9E and row 09.

DesignGrid (10K)

We will enter the Miami logo as what is shown in the following picture.

The pattern is column, row, tile #, row, tile # ... until the next column.

At x1119D, type in 9F 3D 00 01 01 80 01 02 81 3D 03 01 04 FF

An explanation is column 9F row 3D place tile 00, row 01 place tile 01, column 80 row 01 place tile 02, column 81 row 3D place tile 03, row 01 place tile 04 and FF ends the design. It is important to understand how this works.

MiamiDesign (155K)

Next, we need to place the Georgia Tech logo directly after the Miami logo (x111AB) by typing in:

9E 3D 00 01 01 9F 3D 02 01 03 80 3D 04 01 05 05 06 81 3D 07 01 08 FF

GTDesign (153K)

Save the rom.

Step 3: Edit Logo Pointers

Using the following chart we need to find where the team logo information is stored by calculating the pointer location.

Team Offset Pointer 
Buffalo x1008C C0A6 
Indianapolis x1008A B2A6 
Miami x1008E CEA6 
New England x10090 DCA6 
NY Jets x10072 F3A5 
Cincinnati x10074 01A6 
Cleveland x10076 0FA6 
Houston x10078 1DA6 
Pittsburgh x1007A 2BA6 
Denver x1007C 39A6 
Kansas City x1007E 47A6 
LA Raiders x10092 EAA6 
San Diego x10094 F8A6 
Seattle x10084 88A6 
Washington x1009A 22A7 
NY Giants x10088 A4A6 
Philadelphia x10096 06A7 
Phoenix x10098 14A7 
Dallas x10086 96A6 
Chicago x1009C 30A7 
Detroit x1009E 3EA7 
Green Bay x100A0 4CA7 
Minnesota x100A2 5AA7 
Tampa Bay x100A4 68A7 
San Francisco x100AC A0A7 
LA Rams x100A8 84A7 
New Orleans x100AA 92A7 
Atlanta x100A6 76A7
The calculation is Cleveland 0FA6, ("0F" + 10) ("A6" + 60) = 1F 06, then swap and add a x1 for x1061F. NY Jets x10072 F3A5, ("F3" + 10) ("A5" + 60) = 103 05, then swap and carry over the 1 for 0603 and add a x1 for x10603.

We need Buffalo and Indianapolis. Buffalo is at x106D0 and Indianapolis is at x106C2.

Go to x106D0. We will be looking at the highlighted area in the following picture.

BuffaloDirector (149K)

F6 70 FF FF FF FC 03 F8 36 39 91 A2 AB 17

In those numbers 70 is the number of what tile bank to use. 70 = Bank 1, 71 = Bank 2, 72 = Bank 3, 73 = Bank 4, and 74 = Bank 5. The rom bank for our Miami logo is correct so let us move on.

The 36 and 39 are the y and x location for the logo. Leave these numbers alone for the moment.

The 91 A2 is the pointer to the beginning of the logo design.

The calculation for this pointer is 91 A2, ("91" + 90) ("A2" + 10) = 11B2, add a x1 to that a we have x111B2.

We want to change this to point to x1119D so working backwards the pointer would be 91 8D. Type this in over the old pointer.

Next we need to go to x106C2 for Indianapolis.

F6 70 FF FF FF FC 02 F8 36 39 91 8D AB 17

The tile bank for our Georgia Tech logo is incorrect so we need to type in 71 over the 70.

The 36 and 39 are the y and x location for the logo. Leave these numbers alone for the moment.

We want to change this to point to x111AB so working backwards the pointer would be 91 9B. Type this in over the old pointer.

Save the rom.

If we load the saved rom in an emulator we should see this for Buffalo and Indianapolis:
BuffaloLogo (44K) IndyLogo (46K)

Step 4: Move Logo

At Buffalo's x106D0, move over to the y and x locations and enter 3A 38.

At Indianapolis' x106C2, move over to the y and x locations and enter 3A 3B.

Save the rom.

If we load the saved rom in an emulator we should see this for Buffalo and Indianapolis:
BuffaloSpot (44K) IndySpot (46K)

Step 5: Alter Helmet Background

Move down to x23E59. At this location the helmet backgrounds are stored for each team going from Buffalo to Atlanta.

40 = 2 Striped, 41 = 1 Striped, 42 = Rams' Special, and 43 = Bengal's Special.

Miami has a 2 striped helmet and Georgia Tech has a 1 striped helmet so type in 40 for Buffalo and 41 for Indianapolis.

HelmetBG (146K)

Save the rom.

If we load the saved rom in an emulator we should see this for Indianapolis:
IndyBG (46K)

Step 6: Edit Helmet Colors

Go to x23D79. At this location the large helmet colors are stored for each team going from Buffalo to Atlanta. Each team has 8 colors with the first 3 being for the helmet shell, the next 2 for the facemask, and the final 3 for the logo.

MiamiColor (144K)

Buffalo starts as 30 16 12 10 30 30 12 26.

Each hex is equivalent to a color on the following picture.

00 = Dark Gray (Highlighted square), 0F = Black, 30 = White, and 3F = Black. Note: 0D is listed as black but for technical reasons you should never use this color.

Palette (2K)

To change Buffalo's colors to Miami's type in 09 30 26 10 30 26 09 30 for Buffalo

To change Indianapolis' colors to Georgia Tech's type in 38 28 38 1D 00 1D 30 28 for Indianapolis

Save the rom.

If you load the saved rom in an emulator you should see this for Buffalo and Indianapolis:
BuffaloFinal (44K) IndyFinal (46K)

Now the helmets are completed.

Advanced Logo Insertion

For some extra learning, we can at times save tile space by using a special command.

This command alters the logo design to FC, Special Movement, Column, Row, Tile #.

FC then 21 through 2F will move the following tiles up and down and FC then 31 through 3F will move the following tiles left and right without moving any tiles before the command. We can use this command once or twice in a row.

Go to x111AB where the Georgia Tech logo starts. Move through the grid until you reach column 81.

For this example, we will move this column up and to the left so we will be using 2 FCs in a row.

Type in FC 28 FC 3A 81 3D 07 01 08 FF

Save the rom.

If we load the saved rom in an emulator we should see this for Indianapolis:
IndyAdjust (46K)