Jump to content

Team Location Name/Mascot Length Pointer


Ghost

Recommended Posts

I'm sorry if this has been answered before.  I searched the forum but couldn't find the answer to this.


 


At 01fd7c the team locations start followed by team names. Where are the variable lengths for theses values set?


 


I'm just using a copy of the tpc_original.nes rom.


Link to comment
Share on other sites

I know there is a thread about the Pointers for this section (TEAMS' NAMES), but I dont know why the search for my browser sometimes freezes, So I could not find it in the Docs-Directory either.
I think we all got used to the TSB-TOOLS/EDITORS, since they do all the dirty work for us. I dont have to worry about these pointers anymore. You also can trust all these editors when you want to change something within this section of the rom.

These Editors help us creating some pointers "automatically". And most of these tools have been programmed so that you can not make mistakes when inputting the names. This means some editors wont let you "exceed" the "allowed" number for name's characters, simply because they will crash the game at some point. (If memory is exceeded or something like that..) Or maybe because the game was just not programmed that way:
post-9389-0-14815700-1398026451_thumb.pnYou can see here that you can input a longer name, But it just doesnt make sense ON SOME OTHER SCREENS:

post-9389-0-32643700-1398026485_thumb.pnThe game was programmed so that only 3 characters appear "correctly" on this screen.

The pointers for this section are just above the offset you mention: They start at offset x1FC10, where it says $F0 BC.
F0BC is the pointer for offset x1FD00. As you can see, pointers in this section "point" to their corresponding offset just by:

1. switching the bytes from the pointer: F0 BC -> BCF0,

2. then add the HEX value of 14010: BCF0+14010= 1FD00.
Now at offset 1FD00 is located the first "text" that the rom will read for this section, which is "BUF."

Right after the first pointer, comes the second pointer, it indicates F4BC, which points to offset 1FD04. On the "TEXT-window" from your HEX-Editor it reads "IND."

post-9389-0-87634200-1398027127_thumb.pn

Now The lenght of these words is determined by the pointers themselves:

if you have F4BC (IND) and you have F0BC (BUF) You can see each pointer has a lenght of 4 characters; (BCF4 - BCF0 = 04) This means the game will read only 4 characters (letter, number, period, commas, etc)  and then go to the next name to repeat the procedure.
The important thing here is that you to know that the game reads THE POINTERS first to know the lenght of each text. Because as you can see the "CITY NAMES" (starting at offset 1FD7C with "BUFFALO") are no longer 4 characters each. The LENGHT is based on the "difference" of 2 "consecutive-pointers":

If you want to change the length of the text BUFFALO you will first need to know its location. (you know that your TEXT-Window will show the offset just by clicking the first letter of your text):
post-9389-0-12634900-1398027179_thumb.pn
This text: "BUFFALO" is located at offset x1FD7C, which means by reverting the process that the "pointer" you shall find is:

2. Substract hex14010: 1FD7C -14010= BD6C,

1. switch resulting bytes: BD6C -> 6C BD. This is the pointer that determines the text location: 6CBD. * (You can go to offset x1FC10 and "search/find" this pointer)

post-9389-0-82453400-1398027478_thumb.pn

it is located at offset 1FC50. Now if you wanted to make text "BUFFALO" longer, simply add the number of letters you need to the NEXT/FOLLOWING POINTER. which is 73BD at offset x1FC52. I will re-name my city "BUFFALOES" so I will need 2 more letters:
post-9389-0-35558600-1398027633_thumb.pn
It read 73BD (which was the pointer to start reading the next team: "INDIANAPOLIS"), but since I will be needing 2 more characters for BUFFALOES, it will now read 75BD. Then write "BUFFALOES" on the TEXT window.

post-9389-0-89618600-1398027750_thumb.pn **BUT by adding 2 characters to your first city, you also "shortened" the next city by 2 characters:

 

post-9389-0-41407100-1398027800_thumb.pnpost-9389-0-38075200-1398027820_thumb.pn

 

You will need "adjusments" for ALL THE REST OF THE TEAMS. This is why TSB-EDITORS are so widely used!.
 

Edited by pambazos88
Link to comment
Share on other sites

Thanks again pambazos. Thanks to your awesome walk through I was able to successfually change the lengths of team locations and their names. 


 


As with any good question though, it led me to more questions. 


 


1.Perhaps I missed it but where did the value 14010 come from? 


2. You mention TSB editors that can do this, I can't find one mentioned in the TSB Programs thread or by searching the forum, could you point me to one? 


Link to comment
Share on other sites

I have used the TSB Supreme editor and it is awesome but I don't see a way to use it to change the name of team or it's city like I can in TSB Manager 1.3. Is there a way to do this with TSBTool Supreme ?

 

Oh yeah, good point.  I didn't read that very well!  

Link to comment
Share on other sites

I think we all got used to the TSB-TOOLS/EDITORS, since they do all the dirty work for us. I dont have to worry about these pointers anymore. You also can trust all these editors when you want to change something within this section of the rom.

These Editors help us creating some pointers "automatically". And most of these tools have been programmed so that you can not make mistakes when inputting the names. This means some editors wont let you "exceed" the "allowed" number for name's characters, simply because they will crash the game at some point. (If memory is exceeded or something like that..) Or maybe because the game was just not programmed that way:

......

 

You will need "adjusments" for ALL THE REST OF THE TEAMS. This is why TSB-EDITORS are so widely used!.

 

 

I hate to bug you guys again, but pambazos88 seems to indicate there is some sort of tool that lets you rename teams without altering each ones byte length. I would definitely prefer to do it it using a tool. As I indicated above TSB Supreme.

 

Does anyone know the tool/tools he is speaking of.

Link to comment
Share on other sites

I see the point in your comment about TSB TOOL. I also didnt know how to change Team´s names with it. (I cant tell if this is even possible with this tool..)


However there are some other tools/editors that can help you with this. Sorry I am not able to link them, but I guess you can find them very easily.


 


post-9389-0-36898200-1398469175_thumb.jp


TSB Manager for Windows is probably one of the first tools created for editing TSB rom. (Mainly for names, uniform colors, and player's attributes.)


 


post-9389-0-42244300-1398469306_thumb.jp


General Manager for TSB is a Java based tool (I think this works on Mac and Linux too) used for the same purpose.


 


I dont think any of these editors support the 32-Teams rom. Anyway they can help you with the first 28 pointers..


 


 


Link to comment
Share on other sites

I see the point in your comment about TSB TOOL. I also didnt know how to change Team´s names with it. (I cant tell if this is even possible with this tool..)

However there are some other tools/editors that can help you with this. Sorry I am not able to link them, but I guess you can find them very easily.

 

attachicon.gifTSBM.jpg

TSB Manager for Windows is probably one of the first tools created for editing TSB rom. (Mainly for names, uniform colors, and player's attributes.)

 

attachicon.gifGM TSB.jpg

General Manager for TSB is a Java based tool (I think this works on Mac and Linux too) used for the same purpose.

 

I dont think any of these editors support the 32-Teams rom. Anyway they can help you with the first 28 pointers..

 

Thanks again pambazos88, I'll have to try the General Manager for TSB, as the TSB Manager tends to off set things and screw up the Season screen (at least on the Arena football rom I'm making)

Link to comment
Share on other sites

Thanks again pambazos88, I'll have to try the General Manager for TSB, as the TSB Manager tends to off set things and screw up the Season screen (at least on the Arena football rom I'm making)

 

look, you're better off just figuring out how it works (see pambazos post where he explains).

 

it will take you maybe an hour to figure it out (and make the changes you want).  and once you've figured it out, you can pull off changing all the names in like 30 min.

Link to comment
Share on other sites

look, you're better off just figuring out how it works (see pambazos post where he explains).

 

it will take you maybe an hour to figure it out (and make the changes you want).  and once you've figured it out, you can pull off changing all the names in like 30 min.

 

As I said in one of my posts above I was able to figure this out thanks to pambozas awesome walk through. However I was still curious about the programs he mentioned which is why I asked about them. 

Link to comment
Share on other sites

  • 3 years later...
On 4/21/2014 at 12:31 PM, Ghost said:

Thanks again pambazos. Thanks to your awesome walk through I was able to successfually change the lengths of team locations and their names. 

 

As with any good question though, it led me to more questions. 

 

1.Perhaps I missed it but where did the value 14010 come from? 

 

2. You mention TSB editors that can do this, I can't find one mentioned in the TSB Programs thread or by searching the forum, could you point me to one? 

 

 

@pambazos88 - excellent response! I too would like to know where "14010" comes from. I'm trying to figure out how to map between the player pointers and player data, and I think I need that same type of value.

 

Alternatively, if anyone can show me where the pointer to 0x6DA (QB Bill's jersey #) is, I should be able to figure it out.

Edited by Tundrayeti311
Link to comment
Share on other sites

20 hours ago, Tundrayeti311 said:

 

@pambazos88 - excellent response! I too would like to know where "14010" comes from. I'm trying to figure out how to map between the player pointers and player data, and I think I need that same type of value.

 

Alternatively, if anyone can show me where the pointer to 0x6DA (QB Bill's jersey #) is, I should be able to figure it out.

 

So I've been able to determine that starting at 0x10 there are 28 pointers to where a team's player's name info pointers (jersey#, firstname, LASTNAME) start, then the player's name info starts at 0x6DA. 0x7FF0 is the memory address offset being used.

 

x3010 - x3CDC has the player attribute information, but I haven't been able to figure out how to "read" it yet. Is this documented somewhere that I've missed?

Edited by Tundrayeti311
Link to comment
Share on other sites

thanks for the help @bruddog,  awesome as always!

 

I searched through the page source of the pinned  TSB Hacks | Documentation Directory post for this link  http://tecmobowl.org/forums/topic/69298-player-attribute-locations-in-hex-file/, but I didn't see it listed. If it could be added, I think that would be a good addition to an already excellent resource.

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...