Jump to content

Editing Tecmo NBA attributes


Knobbe

Recommended Posts

19 hours ago, TecmoTurd said:

It most certainly will.

 

I'm scared of the future. 

 

Anyways, back on topic. I'm thinking about doing a 2K17 version of the rom, but I'd need help with making sure that the right teams are good or bad. I can do individual player ratings. 

Edited by PockyCandy
Link to comment
Share on other sites

  • 3 weeks later...
  • 11 months later...

I'm trying to figure out how to change the player running,jumping,shooting etc. I followed the first post. But I've got no knowledge on what i'm doing. So I can find what i'm guessing is 9E99 but i don't see those numbers etc. Any starter help would get great. Thanks.

Link to comment
Share on other sites

  • 9 months later...

I am definitely still interested in this, I made a post over on the SNES version of this thread that TecmoTurd linked to. That version obviously has longer code and would need to be mapped out separately than the NES version, but there must be some overall similarity to NES TSB vs SNES TSB

 

Quote

Rios2020 Posted October 1, 2017

I'm trying to figure out how to change the player running,jumping,shooting etc. 

 

I made charts that convert real-life stats-per-36-minutes into tecmo calibration, points-per-36 = running speed, rebounds-per-36 = jumping, blocks and steals obviously self-explanatory.

 

Minutes-per-game calibrates to stamina where NBA starters typically get 25-45, 6th men get 20-25 and the rest of the bench gets between 5-20 so you kind of need to build your own calibration on tecmo. The way the AI substitutes, I need to over-represent starters' stamina and under-represent backups stamina.

 

The same thing for shooting range, it goes from 1-A (ten) scale but the default factory programming only uses 4-A.So I can leave the Steve Kerrs of the world at A (ten) but need to use more of the entire 1-A range and have more guys be near the middle and bottom of the range. The way the AI plays in COM mode, the shot selection and distance is not necessarily decided by shooting attribute, it is decided by some hidden programming related to Shooting Bias. And the AI does not shoot three-pointers unless it's at the end of the shot clock or quarter (or except when certain players- specifically some of the PFs- randomly launch from like 35 feet as if it was an NBA Jam hot-spot). For some reason there are "desperation" programming triggers but no "voluntary" programming triggers (ie shooting percentage or shooting attribute). 

 

on SNES, making any player edits / rearrangements removes their race, but if the 16 possible races are mapped 0-F then we should be able to re-add them back into the player's hex sequence

 

making sequential rearrangements (ie changing Dominique Wilkins from SF to SG or Charles Barkley from PF to SF), leaves the player's picture fixed in the old location, but if the pictures are mapped to specific hexes like in TSB then we should be able to relocate the picture along with the entire profile and make this an additional field in the editor

Edited by pjfoster13
Link to comment
Share on other sites

  • 4 months later...

My apologies for resurrecting an old thread.

 

I am no hex editing wizard by any means, but I was able to use Knobbe's guides and follow the same instructions to edit the Sega Genesis rom.  The positions are different, but the same general structure applies.   I am able to update player names and attributes and player pointers within a team just fine, but the issue I'm running into is with editing the team pointers.  Whenever I change the starting position of a team's data,  I update the pointer accordingly to the new starting position, but attempting to use that team in game or view their data in game causes the ROM to freeze on a black screen. 

 

Does anyone know if there are any other pointers that need to be updated when the starting position of a team's data changes?

 

In the meantime, I have to get creative with any changes I make to ensure that a team's starting position doesn't change.  That means if one name gets longer, another one needs to be made shorter to compensate.  That isn't ideal, but it works for now.

 

Hopefully there is just something simple I'm overlooking on the team data pointers.  Thanks!

Link to comment
Share on other sites

  • 2 years later...
On 6/6/2003 at 2:02 AM, Knobbe said:

Just on kind of a whim I decided to see if I could find the attributes section of the rom. Thanks to the similarity to TSB, it didn't take me too long to find the location.

 

First, you need to take out the first 16 bytes. These are bytes added to make the rom work with an emulator. If you don't want to remove the bytes, just keep in mind that instead of 9E89 as listed below, that value would now be 9E99.

 

 

 

The rom starts at 9E89 and the first player is 19-B4-89-50-67-62 (Rumeal Robinson)

The rom ends at A620 and the last player is 16-BA-06-2D-1A-65 (Greg Foster)

 

The six sets of numbers seem to stand for the six attributes, which are Running Speed, Jumping, Stealing, Blocking, Shooting Range, and Stamina.

 

Running Speed seems to range from 1C at the highest to 14 at the low end. The fastest guys are Jordan and Barkley. Guys a step slower include Kevin Johnson and John Stockton. The Super Slow guys are Mark Eaton and Manute Bol.

 

More on the upper and lower bounds when I get to them.....

So I know there is an editor for this, but i'm learning , so I am trying to figure this all out. The rom at 9E89 Is Rumean Robinson and the 6 sets of numbers are all his, but they stand for Running speed ( 19)  Jumping ( B4 ) Players Face Type ( 89 ) I have no clue what the next one is ( 50 ) stealing ( 67 ) Blocking ( 62 )

Running speed range in the player pool is from 14 to 1C but the almost empty bar is at 00 and the full bar is 1F which is past Jordans 1C

Jumping range in the player pool is from AA to C5  but the almost empty bar is again at 00 and the full bar is at D3

 

If anyone knows where in the rom the shooting range and Stamina can be found that would be a great help.

 

Edited by ERIC K Nerses
Link to comment
Share on other sites

On 11/28/2018 at 9:25 PM, Sargon said:

My apologies for resurrecting an old thread.

 

I am no hex editing wizard by any means, but I was able to use Knobbe's guides and follow the same instructions to edit the Sega Genesis rom.  The positions are different, but the same general structure applies.   I am able to update player names and attributes and player pointers within a team just fine, but the issue I'm running into is with editing the team pointers.  Whenever I change the starting position of a team's data,  I update the pointer accordingly to the new starting position, but attempting to use that team in game or view their data in game causes the ROM to freeze on a black screen. 

 

Does anyone know if there are any other pointers that need to be updated when the starting position of a team's data changes?

 

In the meantime, I have to get creative with any changes I make to ensure that a team's starting position doesn't change.  That means if one name gets longer, another one needs to be made shorter to compensate.  That isn't ideal, but it works for now.

 

Hopefully there is just something simple I'm overlooking on the team data pointers.  Thanks!

 

Don't have a specific answer here but going through the SNES with @Tommyspud2 found that in addition to the pointers the length of the names were coded in there.

 

Just going through the NES editor, you'll notice that names are coded in multiple places.

In TSB, adding on name length isn't a big deal because there was a buffer of empty spaces.  Unfortunately, that's not the case here.  You'd have to alter a series of pointers after the fact if you're going to increase the amount of space used.  I did find that reducing the amount of characters was mapped out except for the "Intro Name".  I'd recommend looking at a before and after edit on a NES rom to see exactly what changes.

 

Long story short, I think it's probably relatively easy to have an overall reduction of total team name lengths.

 

image.png

 

Tecmo NBA Manager.exe

Link to comment
Share on other sites

16 hours ago, ERIC K Nerses said:

So I know there is an editor for this, but i'm learning , so I am trying to figure this all out. The rom at 9E89 Is Rumean Robinson and the 6 sets of numbers are all his, but they stand for Running speed ( 19)  Jumping ( B4 ) Players Face Type ( 89 ) I have no clue what the next one is ( 50 ) stealing ( 67 ) Blocking ( 62 )

Running speed range in the player pool is from 14 to 1C but the almost empty bar is at 00 and the full bar is 1F which is past Jordans 1C

Jumping range in the player pool is from AA to C5  but the almost empty bar is again at 00 and the full bar is at D3

 

If anyone knows where in the rom the shooting range and Stamina can be found that would be a great help.

 


Each player is 12 total bits, 6 bytes

Here is what they stand for

 

1-2 Running Speed - Running speed ranges from 00 to 1F while the game uses from 14 (mark eaton, Manute Bol) to 1C (Jordan and Barkley)

3-4 Jumping - Jumping ranges from to 90 to D3. The game uses from AA to C5. AA would be Mugsey Bogues and C5 would be David Robinson.

5 - Race - 0-7 will be a white player while 9-16 will be a black player.

6 - Shooting Range - Shooting Range ranges from 0 to A while the game uses from 3 to A. 3 would be Mark Eaton and Manute Bol while A would be Michael Jordan and Larry Bird

7-8 Stamina - Stamina ranges from 00 to 64 while the game uses from 1E for NY's Tim McCormick to 5A players like Kevin Johnson.

9-10 Stealing - Stealing ranges from 00 to C8 while the game uses from S.A's John Copa at 06 to John Stockton at 80

11 - Face - There are 16 different white players and 16 different black players that range from 0-F. 9, C and F aren't used in the game

12 - Blocking - Blocking ranges from 0 to C while the game uses from 1 (Kevin Johnson among many other guards) to B (David Robinson)

 

Rumeal Robinson starts at 9E99

19 B4 8 9 50 67 6 2

 

Thus

Running Speed 19

Jumping B4

Race 8

Shooting Range 9

Stamina 50

Stealing 67

Face 6

Blocking 2

Link to comment
Share on other sites

On 8/9/2021 at 1:00 PM, Knobbe said:

 

Don't have a specific answer here but going through the SNES with @Tommyspud2 found that in addition to the pointers the length of the names were coded in there.

 

Just going through the NES editor, you'll notice that names are coded in multiple places.

In TSB, adding on name length isn't a big deal because there was a buffer of empty spaces.  Unfortunately, that's not the case here.  You'd have to alter a series of pointers after the fact if you're going to increase the amount of space used.  I did find that reducing the amount of characters was mapped out except for the "Intro Name".  I'd recommend looking at a before and after edit on a NES rom to see exactly what changes.

 

Long story short, I think it's probably relatively easy to have an overall reduction of total team name lengths.

Can confirm that it's more of a pain in the butt to actually increase the #characters for teams, and it ends up spitting out gibberish everywhere.

It's broken my 3rd SNES backup for the Big 3 rom, and I'm assuming it's the same thing is an NES issue too.

Edited by Tommyspud2
Link to comment
Share on other sites

In a related but different note. I am working to create the custom rom to accommodate the Draft for the online league we did based on the original player pool. Unlike the ROM updates for new years or NCAA, etc Im literally moving players from one Roster to the next. While the Tecmo NBA Manager is excellent, especially for Renaming the players, the attribute bars dont have numbers for range, so its a bunch of clicking to the limit to see where in the bar the players attribute is. With a new player pool this doesn't matter since you are rewriting the entire ROM player pool with new players. So in an effort to get this right, I'm trying to map all the code for each player to establish a baseline. Then I can go back in to the HEX editor and verify I correctly assigned the attributes to the transplanted players on their new teams. 

 

I also discovered the following, the section of the rom in the 8000s with the Player Names lists the teams/players in a different order than the alphabetical  team/player order they are listed as in the game ( wash is not the last team Utah is ) however the players/teams are listed in alphabetical order in the attributes section of the rom starting at 9E90. Lastly in the 8000s the players have a 2 digit hex code directly following their names , this isnt just their position but its their architype, which explains why SR doesnt always dictate 3 pt ability. I see the Tecmo Manager has two scoring bars at the top of each players attribute which are tied to the Architype, @Knobbe , do you know what each of those 2 sliders represent ( inside scoring, outside scoring etc ? )  

Link to comment
Share on other sites

4 hours ago, ERIC K Nerses said:

Lastly in the 8000s the players have a 2 digit hex code directly following their names , this isnt just their position but its their architype, which explains why SR doesnt always dictate 3 pt ability. I see the Tecmo Manager has two scoring bars at the top of each players attribute which are tied to the Architype, @Knobbe , do you know what each of those 2 sliders represent ( inside scoring, outside scoring etc ? )  

 

Actually I don't know.  If I had to take a shot in the dark I'd say sim scoring.  I would guess that the first notch is a big change and the second is a minor adjustment.

My second guess would be how much they shoot during a game.  Those two things might very well share the same value.

One way to test would be to run a season with Jordan on regular and then compare that with Jordan turned down.

 

 

Link to comment
Share on other sites

  • 2 years later...

For those that are interested I have been updating both ROM's  for both NES and SNES. I have posted my updates and intend to post more. In doing so I found some information. In order to update the SIM scoring, in 8000s the players have a 2 digit hex code directly following their names. Like ERIK K Nerses mentioned SO LONG AGO this isn't just their position but its their architype. It appears the first digit in the hex stands for the players scoring ability and is ranged from 8, 9, A, B, C, D, E, F with 8 being a low scoring average player and F being the highest scoring average players. The second digit in the hex stand for the position it appears PG=0 and 8, SG=1 and 9, SF= 2 and A, PF= 3 and B, C= 4 and C.

 

Example: Michael Jordan is F9 in the game. F means he is a high average scoring player, 9 means he is a shooting guard.

 

More to come if/when i discover more.

 

I would love for someone to update either the Rabbit utility or Tecmo NBA manager with this info if possible. I'd do it myself if I knew how.

Link to comment
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.

×
×
  • Create New...