Jump to content

Modifying Tecmo Super Bowl Plays


Knobbe

Recommended Posts

As mentioned in a previous post, I'd found out some info on where the pointers were to the default team play books.

That got the wheels turning in Bruddog's head and he figured out that every play has a byte in it that determines the formation. Thus, you can run any play out of any formation. For example, you can run the T Power Sweep from the Red Gun Z formation or from Run & Shoot. Basically the players just try to execute the same plays from different positions and often it's hilarious what they do.

I also worked a bit with Jeid on this little project and now have it pretty much figured out.

The offset for the data starts at 0001D410 and runs until 0001DA10 for those with a hex editor. (If you do an ASCII search for SWEEP it will take you to the start of the data as well) Every play takes up 24 bytes. Bytes 1-15 always contain the name of the play and this is what is read when you are choosing plays. To make up for shorter names spaces (hex=20) are used to fill up the remaining space. The next byte is the formation of the play. The value of this byte runs from 04-15 meaning there are 18 different formations coded into the game for plays. For example, 04 is the setting for "T" formation and used quite a bit while 12 is the formation for Redgun Z Slant and is used just once in the game. (I'll document the plays later, and other values for the formation byte will yield wacky results.)

Other formation values off the top of my head

00 - Kickoff formation - Causes you to lose yardage as your QB tries to run up to the line of scrimage after lining up 40 yards off the ball.

01 - Punt formation - This one runs pretty successfully but has lots of weird motion after you hike the ball

02/03 - FG/XP formation - I don't know which is which but the QB always fumbles the snap on this one. Since he or the running back seem to easily pick up the ball, it's like running a fumblerooski

Larger than 15 - Some will cause the game to error, some will cause an auto safety or touchdown when you hike the ball

Finally, there is the matter of the last 8 bytes. These were tricky to figure out at first as they seemed like they might have been the data to control what routes the players run. However, these bytes are the pointers to the plays. The strange thing is that most of these values are repeating themselves for each play. For instance her are the last 8 bytes following

T Fake Sweep R - 10 10 50 10 10 50 10 10

T Power Sweep R - 11 11 11 11 11 11 11 11

FB Offtackle R - 53 53 53 53 16 16 53 53

T Power Dive - 18 18 18 18 18 18 18 18

Notice how some of the plays have the same number repeating all the time and some of them have two different numbers. The reason for this is that the play run depends on what play the defense calls. Thus, if the defesne calls the first run play, then the pointer to the first byte is used. This doesn't make a difference when all the values are the same, but it does if the values are different. Thus, it seems like for some plays there have actually been two plays coded that are almost exactly the same except they perform a bit differently depending on what defense is called.

You can test this out by changing a play's last 8 bytes to something like 10 11 12 13 14 15 16 17 and then watch as it's almost like randomizing how a play is run.

--------------------------------------------------------------------

What does this mean to the average Tecmoer

--------------------------------------------------------------------

- You can run any play from any formation. Thus, you could make every play look like the motion offense used by the Redskins. You could make all the funky formations look like the common R&S or T formations.

- Somewhat new plays can be formed by changing the formation of a play. In TSB III there is a play from the T formation where the QB pitches the ball to the top running back. You can make that same play in TSB by taking R&S Sweep L and changing the formation to T.

- If you ever thought about documenting how defenders cover passes or runs depending on what play you call, this obviously proves that this is well worth your time because there is a corrolation.

- This puts us one step closer to finding where the plays are defined and being able to modify routes and things of that nature.

Link to comment
Share on other sites

  • Replies 53
  • Created
  • Last Reply

Top Posters In This Topic

Bravo, Rod. That's some great stuff. I'll have to try messing around with that and see how it works. This is a big step in the right direction - now we just need to figure out the graphics and the routes/blocking patterns, but to be honest with all of the plays that are in there already mixed with all of the different formations they could be run out of that's a ton of options.

8 Offset I plays in one playbook....ooooooh, yeah!

Link to comment
Share on other sites

Okay I've messed around with this a bit now. To save others some time here's the full list of formations:

00-Kickoff

01-Punt

02-XP/FG

03-XP/FG

04-Pro T (a)

05-Slot

06-Onesetback (a)

07-2 TE

08-Motion Down

09-Shifting Onesetback

0A-Oneback (as in Z-Cross)

0B-Offset I

0C-Run and Shoot

0D-Run and Shoot 3-Wing

0E-Shotgun (a)

0F-Shotgun (B)

10-Shotgun 3-Wing

11-Shotgun ©

12-Redgun

13-No Back

14-Pro T (B)

15-Oneback (B)

The reason some have a's and b's is some plays switch the position of certain players like the runningbacks which can cause (as one FAQ refers to it as) a race defect - meaning you can tell which play is being run because if the backs are of different races they way they line up shows you more information about which play it is.

Other things I noted quickly as I assembled my Offset I playbook. If you run a regular play out of shotgun your QB will not drop back automatically which can be bad if you're not ready. On the plus side, your receivers are immediately available to throw to since you do not fade back.

Link to comment
Share on other sites

The other thing is if you run a regular pass play out of shotgun your QB will fade back off ofthe screen - only after his drop is complete will the screen pan back to show him.

This is really great. I made a whole series of plays out of the 2 TE set and they work really well for the most part. Now it's just the graphics and finding the pointer to the player in the running game (the plays will still show the original guy in the play so if you write over a reverse with a sweep it still may say "SHARPE" even though the ball is going to Haddix or Woodside).

The other cool thing is that we can get rid of the race defect by switching the current plays all to the original formation - for shotgun this would be very good.

Link to comment
Share on other sites

Yes I have been messing around with different plays. Some really don't work in a different formation but others work quite well. One funny play is running the Run 3 R&S Sweep from the Redgun formation. You have control of the RB before the ball is pitched to him so its almost like an option or a forward lateral. Using the redgun for some other plays can cause some problems. Notably pass plays that were not originally shotguns. The problem being that the arrow doesn't turn off when you go past the line of scrimmage and if you accidentally throw the ball to any wR forward or backwards the ball is incomplete and bounces around without anyone being able to pick it up. Plus it looks like the Defense doesn't always react normally to these modded formations. Btu that said some formations work great!

Link to comment
Share on other sites

Hey guys:

Long time listener, first-time caller, and I figured out some further stuff on the play editing....It's kind of the same as the formation thing, but a bit different and opens up some good possibilities.

When you hack on the plays, you see those 8 bytes alongside each play, and usually they're all the same....what those do is determine which play is selected in accordance to what the defense picks (If they pick Run 1, you end up running the play in that first byte, run 2 for the second, etc.) So it's possible that one actual "play" can actually be 8 different plays depending on which play the defense picks.

What this means is that you could design a pretty killer playbook, consisting of BS'ed quarterback options (Like the Red Gun play Bruddog mentioned), and a REAL Run and shoot offense, since the real run and shoot offense consisted of receivers running different routes based on their reads of the defense. So you could pick one play out of the 4 receiver set and have your receivers run any number of routes.

Oh, and by the way, this thing works so well that one "play" could actually be a run or a pass depending on what the defense picks. This would be cool for running plays, which are damn near impossible to beat when the defense picks your play, so if your run is in the RUN 1 spot, you can change it so your offense runs a pass play when the defense selects your play....that's kinda cool too.

Also, as far as the formation thing...try putting a punt formation (Byte 01) with a pass play....it ends up being an honest to god fake punt, only the screen doesn't scroll with who you throw the ball to, but EVERYBODY is wide open with no pursuit by the defense...it has no practical use in a game but it's fun nonetheless.

Here's what I came up with for what each byte does in the plays (cross reference this with the plays on the repository here so you can better understand it). Keep in mind, the way this code was programmed in, some plays have two or three variations with subtle differences (mostly different blocking assignments), so that's why there are certain plays listed two or three times:

Runs

10=T FAKE SWEEP R

50=T FAKE SWEEP R (Alt Variation)

11=T POWER SWEEP

12=WTE OFFTACKLE R

13=ONESETBACK L

14=R AND S SWEEP L

52=R AND S SWEEP L (Alt)

51=R AND S SWEEP L (Alt 2)

53=FB OFFTACKLE R

16=FB OFFTACKLE R (Alt)

54=FB OPEN L

17=FB OPEN L (Alt)

55=TOSS SWEEP R

15=TOSS SWEEP R (Alt)

18=T POWER DIVE

19=FB OFFTACKLE L

56=FB OFFTACKLE L (Alt)

1A=R AND S DRAW

1B=PITCH L FAKE

01=ONEBACK SWEEP R

1C=ONEBACK SWEEP R (Alt)

00=ONEBACK SWEEP R (Alt2)

02=WEAKSIDE OPEN

1D=WEAKSIDE OPEN (ALT)

03=T OFFTACKLE R

1E=T OFFTACKLE R (ALT)

1F=T SWEEP STRONG

04=SHOTGUN DRAW

20=SHOTGUN DRAW (ALT)

05=R AND S SWEEP R

22=R AND S SWEEP R (ALT)

07=T CROSS RUN L

06=T CROSS RUN L (ALT)

21=T CROSS RUN L (ALT2)

08=SLOT OFFTACKLE

24=SLOT OFFTACKLE (ALT)

09=CROSS OFFTACKLE

26=CROSS OFFTACKLE (ALT)

0B=PITCH L OPEN

0A=PITCH L OPEN (ALT)

27=PITCH L OPEN (ALT2)

0C=WR REVERSE R

23=WR REVERSE R (ALT)

OD=WR REVERSE L

25=WR REVERSE L (ALT)

OE=R AND S QB RUN

2A=R AND S QB RUN (ALT)

2D=SHOTGUN SWEEP L

OF=SHOTGUN SWEEP L (ALT)

2E=R AND S QB SNEAK

57=R AND S QB SNEAK (ALT)

29=ONESETBACK DIVE

28=PRO T DIVE

2B=FB POWER DIVE

58=SHOTGUN C DRAW

2C=SHOTGUN C DRAW (ALT)

59=REVERSE PITCH R

2F=REVERSE PITCH R (ALT)

passes

30=PRO T WAGGLE L

31=R AND S FLARE

32=PRO T WAGGLE R

33=ROLLOUT R

34=ROLLOUT L

35=PLAY ACTION D

36=PRO T SCREEN

5A=PRO T SCREEN (ALT)

37=PLAY ACTION

38=PWR FAKE Z POST

39=WTE F-FLICKER

3A=SHOTGUN X CURL

5B=SHOTGUN X CURL (ALT)

3B=R AND S Z FLY

3C=PRO T FLARE D

3D=OFFSET FLARE E

3E=ONEBACK Z CROSS

3F=ONEBACK FLARE A

40=T FLEA FLICKER

41=PWR FAKE X FLY

42=SHOTGUN X DRIVE

43=R AND S 3WING

44=PLAYACTION Z IN

45=FLEA FLICKER

46=PRO T FLARE C

47=SHOTGUN 3 WING

48=SHOTGUN XY BOMB

49=R AND S Y UP

4A=X OUT AND FLY

4B=REV FAKE Z POST

4C-SLOT L Z DRIVE

4D=BACK X DEEP

4E=SHOTGUN Z S IN

4F=REDGUN Z SLANT

And remember, you can run insert any variation of these bytes for each play, whether they be run or pass, and it will still work.... And BTW, don't bother putting any values higher than 5B or lower 10.....it just freezes the game :? .

Now all we have to figure out how to do is be able to edit the silly Play graphics so it corresponds to the plays we create (It's probably like editing the large helmets I assume).

Link to comment
Share on other sites

And BTW...

Now that I've played my part and added something to wonderful community, does ANYBODY know how to change the actual formations, like changing Houston from 4WR to Pro Set or the changing the Bears from the Pro Set to a 3 receiver setup? I'm sick of those silly Tecmo bastards substituting in the wrong people when HOuston's fullback gets hurt..... :?

ANYBODY???? :?

Link to comment
Share on other sites

This is just off the top of my head, but I'm guessing that there is a 28 character line of code out there that acts as a pointer for the team display. Most of the values are the same and point to the default play book and there are the r & s codes, etc. Maybe after I unburn out I'll look for this as I'd like to change this as well. Baiscally you need to randomly scramble sections in the rom and look for the Team page to be screwed up, and then nail it down further.

And BTW...

Now that I've played my part and added something to wonderful community, does ANYBODY know how to change the actual formations, like changing Houston from 4WR to Pro Set or the changing the Bears from the Pro Set to a 3 receiver setup? I'm sick of those silly Tecmo bastards substituting in the wrong people when HOuston's fullback gets hurt..... :?

ANYBODY???? :?

Link to comment
Share on other sites

Well, I may not be very Bright, Rod, but that was my normal mode of action to figure things out, but I tried that a week ago with a rom corrupter i downloaded, and It doesn't modify a damn thing....How do those crazy things work????

Plotting against the windmills,

Don Quixote

Link to comment
Share on other sites

I've been using ROM Corruptor 5.99 by Dwedit that I downloaded from Zophar.net. Basically, it will let you put in a starting address and ending address for a block of data and let you scramble the whole thing with random numbers or shift the data, or a lot of other things. Basically, I'd corrupt the rom, check out any changes in the emulator (when it wasn't so screwed up it wouldn't start) and then move on to the next block of data.

It always gives me the message "there were problems accessing the files" but it seems to work quite well.

I'm also not that bright but I fake it pretty well..... :?

Link to comment
Share on other sites

Anyway, here is the 411 on the data for the play graphics.

The data starts at $00027506

The first 64 bytes represent the pointer to the player's name displayed above the play.

00 = QB

02 = RB 1

04 = RB 2

06 = WR 1

08 = WR 2

Other values inserted here bring up other players in the rom but can cause it to freeze up. Also, I'm assuming the 2nd 32 bytes correspond to the pass plays. Since they don't display player names and I didn't mess with them I don't know that for sure.

Next come the play graphic data. The plays are made up of 6 tiles horizontally and 7 tiles vertically. One byte is used as a pointer to the location of the tile on the rom. Thus, 42 bytes make up each graphic.

The code for the plays runs from $27546 - $27FC5

The following are the lines up code that make up each play....

1A. 0101019301010101019401010190019601010198999C0101019A0191010101C2B1B40101010101910101

1B. 0101019301010101019401010191E89601010101989C010101919A9101010101C2B40101010101910101

1C. 01010191010101010194010101010196010191AF8D9C01010101C29EB401010101010101010101910101

1D. 0101019101010101019001010101959EB40191AF979C0101010101960101010101010101010101900101

1E. 01A0A1910101018F019301010198929601010193019C0101010101910101010101930101010101940101

1F. 01019491010101019F90010101019F960101918DB79C010101C2B79EB4010101BD010101010101010101

1G. 01A0A1910101018F01900101018F01960101019BB19C0101010101960101010101010101010101940101

1H. 0101019101010101010101010101019601019198999C0101019A9396010101C2B4010101010101900101

2A. 0101019301010101019401010193019601010195A3A6A101019301910101010101010101010101940101

2B. 0101019101010101019001010101959EB40191AF979C0101010101960101010101010101010101900101

2C. 01010191010101010193010101010196010191AFA3A6A101010101910101010101930101010101940101

2D. 01A0A1910101018F019001010198929601010193019C0101010101960101010101010101010101900101

2E. 01010191010101010190010101010196010191AF989C010101019A9601010101C2B40101010101940101

2F. 01019491010101019F90010101019F9601019198B79C0101018F9F960101019ABD01010101C2B4010101

2G. 010101930101010101940101018E9296010101C2CB9C01010191D2C8A101010101010101010101940101

2H. 0101019301010101019401010191E89601010101989C010101919A9101010101C2B1B401010101940101

3A. 010101910101010101930101018EA0B3A10101B297BF0101010101910101010101930101010101940101

3B. 0101019101010101019301010101019601019198999C0101019A9491010101C2B1B1B401010101940101

3C. 01A0A1930101018F01940101918F019601010198B19C0101019301910101010101010101010101940101

3D. 01010191010101F9B69301010195B79EB4010198B79C010101939F9601010101BD010101010101010101

3E. 0101019301010101019401010193959EB4010195979C0101019301910101010101010101010101940101

3F. 01A0A1910101018F01900101018F01960101019B999C0101010101960101010101010101010101900101

3G. A0A8A9AC01018FBB019001018F8F019601018F9B999C01019A0101960101C2B401010101010101900101

3H. 01A0A1910101018F01900101018F0196010191BE989C0101018F8F960101019ABB01010101C2AFBA0101

4A. 01A0A1910101018F01930101019A0196010191C2B19C0101010101910101010101930101010101940101

4B. 01A0A1010101018F01940101018F01960101019B99BF0101019394910101010194010101010101940101

4C. 0101019101010101019301010101019601010193AEA6A101010101910101010101930101010101940101

4D. 01010191010101010190010101010196010191B1A3A6A101010101960101010101010101010101940101

4E. 0101019301010101019401010193019601010195A3A6A101019301910101010101010101010101940101

4F. 01010191010101010101010101010196010191B1A3A6A101019101960101010101010101010101900101

4G. 01010191010101010193010101AAABB3A101019B99BF0101010101910101010101930101010101940101

4H. B8A9AC0101019899B99401018F918F9601018F01989C01019A91BC910101C2B1B4010101010101940101

5A. E201D8B1B1B4E80194CA0101EC959EBC0101EABE9C01010191BC910101CA01010101018F010191B1B1BC

5B. 0194C8C1B1B4A0ABABC0A1018F0196C2C30193C99C0101010101910101010191B1C4ABA10101E4C6B401

5C. 0101D8B1B1C301019401010191CB96010101FAE19C010101ECE391010101E9C2C30195CC010191B1DC01

5D. 01E091B1CB01018F9001C2C3B8E696010101ECBC9C010101E80196EB0101E90101C2C3D3010191B1B1DC

5E. E29491B1B1B4E89FE4CE0101ED9F96010101EFB59C010101019F96ABCE01019F01010101019FABABABCE

5F. 0101D8B1CB0101019401C2C3959396010101C9E7A6ABEE018F93910101019A0101010101C2B494ABABA1

5G. 0101D8B1B1B401E094ABEB0101939601C2C301C99C010101019391010101010101010101010194ABABEE

5H. 010191B1B1B401010101010101019601010191C7A6ABA1010193960101010101010101D40101D8B1B1DC

6A. 010191B1CC0101019001010101959EB4010191CD9C010101010196010101010101010101010194ABABCE

6B. 010191B1B1B4010194010101B8CF96010101ECA3D5010101E999D7010101010101010101010194ABABCE

6C. A0A191B1B1C58F01D8B1C5019301960101019B99BF0101010101910101010101D8B1C501010194ABABEE

6D. 010191B1CC010101E4ABABA101019601010191C99C0101010101910101010101D8B1CC01010194ABABA1

6E. E091B1B1B1C38F0194EB0101930196C2C30101C99C0101019001910101019A0101A0EB01C2C391DCC2C3

6F. 010191B1B1C50101010101010101960101018EC99C010101E39496010101E3C2F7CE0101C2C3E4ABABA1

6G. 0101E4ABCE0101019401010101019601010101C99C01CA0191F7B3FEBC01019FFBC0ABA1019F90C2C301

6H. 010191B1B1C50101E4EB0101010196C2C30191C99C0101010101960101010101010101010101E4ABABCE

7A. 010101D8B1C394D0E0940101B8A28F960101E9A4BE9C010194ABD19101010101010101CA01010191B1BC

7B. 010191B1B1B401019001010101959EB4010191CD9C010101010196ABCE010101010101010101E4ABABA1

7C. A0A191B1FFB48F01D8B1BC019301960101019B99BF01010101019101D3010101D8B1DC01010194ABABA1

7D. 010191B1B1B401010101010101019601A0A191C99C018F010101DAABD1CA0101D8B1B1BC010194ABABA1

7E. 010191B1B1B40101E4ABEE01010196010101F3F2A6A101010101960101010101010101CA010194ABABD1

7F. 019491B1B1CC019FE4CE0101B8A59601010193B09C010101019F96010101019FABABABCE010101010101

7G. 0101D8B1B1B4010194ABEB0191019601C2C301C99C0101018E0191010101C2F7ABABCE01010194ABABEE

7H. 010101010101010194ABCE010101960101019B99BF01010191FDF6ABCE010194FCABEE01010194ABABCE

8A. 010191B1B1B40101D8B1B1B491B19EB1CC019B99BF0101010101910101010101D8F7ABCE010194ABABA1

8B. A0A191B1B1C38F01D8B1C3018F019601010193C99C0101010101910101010101D8B1B1B4010191B1B1C3

8C. 010191B1F7CE0101E4CE01010101960101018EC99C010101D2EB96F1ABCE01C2B1BC01010101E4ABABCE

8D. 0101E00101010195D6BA010195DC8F900101BBDFDD960101C9BAAF9C0101010101960101010101E4ABCE

8E. 010191B1B1B494B6D8B1C301019F9601010101C99C010101909F96EB01019A9FABF5ABCEC2F7A1010101

8F. 019491B1B1C501F8ABEBD301019F96C2BC0101C99C01A0A1019F96018F01019FABABD101010194ABABA1

8G. 01DB91B1B1B4018FD8B1B1C3019396010101019BBF01010101019101CA010101D8B1BC01010191B1B1B4

8H. 01019001010101D3E5B1B1B4018FF0DEB1C3018F96E3010196D9BFE30101010191C2C301010194ABABA1

I also have every tile saved in an image file. You may download a zip of those tiles here The files are named by their hex value.

Here is a picture I compiled from putting tiles together....

This would be R&S left sweep from the T formation.

01.gifA0.gifA1.gif93.gif01.gif01.gif

01.gif8F.gif01.gif94.gif01.gif01.gif

01.gif93.gif92.gif96.gif01.gif01.gif

01.gif01.gif01.gif9C.gif01.gif01.gif

01.gif93.gif01.gif91.gif01.gif01.gif

01.gif01.gif01.gif01.gif01.gif01.gif

01.gif01.gif01.gif94.gif01.gif01.gif

Link to comment
Share on other sites

Yes and No. Basically "pointers" are shortcuts and/or reference points. They tell the game where on the rom things are stored. The above picture is made up of 42 images. If you look at the lines of code above that you will notice that each one is made up of 84 characters, or 42 2 digit pointers. Like anything else it just takes a little time to get into the right mindset about it and become familiar with the patterns that Tecmo used.

I fear that it will take me too long to ever understand this 'pointer' stuff and 'code' stuff. Is this very hard to do?
Link to comment
Share on other sites

Well, there still is much work to be done. Right now there are 64 plays out there. If you take into account the 18 available formation, that puts the possible number of plays over 1000.

There are two ways to go about making an editor for this: one that let's you just change the formations to whatever you want and then has you draw up the play graphic by moving tiles around or one that has plays defined already and just allows you to sub in what you want.

I'm a proponent of the second option because I don't want to see roms out there with shit plays and the first option would make changing plays quite tedious and you'd have to change the same things all the time.

Thus, I plan on releasing roms with the formations changed. For example, one rom will be all plays from the T formation. We can find out through testing what works and what does not. For example, it wouldn't be worth our time if the change of the play causes a Fake Reverse type pause that causes the play to get killed all the time or if changing the play causes the game to error out or defy football rules like a pass beyond the line of scrimage.

Thus, you can e-mail me, AIM me, or PM me if you want to get involved in this.

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