Jump to content
Sign in to follow this  

NES TSB Play Editor BETA1 release

Recommended Posts

Location: http://www.emuware.com/files/?tsbPBE-beta01.zip

Note: If it does not run due to missing system files, look for them on Google or ask someone else to supply them.

Disclaimer: This is highly untested, so make liberal use of backups.

This is a play editor for the NES version of TSB. The only functional features are:

* Swapping plays

* Copying plays (overwrites destination)

When saving it takes care of:

* Moving the play to the right slot (obviously)

* Swapping the "blitz byte" if need be

* Updating the Rusher code (appears above the play)

* Updates the GFX code

Ideally, I would like for it to do everything down to editting the player commands. Realistically, it still may be too much of a pain to do even with an editor.

In summary, to help understand why the Editor looks as complex as it does, TSB stores its plays like this:

Formations -> Play Slots -> Plays -> Sequences


There are 21 built-in formations with room for more. (Not that it really matters. The more formations you have, the more spread out they become in the playbook)

Each formation contains a pointer to the code that tells a player where to stand and how to go in motion. The formations share pointers a lot between themselves to save on data space. I have not looked into how this works at all, but I've seen roms that have modified formations. They may have just swapped known pointers, as opposed to editting them.

Play Slots

There are 64 play slots, 32 runs and 32 passes, grouped by 8. Each play slot is linked to (potentially) 8 offensive and 8 defensive plays. In practice, each play slot is linked to plays that look similar, but might be slightly tweaked. (Ie, the famous WR chop block is a variation found in two different plays.)

Defensive play reactions are also hard coded, depending on what the defense chooses. This is how TSB determines if defenders should play against the run or pass - and if they called the play right. (The editor automatically swaps the blitz code if you move a play outside of its original location.) I have not looked into how the defensive plays are coded.


Plays are 11 pointers to command sequences, one for each position. The speciality positions basically have a unique sequence for every play, while the OL are often linked to the same sequence.


Sequences are made up of commands that control the player. There are commands to move to a location, to hand off the ball, etc. A sequence can even be linked to another sequence for continuation. (This is denoted by a +ADDR in the editor.)

I have a good understanding of how offensive sequences work and am able to load them all. The editor will try to convert the sequences into human readable language as best it can. There are many commands that I do not know what they do. They probably set flags or something that will require more than observation to determine. The only thing preventing plays from being radically changed is deciphering the Movement commands. There are three movement commands (MOVE D7, MOVE D8 and MOVE D9) that you will see appear. They contain y,x value pairs of data to determine where the player moves. I believe some movement is relative and some movement is absolute.


This editor allows you to move plays around and that's it.

However, it does let you get a good feel of how TSB store its plays. Soon I'll release a version that lets you modify the sequences by hand so that people can help decipher how the unknown codes work.


Share this post

Link to post
Share on other sites

I just tried it and it wouldn't load the rom, i have my file named as tsb.nes and i opened it but nothing came up, no missing file error's displayed either.

Share this post

Link to post
Share on other sites

Errors are silently ignored for it during load... The only thing I can think of that might go wrong is that you need to have the two .txt files in the same folder as the application. And it might not be able to reside in a root drive... (Ie, don't put it in C:\ or D:\, make sure it's in at least one folder.)

Share this post

Link to post
Share on other sites

wow, this looks very interesting... you have single-handedly revealed 2 important pieces of information for me in the past 2 weeks. nice work konforce!

i cant wait to try this on my actual computer (this one is a piece... cant even run TSBM2k).

ive been looking for something like this due to the painstaking nature of swapping plays around manually... IT IS A PAIN IN THE ASS!!!!!


again, thanks a lot - i cant wait to use this and the 1st down yardage information in my upcoming group of projects.

Share this post

Link to post
Share on other sites

Wow, this is really awesome.

Play moving went a little faster for me when I figured out the search feature of hex editors, but it was still a time consuming process just to move one play around.

Share this post

Link to post
Share on other sites

WARNING... this program does not entirely work! sometimes there will be situations where the defensive player may call the offenses play, only to not have it register.

i wouldn't trust this or the BETA2 release until konforce addresses this issue.

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.

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  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...