Sign in to follow this  
top shelf

SNES 93 - Expanding ROM to more teams

Recommended Posts

i sort of found the banners. I found a table that says which tiles from a graphic of the banners to use. At this point, a 30+ team rom could be made that simply reuses an existing banner (looks bad, but will run with no problems!)

It's at @3CABA (headerless) in the ROM.

A banner is 9x2 tiles.

The first 9 tiles for Boston (the first team) are specified with the values

0004 0104 0204 0304 0404 0504 0604 0104 0704

Notice that the 8th tile (0104) is a repeat of the 2nd tile. This is because the 2nd tile in the giant banner graphic is a black upper blank part of a banner, so it can be reused again by any teams that need a tile like that.

Since it's SNES, the bytes are reversed, so actually the first tile has the ID 0400. Next is 0401, and so on.

For the fully hacked ROM, i'll get rid of the tile reuse stuff and just use the expanded data to avoid the need for reusing tiles.

Edited by smozoma

Share this post


Link to post
Share on other sites
What is in the team header - which palette to use, value to identify the team what else?

Also there are 5 digits in the team data which I don't know what they are? This is after the palettte info.

away palette then ? ? ? PP adv then ? ? No of fowards then No of defensemen

Not sure if this is going to cause a problem when adding more teams??

--------

More information

@3711 uniform palettes

Can you tell me what byte(s) in the team header data represent the palette(s) to use? Also, do you know where the palettes are? Maybe the palette is right in there, but if that's the case, any idea why it doesn't use the usual encoding that is viewable in 'SNES Palette Editor'? EDIT: figured it out.. that data is the palette, like you said (i thought you meant it referenced a palette elsewhere, my bad), but for some reason they use an RGB palette rather than the usual SNES palette format. The game converts it to SNES palette in the code. Weird. I think they must have copied it straight from the Genesis version without converting it (same for the goalie bytes, which aren't little-endian)

I'll make a map with what we know, below. Where I'm missing stuff that you know, can you tell me, and I'll update it? (or copy it an update it). (EDIT: we know everything!)

Thanks!

TEAM DATA HEADER

offsets are listed in hex

------+-------------
OFFSET:  DESCRIPTION
------+-------------
00-01 :  length of header / offset to first player ($8e = 142 bytes)
02-03 :  offset to palettes ($0C)
04-05 :  offset to team name (varies)
06-07 :  offset to lines ($56)
08-09 :  offset to team ratings ($4C)
0A-0B :  offset to goalie bytes  ($54)
0C-2B :  home palette (but in 0BGR format, not SNES format)
2C-4B :  away palette (but in 0BGR format, not SNES format)
4C-4E :  offense/defense/home/away/pp/pk
4F	:  number of forwards / number of defense
50	:  shooting/passing team rating
51	:  passing/defense team rating
52	:  checking/fighting team rating
53	:  goaltending/overall team rating
54-55 :  goalie bytes
56-5D :  SC1 scoring line 1
5E-65 :  SC2 line
66-6d :  CHK line
6e-75 :  PP1 line
76-7D :  PP2 line
7E-85 :  PK1 line
86-8D :  PK2 line

Edited by smozoma
  • Like 1

Share this post


Link to post
Share on other sites

At this point I think I can make a 30-team ROM, which I'll do. I'll make it 34 teams, to future-proof it (32 teams + ASE, ASW).

Thanks for finding all those databank values to change, that'll save me loads of time!

The one problem the first version of the ROM will have will be that I'll have to reuse banners from other teams since I haven't figured out the banner compression yet. So i'll make a version 0.9 of the ROM and then once I figure out the banners competely, v1.0!

Share this post


Link to post
Share on other sites
At this point I think I can make a 30-team ROM, which I'll do. I'll make it 34 teams, to future-proof it (32 teams + ASE, ASW).

Thanks for finding all those databank values to change, that'll save me loads of time!

The one problem the first version of the ROM will have will be that I'll have to reuse banners from other teams since I haven't figured out the banner compression yet. So i'll make a version 0.9 of the ROM and then once I figure out the banners competely, v1.0!

Wow that's great news. :D

Just some info that may that may save you some time. I had very little time to do this otherwise I would have done lots lots more.

I've blanked out the data except for the follwing which are still causing problems:

00-01 : length of header / offset to first player ($8e = 142 bytes)

04-05 : offset to team name (varies)

06-07 : offset to lines ($56)

56-5D : SC1 scoring line 1

5E-65 : SC2 line

66-6d : CHK line

6e-75 : PP1 line

76-7D : PP2 line

7E-85 : PK1 line

86-8D : PK2 line

Note: I have checked that some of the other info is getting the new data from bank $90 but not all. But the game is running with all the rest blanked out. Some of these also seem to have links to the Ron Barr text such as 04-05 and 06-07 as does 08-09 which is why everything needs checking. 06-07 certainly crahes at Welcome to: on this screen when blanked. Haven't had time see how this is working. Off topic: Maybe this eventually needs expanding a bit as well for bigger descriptions?

4F : number of forwards / number of defense also doesn't look like its used I guess it was just in there ready.

Have you found the palettes for the rink? I had a look before and couldn't find.

If you need any help please let me know. If you want me to carry on what I doing I can (I might anyway) but progress may be slow.

Share this post


Link to post
Share on other sites
Wow that's great news. :D

Just some info that may that may save you some time. I had very little time to do this otherwise I would have done lots lots more.

I've blanked out the data except for the follwing which are still causing problems:

00-01 : length of header / offset to first player ($8e = 142 bytes)

04-05 : offset to team name (varies)

06-07 : offset to lines ($56)

56-5D : SC1 scoring line 1

5E-65 : SC2 line

66-6d : CHK line

6e-75 : PP1 line

76-7D : PP2 line

7E-85 : PK1 line

86-8D : PK2 line

Note: I have checked that some of the other info is getting the new data from bank $90 but not all. But the game is running with all the rest blanked out. Some of these also seem to have links to the Ron Barr text such as 04-05 and 06-07 as does 08-09 which is why everything needs checking. 06-07 certainly crahes at Welcome to: on this screen when blanked. Haven't had time see how this is working. Off topic: Maybe this eventually needs expanding a bit as well for bigger descriptions?

4F : number of forwards / number of defense also doesn't look like its used I guess it was just in there ready.

Have you found the palettes for the rink? I had a look before and couldn't find.

If you need any help please let me know. If you want me to carry on what I doing I can (I might anyway) but progress may be slow.

I didn't think about the team blurbs... Those'll have to be moved to a new bank, too, good catch.

I think I've found the fixes for most of the header bytes so far. I need to work on the lines a bit, I think pulling the goalie for an extra attacker is all i have left to do there.

I also couldn't find any accesses on the number-of-f/d byte. The home/away byte may not have been accessed, either. However, I discovered that there is a bug in the debugger such that if the game reads two bytes at once, and your trace is on the 2nd byte, the debugger doesnt' throw a breakpoint. But, in those cases, fixing the first byte will fix the 2nd byte, so nothing to worry about.

Can you send me your ROM on AIM some time, so I can do a file-compare on it to see what fixes you've made, in case I missed some?

I haven't checked the rink palettes. I didn't notice any difference between the different arenas, so I think there is just one palette? If that's the case, it wouldn't need to be moved.

I think I can make a ~54 team ROM. The limiting factor is that a bank is 0x8000 bytes and each banner, uncompressed, will be 0x240 bytes. That gives an upper limit of 56 teams. If the tile maps need to be in the same bank, that will also consume some space and reduce the number by 1 or 2. Also, the bank size limitation will affect how many players can be added to each team (with 56 teams, you could make teams with about 18 players each, at 12 characters average per name (NHL average is around 12.75 chars per name))

(I haven't figured out the banners yet, btw. Luckily, it's possible to construct textless banners using the tile mapping array, so for the time being, that'll be my solution for the banners until I figure out graphics hacking: the extra teams will simply have textless banners that match their team colours where possible)

Share this post


Link to post
Share on other sites

does this gave have penalty shots?

Share this post


Link to post
Share on other sites
does this gave have penalty shots?

No it doesn't.

Share this post


Link to post
Share on other sites
I haven't checked the rink palettes. I didn't notice any difference between the different arenas, so I think there is just one palette? If that's the case, it wouldn't need to be moved.

I think I can make a ~54 team ROM. The limiting factor is that a bank is 0x8000 bytes and each banner, uncompressed, will be 0x240 bytes. That gives an upper limit of 56 teams. If the tile maps need to be in the same bank, that will also consume some space and reduce the number by 1 or 2. Also, the bank size limitation will affect how many players can be added to each team (with 56 teams, you could make teams with about 18 players each, at 12 characters average per name (NHL average is around 12.75 chars per name))

(I haven't figured out the banners yet, btw. Luckily, it's possible to construct textless banners using the tile mapping array, so for the time being, that'll be my solution for the banners until I figure out graphics hacking: the extra teams will simply have textless banners that match their team colours where possible)

Personally I would go for much less teams, more players (at least 23 per team as a minimum).

When you figure out the banners what to do think about the rink? Are you planning to make it editable? If they are the same I can just copy my rink hacks from Genesis over which would be cool.

Share this post


Link to post
Share on other sites
Personally I would go for much less teams, more players (at least 23 per team as a minimum).

When you figure out the banners what to do think about the rink? Are you planning to make it editable? If they are the same I can just copy my rink hacks from Genesis over which would be cool.

That would be an average team size, I mean. If you make some teams smaller, you can make others bigger.

The default expanded ROM that I'll make will have the default rosters for the original 24+2 teams (usually over 20 players), and then some small rosters for the other teams.

I just finished moving the team data to the expanded bank. Working on the playoff data now.

I'm not going to touch rink, sorry, unless learning the banner stuff makes the rink super easy.

Share this post


Link to post
Share on other sites
That would be an average team size, I mean. If you make some teams smaller, you can make others bigger.

The default expanded ROM that I'll make will have the default rosters for the original 24+2 teams (usually over 20 players), and then some small rosters for the other teams.

I just finished moving the team data to the expanded bank. Working on the playoff data now.

I'm not going to touch rink, sorry, unless learning the banner stuff makes the rink super easy.

What are we thinking regarding an editor for 93?

Share this post


Link to post
Share on other sites
What are we thinking regarding an editor for 93?

I'm not going to make a program for it. I might be able to whip up an excel sheet that can generate the player data hex to be copied into the ROM..

Share this post


Link to post
Share on other sites
I'm not going to make a program for it. I might be able to whip up an excel sheet that can generate the player data hex to be copied into the ROM..

I think the wires got crossed here, I think top shelf wants an editor and I'd like an expanded version of '94. Not saying an expanded version of '93 isn't worth the work, though.

Still, apologies if this is the case.

Share this post


Link to post
Share on other sites
I think the wires got crossed here, I think top shelf wants an editor and I'd like an expanded version of '94. Not saying an expanded version of '93 isn't worth the work, though.

Still, apologies if this is the case.

I was just going to make expanded versions of both games. 93 is simpler, so a good starting point for me to learn what's necessary.

The excel thing might actually work surprisingly well as an editor, though...

Share this post


Link to post
Share on other sites
I think the wires got crossed here, I think top shelf wants an editor and I'd like an expanded version of '94. Not saying an expanded version of '93 isn't worth the work, though.

Still, apologies if this is the case.

yes I just meant yourself and Smoz may need to get together and work things out. Are you still up for adapting your SNES 94 editor for 93 statto? I guess you will need to redo your 94 one as well.

Share this post


Link to post
Share on other sites
I was just going to make expanded versions of both games. 93 is simpler, so a good starting point for me to learn what's necessary.

The excel thing might actually work surprisingly well as an editor, though...

How are you getting on Smoz with blanking out the data - all done? I'm nearly there I think, I hope. Although the last few I'm struggling to find. I may need to ask you if you've found these just to save some time. Once I've blanked them out I can send you what I've done to see if anything differs.

Share this post


Link to post
Share on other sites

The reason my editor works as well as it does is that it doesn't deal with pointers, except, in the most recent edition, for banners. Everything is hard-coded in, which is in favour of stability over flexibility, so I don't think the editor will be easily adaptable for a greater than 28 team rom.

Share this post


Link to post
Share on other sites
How are you getting on Smoz with blanking out the data - all done? I'm nearly there I think, I hope. Although the last few I'm struggling to find. I may need to ask you if you've found these just to save some time. Once I've blanked them out I can send you what I've done to see if anything differs.

I should have mentioned -- I've moved and blanked out all the team data and playoff matchups. Also, the banner tile maps (but not the banner graphics).

I added 2 new teams, and my excel "hex generator" works reasonably well.

There may still be a few pointers I've missed, but I haven't had any crashes recently.

I just need to fill in teams 29-52 with some basic data and then release this thing to the wild...

Which fixes are you have trouble with? I'll post my fix list in a bit..

Edited by smozoma

Share this post


Link to post
Share on other sites

Here's a first release of the expanded ROM. I'll call it v0.9.

I also made an "editor" (if it can be called that) in excel 2007. Hopefully it works in other versions of excel or in the OpenOffice.org spreadsheet...

A bit of info about the editor (and I won't blame you have questions! it's confusing!):

First, hopefully your monitor is at least 1680 pixels wide. The "Team Data" page is quite wide.

There are 6 worksheets (ignore the last one, it's just a bit of info about palettes, but not much can be done with it):

Team Data, Team Pointers, Banners, Number of Teams, Playoff Matchups, (Some palette info).

You edit the info in the yellow cells. the blue cells are generated from the yellow cells, and contain the hex to paste into the ROM. when you're happy with what you've got, make a selection of all the blue cells on a worksheet (if there are yellow editable cells inside the blue cell area, copy those, too -- the selection should be one big rectangle), and then paste into the ROM at the address specified at the top of the blue section.

I'm using the HxD hex editor and things paste perfectly using the Ctrl+B shortcut (overwrite paste), as long as your cursor is in the left/hex area, not the right/text area.

When editing, go in order from the first sheet (Team Data) to the last sheet. If you paste the team pointers in the rom and then go change the length of a player's name, then you invalidate the pointers and the game crashes... team pointers must be pasted in AFTER team data.

If you need any help, just ask.

EDIT: get the most recent ROM from it's own thread: http://forum.nhl94.com/index.php?showtopic=11734

Edited by smozoma

Share this post


Link to post
Share on other sites
Here's a first release of the expanded ROM. I'll call it v0.9.

I also made an "editor" (if it can be called that) in excel 2007. Hopefully it works in other versions of excel or in the OpenOffice.org spreadsheet...

A bit of info about the editor (and I won't blame you have questions! it's confusing!):

First, hopefully your monitor is at least 1680 pixels wide. The "Team Data" page is quite wide.

There are 6 worksheets (ignore the last one, it's just a bit of info about palettes, but not much can be done with it):

Team Data, Team Pointers, Banners, Number of Teams, Playoff Matchups, (Some palette info).

You edit the info in the yellow cells. the blue cells are generated from the yellow cells, and contain the hex to paste into the ROM. when you're happy with what you've got, make a selection of all the blue cells on a worksheet (if there are yellow editable cells inside the blue cell area, copy those, too -- the selection should be one big rectangle), and then paste into the ROM at the address specified at the top of the blue section.

I'm using the HxD hex editor and things paste perfectly using the Ctrl+B shortcut (overwrite paste), as long as your cursor is in the left/hex area, not the right/text area.

When editing, go in order from the first sheet (Team Data) to the last sheet. If you paste the team pointers in the rom and then go change the length of a player's name, then you invalidate the pointers and the game crashes... team pointers must be pasted in AFTER team data.

If you need any help, just ask.

CityNames 51 and 52 are not playoff-selectable.

The Long Island and Los Angeles banners are switched.

When playing CityName35 v. CityName36, Ron Barr shits himself and the game freezes. Ron usually shits himself when you're playing with a new team, but you can still move forward like nothing happened.

Otherwise, great work.

Share this post


Link to post
Share on other sites
CityNames 51 and 52 are not playoff-selectable.

The Long Island and Los Angeles banners are switched.

When playing CityName35 v. CityName36, Ron Barr shits himself and the game freezes. Ron usually shits himself when you're playing with a new team, but you can still move forward like nothing happened.

Otherwise, great work.

Good finds

51 and 52 are purposely left out of the playoffs.

The banners are easy to switch (I should have realized those ones were wrong when I found that WSH/WPG were wrong), so I'll fix that for v0.91...

I'll check out the Ron Barr poopage later and hopefully also get that fixed for 0.91!

Share this post


Link to post
Share on other sites

i forgot about the team blurbs, that's why ron barr freezes if you pick a team beyond the 26th team. the LI/LA and WPG/WSH blurbs are probably mixed up, too...

Share this post


Link to post
Share on other sites
i forgot about the team blurbs, that's why ron barr freezes if you pick a team beyond the 26th team. the LI/LA and WPG/WSH blurbs are probably mixed up, too...

It doesn't necessarily freeze. It just can freeze.

Out of curiosity, are the 51st and 52nd teams not in the playoffs because of space limitations?

And what the heck are we supposed to do with all these teams? :angry::lol:B):D

Share this post


Link to post
Share on other sites
It doesn't necessarily freeze. It just can freeze.

Out of curiosity, are the 51st and 52nd teams not in the playoffs because of space limitations?

And what the heck are we supposed to do with all these teams? :angry::lol:B):D

Hm, I'm surprised it would work on teams after the 26th.. if you let it get past the 'welcome to.. I'm Ron Barr' to the part where it talks about the team, it wouldn't know what to write so should freeze or at least stop writing.

You can enable/disable the last teams for the playoffs. The 'editor' gives the offsets for it on the "Number of Teams" worksheet.

Hehe, who knows, have an AHL set of teams or something B) Or Stanley Cup winners since 1958. You can always disable the teams, again using the "Number of Teams" page of the editor.

Share this post


Link to post
Share on other sites

Here's v0.91

The banners for LI and LA have been fixed, and Ron Barr doesn't go brain dead half-way through his spiel.

You can edit the Ron Barr text at @90000 in the ROM. Just make sure you end each team's blurb with a '0d' character.

EDIT: get the most recent ROM from it's own thread: http://forum.nhl94.com/index.php?showtopic=11734

Edited by smozoma

Share this post


Link to post
Share on other sites
Here's v0.91

The banners for LI and LA have been fixed, and Ron Barr doesn't go brain dead half-way through his spiel.

You can edit the Ron Barr text at @90000 in the ROM. Just make sure you end each team's blurb with a '0d' character.

Thanks again for your hard work on '93.

Share this post


Link to post
Share on other sites
Here's v0.91

The banners for LI and LA have been fixed, and Ron Barr doesn't go brain dead half-way through his spiel.

You can edit the Ron Barr text at @90000 in the ROM. Just make sure you end each team's blurb with a '0d' character.

Yeh, well done Smoz great work :( . The amount of work you have done in such a short time is really impressive.

Ooops should have mentioned the LI and LA thing (i asterisked them on the first post)

Share this post


Link to post
Share on other sites
I should have mentioned -- I've moved and blanked out all the team data and playoff matchups. Also, the banner tile maps (but not the banner graphics).

I added 2 new teams, and my excel "hex generator" works reasonably well.

There may still be a few pointers I've missed, but I haven't had any crashes recently.

I just need to fill in teams 29-52 with some basic data and then release this thing to the wild...

Which fixes are you have trouble with? I'll post my fix list in a bit..

I compared our two smc files. You are not missing anything from my file. I think you have changed about 20ish more things than mine. Some I recognise like number of playoffs teams but the others not sure so I look forward to reading your fix list.

I have everything now apart from the stuff to do with selecting lines. I think you have missed this also as your version 1 file crashed when lines needed to be selected. With line changes off everything looked ok :(

Share this post


Link to post
Share on other sites
I compared our two smc files. You are not missing anything from my file. I think you have changed about 20ish more things than mine. Some I recognise like number of playoffs teams but the others not sure so I look forward to reading your fix list.

I have everything now apart from the stuff to do with selecting lines. I think you have missed this also as your version 1 file crashed when lines needed to be selected. With line changes off everything looked ok :(

Share this post


Link to post
Share on other sites

Smoz, would you be interested in expanding 94? If so, let me know if I can help you find any information, I already have all the values of anything you can edit in the editor, and the last version of my editor (unreleased) changes the pointers for the banner text.

Share this post


Link to post
Share on other sites
Smoz, would you be interested in expanding 94? If so, let me know if I can help you find any information, I already have all the values of anything you can edit in the editor, and the last version of my editor (unreleased) changes the pointers for the banner text.

yeah, i'm going to try it. the graphics will be the tough part. also, i think 94 is written in a way that will unfortunately make it a bit harder to find the bank/pointers to change to redirect to the new banks. 93 was very straight-forward, but i think 94 will use a few more tricks since the writers are probably way more experienced (93 appeared to be very rushed).

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Who's Online   0 Members, 0 Anonymous, 6 Guests (See full list)

    There are no registered users currently online