Below are all of the links to a specific How-To or Tutorial for editing the .bin file. Remember, this file is the Genesis version of the game. You can download the Bin file here or on the downloads page. If you are new to editing, make sure you read the main editing page first.
Important Item to Change Before Playing An Edited .bin File
Before you can play an edited .bin file, you must change the value highlighted in screenshot 1 below (BOFC) to screenshot 2 (4E75). This is the offset of 000FFACB, and you only have to do this for the .bin (Genesis) version of the game.
Bin File Offset: 000FFACB
Screenshot 1 (Incorrect value.)
Screenshot 2 (Correct value.)
The .bin file won't play unless you change this code.
Below is a chart I made to help understand what the player's hex code means in Hex Workshop. In this example, I have highlighted Dave Gagner's data from the original NHL94.bin file. To change names, numbers, and ratings, you would simply type over the data.
Note: Each team's roster must keep the same number of characters. If you switch Dave Gagner's name from 11 characters to 9, you must add 2 characters somewhere else on that roster.
To edit a player's jersey number, simply find their name in the .bin file using Hex Workshop, and their number will be right after their name. I have highlighted Nelson Emerson's number (07) in the screenshot below to give you an example. Now you would simply type the new number over it. Sometimes you may see a "00" between the players name and their number. This is just to give a space to certain player's names.
Player Ratings Chart - Use this for reference to edit all ratings.
|Player's Weight||All Other Abilities||Forwards and Defensemen||Goalies||Character Length|
|0 - 140||0 - 14.3||1st Digit - Weight||1st Digit - Weight||0A = 6,7 letters|
|1 - 148||1 - 28.6||2nd Digit - Agility||2nd Digit - Agility||0C = 8,9 letters|
|2 - 156||2 - 42.9||3rd Digit - Speed||3rd Digit - Speed||0E = 10,11 letters|
|3 - 164||3 - 57.2||4th Digit - Offensive Awareness||4th Digit - (leave at zero)||10 = 12,13 letters|
|4 - 172||4 - 71.5||5th Digit - Defensive Awareness||5th Digit - Defensive Awareness||12 = 14,15 letters|
|5 - 180||5 - 85.8||6th Digit - Shot Power||6th Digit - Puck Control||14 = 16,17 letters|
|6 - 188||6 - 100.1||7th Digit - Checking||7th Digit - (leave at zero)||16 = 18,19 letters|
|7 - 196||8th Digit - Handedness
(0,2,4,6,8,A,C,E) - Lefty
(1,3,5,7,9,B,D,F) - Righty
|8th Digit - Handedness
(0,2,4,6,8,A,C,E) - Lefty
(1,3,5,7,9,B,D,F) - Righty
|8 - 204||9th Digit - Stick Handling||9th Digit - (leave at zero)|
|9 - 212||10th Digit - Shot Accuracy||10th Digit - (leave at zero)|
|A - 220||11th Digit - Endurance||11th Digit - Stick Right|
|B - 228||12th Digit - (leave at zero, this could have been for fighting possibly)||12th Digit - Stick Left|
|C - 236||13th Digit - Pass Accuracy||13th Digit - Glove Right|
|D - 244||14th Digit - Agressiveness||14th Digit - Glove Left|
|E - 252|
|F - 260|
You can easily edit team's uniform colors by editing just a few things in the hex code (using Hex Workshop). For example, changing the first set of numbers in the yellow (0006) to something different, like (CCCC), will change the pants color to grey. Use the chart below as a reference to which colors are for what parts of the uniform. The first set of colors is the home colors, and the second set of colors is the away.
The colors for a team begin before that team's roster. So in the example below, we are looking at Calgary's colors, not Buffalo's.
Note: Editing a team's uniform colors will change the colors of their ice logo as well.
Thanks to some members of the community, we are able to edit the period lengths. Below are a few screenshots and tables to help you understand how this is done.
Changing the Purple 0258 will edit the overtime length. Changing the Blue 012C will edit the "5 minute periods" length. Changing the Orange 0258 will edit the "10 minute periods" length. Changing the Green 04B0 will edit the "20 minute periods" length.
Below are some of the period lengths you could try. Just remember to fix the text that goes with the lenghts using the 2nd and 3rd screenshots as reference.
Bin File Offset: 0000782C (lengths)
Bin File Offset: 000F7F3E (names)
Here's how to change the names of the period lengths on the startup screen. Simply change the text of these items and that will be what comes up in the startup screen menu.
This is an example of changing the period length text from "5 Minutes" to "1 Minute".
This is how you can edit the number of goalies and/or forwards a team has. This is also where you adjust the team's lines to you liking.
Goalies (Go to the 11th set of 4 digits after the "j" that starts the away jersey data.)
You can have a maximum of 4 goalies per team in the game. To add or subtract a goalie, you have to edit the 11th set of 4 digits after the "j" (highlighted in the screenshot above). Changing a zero to anything besides zero will add a goalie and changing a character to a zero will subtract one. The Islanders and Rangers both have 1 goalie so this set of digits is 9000 for them. Changing them to 9900 gives them 2 goalies and 9990 gives them 3 and 9999 gives them 4. These numbers don’t necessarily have to be a 9. Allstars East (above) has a CBC0 for their goalies. C is a goalie, B is a goalie, and C is a goalie. Changing the data from CBC0 to 9990 won't change anything in the game.
Note: Adding a goalie to a team with 1 goalie will make the 2nd player listed in the hex code a goalie, but he will also appear as a forward until you edit the default lines.
Look in the hex editor and write down each player in the order in which they appear in the code, then write down their order. When you get to the 10th player, list him as 0A, 11th as 0B, etc. 15th is 0F but for player 16 list him as 10, player 17 is listed as 11, etc. After you have done this, look after the 4 digit goalie code. You’ll see an 01. Starting after the 01 the teams “best line” is listed. This is the default lineup when line changes are off. Starting after the 01, those players are listed. It goes in the normal order, LD, RD, LW, C, RW. Just enter in the player orders you took down of each player you want to appear in each position on your “best line”. Starting after the next “01” is scoring line 1, then the next “01” is scoring line 2 and it goes in order all the way up to Penalty Kill 2.
I have highlighted Allstars East's lines in the example below.
Note: If you have added a goalie, then this will make your first forward appear in order “03" in the hex code when he was previously referred to “02”. The lines still point to player “02” so this explains why your new backup goalie will appear on some lines as a forward.
Below is a screenshot of the rink data showing how to switch the ice color from blue to white. This is something that once you do, you may never want to play with the blue ice again.
Bin File Offset: 00059924
Here's how you can change the length of each penalty in the game. A useful edit of this information could be making the second Roughing penalty a 4 minute double minor. Basically you would just change any of the "02"s below to whatever you like. "02" equals 2 minutes in the penalty box for whoever is called the penalty. You would simply make it "01", "04", "05", "10", or whatever you like. It seems that you can only have penalties in one minute intervals.
You can also edit the name of the penalty as you would change a player's name. Maybe changing one of the "Roughing's to a "Boarding" call. Another possibility could be making a misconduct penalty worth 10 minutes.
Bin File Offset: 00018ED5
I've tried making the fighting "28"s into "04"s like most of the other penalty values to see if a player could be called for "fighting", but I haven't seen it happen yet.
Each team has 2 banners color sets, home and away. You have to change the colors for each set for the edit to work properly.
Bin File Offset: 000F8BF8
First set is the right side on the startup screen, second set is for the left side of the startup screen. The first set of 4 digits is the top half color of the banner and the second set is for the bottom half color. For example, Anaheim's first set of values is 0000 which equals black. Their 2nd set of values is 0042, which is green.
|Anaheim - 0000 0042
Boston - 0000 008C
Buffalo - 0822 008C
Calgary - 0006 008C
Chicago - 0000 0006
Dallas - 0000 0042
Detroit - 0006 0006
Edmonton - 0600 004A
Florida - 004A 0600
Hartford - 0042 0822
Los Angeles - 0000 0000
Montreal - 0600 0006
New Jersey - 0020 0006
New York(I) - 0822 004A
|New York(R) - 0600 0006
Ottawa - 0006 006A
Philadelphia - 0000 004A
Pittsburgh - 0000 008C
Quebec - 0600 0006
San Jose - 0000 0860
St. Louis - 0822 006A
Tampa Bay - 0000 0600
Toronto - 0600 0600
Vancouver - 0000 008C
Washington - 0006 0600
Winnipeg - 0600 0006
Allstar East - 0000 004A
Allstar West - 0000 004A
You would simply find these values, and replace them with your custom value.
Once you've edited these colors to your liking, you can edit the tiles to say a different team name. Below is a chart of the default tile configuration for each team in the Bin. Using Tile Layer Pro, you can edit these tiles to what you like, and then specify the tile order in Hex Workshop.
Each banner has a total of 22 tiles, though almost every team shares tiles with other teams. New Jersey is a rare case where it has all 22 of it's own tiles. Each tile is given an ID. 2000, 2001, 2002, 2003, etc. 2800 means tile 2000 but mirrored.
|1 of 4||Anaheim||Boston||Buffalo||Calgary||Chicago||Dallas||Detroit||Edmonton|
|2 of 4||Florida||Hartford||Los Angeles||Montreal||New Jersey||NY Islanders||NY Rangers||Ottawa|
|3 of 4||Pittsburgh||Philadelphia||Quebec||San Jose||St. Louis||Tampa Bay|
|4 of 4||Toronto||Vancouver||Washington||Winnipeg||Allstars E||Allstars W|
The values above are the assigned tiles by default for each team in the .bin file. Below is the Tile Layer Pro representation of the above which starts at offset 000AFE1C. I put "2000" and "2001" on the image so you can see where the tiles begin. Those are Anaheim's first 2 startup banner tiles. Most teams share tiles with other teams to save space in the bin.
I will eventually have an example of how I modified the Startup Banners.
This is how you can change the team overall ratings. This doesn't seem to affect the team's gameplay, but you may want to make these numbers more accurate for your teams.
Bin File Offset: 000FE18E
|33 - Anaheim - Rating in game: 51||4A - NY Rangers - Rating in game: 74|
|4C - Boston - Rating in game: 76||37 - Ottawa - Rating in game: 55|
|49 - Buffalo - Rating in game: 73||45 - Philadelphia - Rating in game: 69|
|4B - Calgary - Rating in game: 75||4B - Pittsburgh - Rating in game: 75|
|4E - Chicago - Rating in game: 78||47 - Quebec - Rating in game: 71|
|43 - Dallas - Rating in game: 67||38 - San Jose - Rating in game: 56|
|4B - Detroit - Rating in game: 75||45 - St. Louis - Rating in game: 69|
|43 - Edmonton - Rating in game: 67||38 - Tampa Bay - Rating in game: 56|
|34 - Florida - Rating in game: 54||48 - Toronto - Rating in game: 72|
|42 - Hartford - Rating in game: 66||47 - Vancouver - Rating in game: 71|
|4A - Los Angeles - Rating in game: 74||48 - Winnipeg - Rating in game: 72|
|49 - Montreal - Rating in game: 73||46 - Washington - Rating in game: 70|
|44 - New Jersey - Rating in game: 68||5B - Allstars East - Rating in game: 91|
|42 - NY Islanders - Rating in game: 66||59 - Allstars West - Rating in game: 89|
In the NHL94 .bin file, there are 2 areas where the New York Islanders and the New York Rangers are listed. For some reason, they don't use the typical area around the rosters for the startup screen name like the rest of the teams. The screenshot below shows where in the hex their names in the startup screen come from.
Thanks to Wboy's research, here's how to make the .bin file use the same set of names for the Islanders and Rangers as the rest of the teams.
Bin File Offset: 000F7CB4
To change the Islanders to use the roster team name, simply replace the first set of digits below (000F 7CC6) to 0000 2D2E. This tells the .bin file to refer to this offset (like the rest of the teams). To do the same for the Rangers, simply replace the second set of digits below (000F 7CB2) to 0000 3022. Again, this tells the .bin file to use the roster team name as the startup screen name.
It's probably a good idea to apply this edit to any .bin file that you'll be editing so if you ever change the team names, you won't have to worry about the Islanders and Rangers team names not changing.
Thanks to Wboy's research, we know how to edit the defaults on the startup screen menu. Below are the values for each menu item, and what each one changes.
Bin File Offset: 00017C8E
Of course, these values will change according to hacks. If you're 3 period lengths are 30 seconds, 5 minutes, and 7 minutes, then the 0001 would equal 5 minute periods.
I figure the best way to explain this is to actually edit a team's logo with this tutorial. Before continuing, please make sure you have the programs Tile Layer Pro, the Gens emulator, and the Bin file open and ready to use in Tile Layer Pro. Having Hex Workshop is a plus too!
Lets start by opening up the nhl94.bin file found through this website or one you have. You can switch the format to Genesis under View->Format->Genesis. You can also zoom in on the Bin file by clicking the zoom button at the top if you like.
Scroll down the file using the page down key to get to the offset around 000EDA88 (92%). The offset can be read from the status bar at the bottom of the program. You should also see the format, and the size of the file there as well.
You can leave the Palette Editor on the colors it's currently showing. The logos will seem to have wrong colors, but this really doesn't matter once you start the game up in the emulator. The logo colors will be fine in the game.
At this point, you should be seeing the ice logos, but they probably look all broken up. By using the plus and minus keys on the keyboard, you can shift the rows of tiles until a logo lines up correctly in their respective rows (I chose Calgary's logo to lineup).
Ice logos are 6 tiles across and 4 tiles down, giving each ice logo a total of 24 tiles. Each tile is 8x8 pixels. This means that each ice logo is 48x32 total pixels.
Let's focus on Calgary's logo. That is the 3rd logo down from the beginning of them. Line it up so it looks something like this by using the arrow keys, and the plus and minus keys:
Once you have it to this point, here's how you edit Calgary's logo. Left-click the first Calgary tile and then right-click it on the Tile Arranger as shown below:
Continue to do this process, putting the tiles in the Tile Arranger as you would to view the logo correctly and eventually you should end up with the following image:
Now you know what the Calgary logo looks like together in Tile Layer Pro. That is the entire ice logo for Calgary, being a total of 48x32 pixels.
From this point, you can create what I call a "palette test". Left-click the first Calgary tile in the Tile Arranger and then Left-click the first color in the Palette Editor (it is usually black). Now "draw" the black into every pixel of the first tile by Left-clicking within the first tile in the Tile Editor. Now Left-click the 2nd tile in the Tile Arranger, left-click the 2nd color in the Palette Editor, and "draw" the green into the 2nd tile in the Tile Editor. Continue this process until you have something like the screenshot below:
Now save the Bin file as something new, so you can see what this test looks like in the game. Start up the Gens emulator and load up the file you just saved. Select Calgary as the home team. The reason for doing this is to learn which colors become which in the actual game. You will see that the first black = transparent/ice color, the 2nd black = light grey, etc.
Write down or type somewhere what each color represents in the Palette Editor. This is an example of what I usually write down: (Remember, the left column is the colors from Tile Layer Pro, and the right column is the actual colors in the game.)
(RGB color in Tile Layer Pro)
|Ice Color (for Calgary in this example taken straight from the palette test above)|
|Black 1 (0,0,0)||Transparent/equal to ice color (0EE8) - same for every team|
|Green 1 (99,207,99)||Dark Grey (0222)|
|Blue 1 (57,51,255)||Black (0000)|
|Off White (220,255,255)||Maroon (0006)|
|Blue 2 (51,0,134)||Dark Red (0008)|
|Tan (191,115,0)||Red (000A)|
|Blue 3 (0,207,255)||Pink (088C) - same for every team|
|Cream (239,235,180)||Darker Pink (066A) - same for every team|
|Maroon (147,0,0)||Darker Orange (008C)|
|Green 2 (81,255,0)||Orange (00AE)|
|Orange (255,172,0)||Red (000A)|
|Purple 1 (188,17,164)||Grey (0CCC)|
|Black 2 (0,0,0)||Light Grey (0EEE)|
|Blue 4 (89,140,242)||Darker Grey (0AAA)|
|Purple 2 (182,0,159)||Darker Orange (048C) - same for every team|
|Green 3 (131,220,0)||Turquoise (0A84) - same for every team|
These colors come from the team uniform colors. You will notice patterns with each team's colors, like every team will have a black, a white, pinks, etc. Every team will have pinks for the skin color, every team will have black for the gloves and skates color, etc. If you change a team's uniform colors, the ice logo will use those colors depending on which ones you changed.
You can find these hex values for each color if you goto the team's uniform colors area in the hex editor. Compare this chart with the editing section on uniform colors (I used Calgary for both), and it should help you understand how it works. You could do a palette test for each team, take a screenshot of it, and keep it for reference if that helps.
Now, lets open up the original Bin file and change Calgary's ice logo from having a red "C" to having a black "C". We can look at our chart above to see that "blue 1" will give us black. All we have to do is open the Bin in Tile Layer Pro, and replace the "tan" with the "blue 1" Palette Editor color as shown below:
Now let's save this file as something new, like cal-black.bin, and open the Bin up in Gens. Choose Calgary as the home team, and this is what the ice logo should now look like:
So now you should be able to edit ice logos using Tile Layer Pro by drawing on tiles.
There is also an import BMP function in the program. I have used this, but didn't get the results I was looking for. Basically, what you would do is create an image in a program like Photoshop, Paint, etc., and make the image size 48x32. Then, break up your image into 4 rows, each being 48x8 pixels in size. This equals 1 row of tiles in Tile Layer Pro. Then you import each row image into Tile Layer Pro (one at a time), and move it to the corresponding spot in the Bin by dragging it with the mouse. When you're happy with it's location, you click off the image and it will inherit that location.
I have not seen how other hackers make the puck, but I just quickly made one that looks pretty good using Tile Layer Pro. Below are the screenshots that should help you find the puck (offsett is around 0007B000, 48% in the .bin file). The first screenshot is the default puck graphics, and the second screenshot is the graphics I changed. You will need to change all of the 8 puck tiles for the transitions of the puck moving around in the game to look good. You can play around with the shadow tile as well.
Play around with the graphics until you're happy with how the puck looks on the ice. If anyone has nice screenshots of their pucks in Tile Layer Pro, let me know so I can add that to this website. Thanks!
Below is a screenshot showing where the player stars are in Tile Layer Pro. The first 4 tiles are player 1's star, the next 4 tiles are player 2's star, and the next 4 tiles are the highlight state for when someone has the puck. I have put these in the arranger below to show that this graphic is half of the star, and then mirrored to complete the star in the game. You don't have to worry about the mirroring part, that happens automatically.
Bin File Offset: 0007C144
Once you put those tiles in the arranger as shown above, you can easily edit them to be anything else. Below is a screenshot of what I changed the stars to (in this case, to circles). At the bottom of this page are screenshots of the circle in the game.
Screenshots of the circle instead of player's star.
It is possible to edit the Bin file, and play it on the actual Genesis console. What this requires is that you puchase a piece of hardware and cables that connect to your computer from Tototek. This hardware comes with a formatted Genesis cartridge that you connect onto the hardware. This hardware is known as the MD-Pro 32 or MD-Pro 64. You can purchase a 32 meg card or a 64 meg card.
Once you receive the MD-Pro card, you will probably have to mess around with it until you get it working. For one, it requires that you set your bios parallel port to EPP. It also requires that you attach a parallel and usb cable to your computer at the same time. These should also be purchased from Tototek to ensure compatibility.
They provide free software for the MD-Pro cards off of their website called Dreamwriter. The latest version of the software may NOT be the best for your computer. If the latest version doesn't work, try older versions. Personally, I am using an MD-Pro 32 card with Dreamwriter version 1.6 on an old laptop.
This is a screenshot of Dreamwriter v.2.1:
The hardware and software are pretty simple to learn and use. For more infomation, visit their website and their forums.