kingraph

NHL'95 Expanded ROM Project

Recommended Posts

Blake    10

It's always exciting to hear what progress has been made on this game. Best game after NHL 94'.

  • Like 1

Share this post


Link to post
Share on other sites
kingraph    138

This is what happens to my ROM when I added teams 29, 30 and I go to Team 29.

Capture.PNG

 

When you add team data and pointers, so you also add pointers for logo/banner/etc for it to work? 

 

  • Like 1

Share this post


Link to post
Share on other sites
chaos    27

Yeah you have to add pointers for graphics and stuff too.

  • Like 2

Share this post


Link to post
Share on other sites
kingraph    138
12 minutes ago, chaos said:

Yeah you have to add pointers for graphics and stuff too.

I figured as much...as I am going step by step for the first time. 

Slapshot basically dropped the "answer key" to my exam, lol, so I am currently reverse engineering his ROM to learn everything he did.  It's been a great learning experience so far.  I definitely feel like he just shaved about 4-6 months of work for me, so I (and everyone) am very grateful for that! :)

I also see why Slapshot said we may not have to expand the ROM -- there seems to be a ton of extra space (like 300k+ bytes) at the end of the original ROM, which should be enough for uncompressed graphics and additional teams.  That would be great, as I wouldn't have to worry about that first problem of player cards/names that happens on the expansion.

 

  • Like 2

Share this post


Link to post
Share on other sites
chaos    27

In the '94 ROM, there is a pointer table length byte (at least there seems to be). 

The first byte highlighted, 73, is 115 in decimal. 4 bytes per team * 28 teams = 112. There are some filler bytes before Anaheim (ANH is 00 00 53 30).

Before ANH, you have "73 B0 00 00 00 00". Unfortunately, if you include the 4 bytes of 0s, you have a total of 116, or 0x74. I have no idea what the B0 means, but it is a strange coincidence that there is a 0x73 a few bytes from the start of a pointer table that is 0x70 long. 

Pointer Table.png

  • Like 2

Share this post


Link to post
Share on other sites
kingraph    138
1 minute ago, chaos said:

In the '94 ROM, there is a pointer table byte (at least there seems to be). 

The first byte highlighted, 73, is 115 in decimal. 4 bytes per team * 28 teams = 112. There are some filler bytes before Anaheim (ANH is 00 00 53 30).

Before ANH, you have "73 B0 00 00 00 00". Unfortunately, if you include the 4 bytes of 0s, you have a total of 116, or 0x74. I have no idea what the B0 means, but it is a strange coincidence that there is a 0x73 a few bytes from the start of a pointer table that is 0x70 long. 

Pointer Table.png

From what I have gathered so far, there doesn't seem to be a pointer table length in the code.  I could be wrong, but I haven't come across anything like that in wboy or slapshot's updated ROMs.  The tables are just extended, and there aren't any headers before the tables.  Having said that, there may be something later in the ROM that I haven't gotten to yet that is a pointer to the pointer table that includes size.  But I can safely say that it's NOT near the actual pointer tables. 

  • Like 2

Share this post


Link to post
Share on other sites
kingraph    138
54 minutes ago, slapshot67 said:

I added the player cards, still trying to figure out the menu select banners.

 

NHL 95 - 30 Team ROM6.bin

Great!  I have fully gone through the ROM and am up to speed on the changes you made.  In an effort not to duplicate our efforts, I won't touch the menu banners, but I can focus my efforts elsewhere.  Curious though, I see there is a separate banner graphic for the start menu banners, but you are changing it to a static "home" and "visitor" banner (wboy did the same thing in '94 btw...I never actually noticed, lol).  Is that just to make it easier to update on future ROMS, or is there another reason? 

Again, I will hold off on any work on the ROM until we sync up, but here is the info on the 1st splash screen as an FYI:

8AB2C - pointer to 1st splash image (EA Sports)

14C796  - 1st splash data offset

14C7A0 - 1st splash TM offset (10 bytes after)

14E1C0 - Palette

14E240 - Length/Width

14E244 - 14EB04: Tile layout

I did not change/decompress anything yet.

  • Like 1

Share this post


Link to post
Share on other sites
segathon    51

 

It's like trying to ready Chinese with all these Hex updates.  Nevertheless, this progress makes me so happy.  

Keep up the great work guys.  Told a bunch of Segathoners at a FF draft last night what you guys were up to and  you were all cheered like conquering heroes!

  • Like 2

Share this post


Link to post
Share on other sites
slapshot67    24

the menu banners have easier editing and takes up less space, but it may not work, I cant seem to get the visitor working.:angry:

  • Like 1

Share this post


Link to post
Share on other sites
kingraph    138
16 hours ago, slapshot67 said:

the menu banners have easier editing and takes up less space, but it may not work, I cant seem to get the visitor working.:angry:

 

From what I have gathered, the menu banners use the 2nd and 3rd colors from the team logo palette to fill in the banner.  Are you trying to break that linkage and have the menu banners reference a separate palette?  

  • Like 1

Share this post


Link to post
Share on other sites
slapshot67    24

If I'm able to get the home and visitor banners, they would have a separate palette for each team. 

  • Like 1

Share this post


Link to post
Share on other sites
Maitrefun    3

Thanks for this project you make my day !!

  • Like 1

Share this post


Link to post
Share on other sites
kingraph    138
On 8/25/2017 at 5:15 PM, slapshot67 said:

If I'm able to get the home and visitor banners, they would have a separate palette for each team. 

So I've been working on a new 34-team ROM build from scratch and I finally understand what slapshot's issue is on the home/visitor banners. 

In both '94 and '95, there is a separate graphic for the banners on the start menu screen and the in-game banners used in the rest of the game.  What @wboy did with the '94 30-team ROM is he shortened the start menu banners to a generic "Home" and "Visitor" for every team.  He also gave them a separate palette to make updating much easier:

NHL94-~1_000.png

So now when you update any 30-team ROM, you don't have to create another menu banner for each team, just change the palettes because they are all "Home" and "Visitor".  He was able to do this by changing two separate pointers (located at @F84D4 and @F84E4 for '94), that was for the home banner graphic, and one visitor graphic (pointed to the same location in the original ROM). 

Now, in '95, there is only ONE pointer for the menu banner (@86F6C), which is probably a more efficient code, but now requires a bit more work to replicate what wboy did in '94, if at all possible.  At worst, we can expand the menu banners just the same as the in-game banners, which requires more work for updating, but it's not a major deal.

While I'm at it, '95 also has a different graphic for the scoreboard team names that will have get updated:

scoreboard.png

As well as these little ones for the season calendar:

calendar.png

Now, I know I'm getting ahead of myself, especially with the season stuff, but just wanted to post some of my notes/progress.  Still at it!

  • Like 2

Share this post


Link to post
Share on other sites
CoachMac    99

Excellent work and nice discovery.

I had never noticed that difference.

  • Like 1

Share this post


Link to post
Share on other sites
kingraph    138
44 minutes ago, CoachMac said:

Excellent work and nice discovery.

I had never noticed that difference.

Yeah, me either.  Kind of brilliant, which is no surprise coming from wboy.  Dude was off the charts helpful.

  • Like 1

Share this post


Link to post
Share on other sites
slapshot67    24

Did you find the addresses for adding those extra teams to season and playoff mode?

  • Like 1

Share this post


Link to post
Share on other sites
kingraph    138
1 hour ago, slapshot67 said:

Did you find the addresses for adding those extra teams to season and playoff mode?

No, not yet.  I thought I had them at @87A14 and @87A1A, but changing those values from 0019 to 001C and 7419 and 741C did not allow more teams in playoffs or create/release/sign free agents.  It may have done something with the season, but haven't gone that far to check.  

  • Like 1

Share this post


Link to post
Share on other sites
segathon    51

Wanted to point out that in NHL 95 you can play a game AND a game with trades.   Not sure if that means there are double rosters out there or something else is in the mix.

  • Thanks 1

Share this post


Link to post
Share on other sites
smozoma    100
15 minutes ago, segathon said:

Wanted to point out that in NHL 95 you can play a game AND a game with trades.   Not sure if that means there are double rosters out there or something else is in the mix.

I assume it uses either the default rosters (in the ROM) or the modified rosters in the battery save. Probably not something to worry about as long as the saving is done correctly.

  • Like 1

Share this post


Link to post
Share on other sites
kingraph    138

Yep, definitely only one set of rosters in the ROM.  I haven't started to test how the add free agent/release player/trade player/season mode stuff works, but like smozoma said, i assume it's on the battery save and it's either some modified rosters or instructions.  That stuff is on my list towards the end of this project, but will see if we can make it all work!

On the home/visitor banner, I think I have a creative solution for that problem.  Essentially I will just add the static "home / away" banners to the start menu screen, with the color palette being mapped to the logos.  I am pretty sure this can be done as I already found that the 3rd color of the 3rd palette of the start menu palette links to the bottom home banner color.  If I find the top, I think I can make this work.  

 

EDIT: Top is 2nd color of 3rd palette.

  • Like 1

Share this post


Link to post
Share on other sites
kingraph    138
On 9/1/2017 at 1:20 PM, kingraph said:

On the home/visitor banner, I think I have a creative solution for that problem.  Essentially I will just add the static "home / away" banners to the start menu screen, with the color palette being mapped to the logos.  I am pretty sure this can be done as I already found that the 3rd color of the 3rd palette of the start menu palette links to the bottom home banner color.  If I find the top, I think I can make this work.  

 

Worked!  I can explain more, but I think we can move on from the home/visitor banner:

NHL95_34TM_05f_000.png

  • Like 1

Share this post


Link to post
Share on other sites
slapshot67    24

excellent, how did you get them to work?

Share this post


Link to post
Share on other sites
kingraph    138
On 9/3/2017 at 1:54 AM, slapshot67 said:

excellent, how did you get them to work?

I changed the banner to a 2 tile image, which was the left part of the banner.  I then added home and visitor as static images on the start menu, using the 2nd and 3rd colors of palette 3/4 as they link with the team logos.  

So the logos can't use colors 2-5 (those are for banners), 6 & 7 should always be black/white (also for banners, but can use in logos as they don't change), and the logos can use 8-16.  

Hope that makes sense, I'm not at my computer at the moment to make more detailed post.

  • Like 1

Share this post


Link to post
Share on other sites
kingraph    138

Interesting find when I was decompressing the scoreboard team graphics.  The scoreboard banner is a 12 x 2 image, so a fully decompressed image for a 34 team ROM (my current project) would mean having 816 tiles (34x12x2).  It turns out that size image messes up the graphics on the menu screen.  I think the graphics memory maxes out (or something).  I ran tests and the image size works for 32 teams, but not more than that.  

 

screenbreaking.png (you can see the top of the screen getting messed up  -- this was at 33 teams)

So I had a few options.  I could

1 - Fully decompress and run with 32 teams.  PRO - easy to update in future.  Keeps font same.  CON - limited teams to 32.

2 - Compress the graphics (share black tile) and go with 34 teams.  PRO - Keeps font, keeps 34 teams.  CON - Not as easy to update.  

3 - Change the font and uncompressed size to a 10 x 2 image.  PRO - easy to update in future.  Keeps teams at 34.  CON - Smaller banner, different font.

I decided to go with option 3, using the classic in-game banner fonts with the yellow/grey fill and outline.  That allowed me to fit the "Blackhawks" into 10 tiles, saving me 4 tiles for every team (4 x 34 = 136 tiles saved!).  I could always go back and change this, but that's what I decided for now:

Compare Fonts.png

Anyway, to smozoma's earlier comment about adding as many teams as possible, it seems we couldn't do more than 32 without doing some compression on the scoreboard banners.

I'm continuing to plug away and hope to have a test ROM out soon!

  • Like 1

Share this post


Link to post
Share on other sites
segathon    51

That's the right choice, easy updates and MOAR TEAMS!  

  • Like 1

Share this post


Link to post
Share on other sites
smozoma    100

For the team banners, I ran into the same problem on the SNES 93 ROM. I used the tiling and made a bunch of available letters, so you could just look up the letters in a table then update the tile map in the ROM. Some teams needed custom banners because their names were longer.

It's explained here (2nd post): http://forum.nhl94.com/index.php?/topic/11734-nhlpa-hockey-93-64-team-rom/

 

However just shrinking the graphics so 34 fit is much simpler for modders to make ROMs with.

 

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
CoachMac    99

Great work King!  Love following this progress.

Is 95 the next big thing?

Has Segathon finally brainwashed us all.

  • Haha 1

Share this post


Link to post
Share on other sites
kingraph    138
1 hour ago, CoachMac said:

Great work King!  Love following this progress.

Is 95 the next big thing?

Has Segathon finally brainwashed us all.

Haha, don't mistake my work on '95 as anything other than a fun project.  I'll leave it at that! :D

  • Haha 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now