Jump to content

  • Log in with Facebook Log in with Twitter Log In with Google      Sign In   
  • Create Account

facebook youtube twitter


Search Articles


Recent Status Updates

  • Photo
      07 Oct
    keisertroll

    Broadcast classic TV channels have quickly moved on from reverse mortgage commercials to parent steerage and burial commercials.

View All Updates

Recent Posts

Recent Topics

Has anyone completed a season with all 30 teams on MAN?

Tecmo Super Bowl III Today, 01:57 AM
I always play TSB3 with a bunch of friends, enough to stack a division so we can play each other a lot during the season.  This is our way of making the game much more challenging than the AI.  It also happens to be crazy fun to us.  I got to wondering if anyone has ever played wit...
Full topic ›

Baseball Simulator 1.000 (SNES)

Other Games Yesterday, 10:44 PM
Any Baseball Simulator fans here?  Having played around with this game for a number of years, I have basically devised a way to incorporate real players into the game with their seasonal statistics coming out surprisingly accurate.  On top of the realism, it's just fun to play, especial...
Full topic ›

Tecmo Super Bowl with TSB II & III Hacks

Tecmo Super Bowl I Yesterday, 01:41 PM
I noticed a thread by DogTag where he was possibly trying to get 32 team ROM for the SNES version. I was wondering if anyone knows how or would/ could  be able to incorporate some hacks from TSB II and III. Ones I would like to see are   -switching sides after each quarter, in one playe...
Full topic ›

4 Sport Dynasty League MLB NFL NBA NHL w/Prospect Drafts

Off-Topic Yesterday, 12:27 AM
We'd Love to have YOU aboard and you heard it right! Trade your studs from one sport to another! We also run MLB NHL NBA NFL Drafts EVERY YEAR for EVERY SPORT! Football runs H2H: Roster Positions:     QB, WR, WR, WR, RB, RB, TE, W/R, W/R/T, K, DEF, BN, BN, BN, BN, BN, BN, BN, BN, B...
Full topic ›

Posting Slowness

Website Feedback 21 Oct 2014
Turns out that the outgoing email server was having problems so anytime you tried to post in a thread where someone was watching or it generated an email, the server would pause. I think this is now fixed.
Full topic ›
- - - - -

Create Your Own Defenses

defense hack jstout motion xplozv

There has been a bit of talk about motion recently. Here was a fairly indepth guide on the subject from xplozv.
The original thread -> http://tecmobowl.org...r-own-defenses/


Here is a guide I just wrote on how to create your own defenses. This is based off of Jstout's awesome guide "NES Play Design Info", which you'll find a few topics down. I spent a hell of a lot time studying that. Soooo MUCH thanks goes out to Jstout for that. My guide breaks down things even further dealing with everything that I learned from it. It covers placing your formation as you have drawn it up. You'll be able to create your own defense with Pre-snap movement. I also list some important codes for Post-snap instructions as well. My guide is spread across each TSB1, that is NES, SNES, & the GENESIS version, including how to calculate their pointers. With that all said, the guide is below and feel free to ask any questions.

Field Placement, Pre-snap Movement, & Post-snap Instructions
by Xplozv (based on Jstout's great guide "NES Play Design Info")

Jstout's guide can be found here: http://tecmobowl.org...ay-design-info/

Formats:

No Pre-snap movement --- Placement, Y coordinate, X coordinate, Stance

With Pre-snap movement --- Placement, Y coordinate, X coordinate, Shift, Time, Move, Y coordinate, X coordinate, Stance
(only one exception that we will get to later)


Placement

D0 Command (Absolute)

This command can place you anywhere on the field. You only use it once per player and only to start the instructions. There is only one CON with this command. If you are not careful your player will line up out of bounds depending upon which hashmark the ball is placed on. This is where the D1 command comes in.

D1 Command (Relative)

This command is only used in the original for WRs & CBs. That is because they line up close to the sideline all the time. The D1 command keeps them in bounds regardless of where the ball is placed. It is relative to the middle of the field instead of the ball like D0 is. If you use D1 for more than CBs, most of your defense will not line up with the offense if the offense is on the opposite hash, making your new creation useless.

*** Next, we will talk about coordinates. Remember 1yd is x08(hex), 1/2yd is x04(hex), 1/4yd is x02(hex) and so forth. ***

Y Coordinates

Imagine a vertical line from sideline to sideline. The ball is considered the center, or midpoint, of that line. The ball's "Y" is always "F0", which is where the Center & QB is always going to line up. If you're planning to match up your DL to the OL, Here are the Y coordinates of the OL on the original TSB1(nes, snes, & genesis) :

LT= "D8" LG="E4" C="F0" RG="FC" RT="08"

They line up exactly 1 1/2yds away from each other. Here's how we know that:

Add in hex: D8 + 08 = E0 + 04 = E4;
Add in hex: E4 + 08 = EC + 04 = F0;
Add in hex: F0 + 08 = F8 + 04 = FC;
Add in hex: FC + 08 = 04 + 04 = 08;

*** D0 & D1 differ in Y coordinates!!!!!! ****

D0 command is as follows:

Top of the screen sideline is about "B8", Bottom of the screen sideline is about "38", with the ball always being the middle at "F0". Remember what I mention about the D0 command earlier. When the ball is on top hash, B8 will line your player up out of bounds, and when the ball is on the bottom hash, 38 will line up your player out of bounds. I usually go no further up than about "C0 to C8" which will put your player covering the slot area just inside the CB at the top. To give you an even better idea of how high that is on the field, the FS has a default Y coordinate of C8.

D1 command is as follows:

Top of screen sideline is about "40", Bottom of screen sideline is about "C8". The only Y coordinate for the D1 command that you really need to use are "36" which is for the CB at the top of the screen(RCB) and "C0" which is for the CB at the bottom of the screen(LCB) these are their default values.

X Coordinates

*** You have to really pay attention to these when we get to movements & shiftts(pre-snap & post-snap). ***

Imagine a horizontal line from endzone to endzone. The ball is the center of this line, however, the ball is now "00" instead of "F0". "00" is the neutral zone for all players not to cross. By default all players are lined up 1yd off of the ball (08), with the center being the only exception, he's 3/4yd off of the ball (06). By default, the farthest players are the safeties at 10yds (50). X coordinates use what I like to call "Scale 1" and "Scale 2" measurements. Here are the scales in 1yd increments away from the ball (15yds in length).

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Scale 1: 08 10 18 20 28 30 38 40 48 50 58 60 68 70 78


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Scale 2: F8 F0 E8 E0 D8 D0 C8 C0 B8 B0 A8 A0 98 90 88


*** Scale 1 only affects the placements commands D0, D1, and the move command D7 ***

*** Scale 2 affects the move commands D7, D8, & D9 ***

Stance

The stance is always the ending of field placement. Either you're down, which is "EA" or you're standing, which is "EC". Simple as that.


How to Apply? Practice!!!

Let's have fun with a couple of default instructions and see what we can come up with.

Reading Field Placement Instructions

Default for FS is "D0 C8 50 EC". This means place(D0) 5yds above ball(C8) 10yds off the ball(50) standing(EC)
Default for LC is "D1 C0 28 EC". This means place(D1) at bottom sideline(C0) 5yds off the ball(28) standing(EC)
Default for NT is "D0 F0 08 EA". This means place(D0) even with ball(F0) 1yd off the ball(08) down(EA)

Easy, huh? That is basic field placement without pre-snap movement. My advice and what has been a huge help to me is to find defensive playbook you like and/or draw your defensive formation on paper and then mark off the yards of where you want the players to line up.


Pre-snap Movement (EB, ED, 80-8A are the shift commands)

The Shift commands must come after the X coordinate and before the stance. The Shift commands are always followed by Time in secs(in hex), x14 is 1 second. This tells the player when exactly to begin shifting. The timing of the shift is very important because it is the difference in the defense looking professional or like a fire broke out. The is snapped by COM & COA in about 6-8 secs just to give you an idea.

80 - 8A Command (only exception to the pre-snap format above)

On offense, this is the Motion command. On defense is the is Follow command. The defender will follow the offensive player that you choose, everywhere that he goes. If that offensive player does not move, the defender will go line up even with him (just Y coordinate; X coordinate is not affected--- if 5yds back, will stay 5yds back). Time then Stance immediately follows this command. "8" is followed by the player chosen. Here are the players:

QB=0, HB=1, FB=2, WR1=3, WR2=4, TE=5, C=6, LG=7, RG=8, LT=9, RT=A

For example, our FS, "D0 C8 50 83 28 EC" means place(D0) 5yds above ball(C8) 10yds off of the ball(50) follow WR1(83) in 2 secs(28) standing(EC).

*** With this shift command, the player will start in the down position and finish in the down position regardless of what stance you choose. ***

EB & ED Commands

These shift commands are also followed by time and stance but differently. Unlike the 80-8A command, YOU must tell the player exactly where to go. We do that with the move commands D7, D8, & D9. You must do this after time and before the stance. Here is a couple of examples of the EB & ED commands with the FS again:

"D0 C8 50 EB 3C" & "D0 C8 50 ED 3C" both mean the same thing: place(D0) 5yds above ball(C8) 10yds off the ball(50) shift(EB, ED) in secs(3C)

So, what's the difference? With "EB", player starts in down position and finishes in whichever stance you choose. With "ED", player starts in standing position and finishes in whichever stance you choose. Use "ED" for LBs and DBs and use "EB" for the DL to give the best look.

D8 Command (Absolute ---Exact spot on field)

D8 move command along with the D7 command is what you're probably going to use most often. D8 command uses D0's Y coordinates and Scale 2 X coordinates. Let's use our same FS as an example:

"D0 C8 50 ED 3C D8 C8 D8 EC" now means place(D0) 5yds above ball(C8) 10yds off of the ball(50) shift from standing(ED) in 3 secs(3C) move to exactly(D8) 5yds above ball(C8) 5yds off the ball(D8) standing(EC)

Our first pre-snap movement!!! We moved our FS 5yds closer to the Line of Scrimmage, while keeping him 5yds above the ball. Now let's move him again:

"D0 C8 50 ED 3C D8 F0 D8 EC" now means place(D0) 5yds above ball(C8) 10yds off of the ball(50) shift from standing(ED) in 3 secs(3C) move to exactly(D8) even with the ball(C8) 5yds off the ball(D8) standing(EC)

Now we moved our FS even with the ball and 5yds closer to the Line of Scrimmage from his default position.

D9 Command (Relative to middle of field)

D9 uses D1's Y coordinates and Scale 2 X coordinates. Use of the D9 command will be a rarity as the D7 & D8 command can pretty much make it obsolete. I personally don't use it at all. Mainly use it for CBs. Here is our LCB as an example:

"D1 C0 28 ED 3C D9 C0 F8 EC" means place(D1) at bottom sideline(C0) 5yds off of the ball(28) shift from standing(ED) in 3 secs(3C) move relative(D9) to bottom sideline(C0) 1yd off of the ball "press coverage"(F8) standing(EC)

D7 Command (Relative to player's position)

D7 move command offers the most options. D7 is relative to your player's position. Where your player is already located is "00" for both Y & X coordinates. D7 also uses Scales 1 & 2 as both Y & X coordinates.

*** When you want to move your player down or forward, use Scale 1. When you want to move your player up or back off the ball, use Scale 2. ***

*** If you are only going to adjust the Y coordinate, the X coordinate will be "00". If you are only going to adjust the X coordinate, the Y coordinate will be "00". ***

Here is a few of the many possibilities:

Remember our FS that we lined up even with the ball and 5yds back? "D0 C8 50 ED 3C D8 F0 D8 EC" Now we can do that same thing with the D7 command.

Here goes: "D0 C8 50 ED 3C D7 28 28 EC" place(D0) 5yds above ball(C8) 10yds off the ball(50) shift from standing(ED) in 3 secs(3C) move from current position(D7) move down 5yds(28) move forward 5yds(28) standing(EC)

Now let's keep him 5yds above the ball and move him back 5yds so that he will be 15yds off of the ball.

Here goes: "D0 C8 50 ED 3C D7 00 D8 EC" place(D0) 5yds above ball(C8) 10yds off the ball(50) shift from standing(ED) in 3 secs(3C) move from current position(D7) don't adjust Y coordinate(00) move back 5yds(D8) standing(EC)

Finally let's move him down even with the ball and keep him 10yds back.

Here goes: "D0 C8 50 ED 3C D7 28 00 EC" place(D0) 5yds above ball(C8) 10yds off the ball(50) shift from standing(ED) in 3 secs(3C) move from current position(D7) move down 5yds(28) don't adjust X coordinate(00) standing(EC)

Folks, that is Field Placement & Pre-snap Movement in a nutshell. On to the Post-snap Instructions.


Post-snap Instructions

Now that you have gotten the hang of the move commands D7, D8, & D9, it's time to use them. Immediately after choosing your stance you must put postsnap instructions because defense doesn't have formation pointers like the offense. So set your player to move where you want them to with the move commands then you can give them roles or assignments. Let's use zone defense as an example. To stop in a zone coverage, the instruction is "FF EC BD".

Here goes, using the RILB, who from his default position(without pre-snap movement) will drop into a 5yd zone in the middle of the field:

"D0 E0 18 EC D8 F0 D8 FF EC BD" place(D0) 2yds above ball(E0) 3yds off the ball(18) standing(EC) move to exactly(D8) even with snap of ball(F0) 5yds off the ball(D8) stop and face QB or ball "zone"(FF EC BD)

&

"D0 E0 18 EC D7 10 F0 FF EC BD" place(D0) 2yds above ball(E0) 3yds off the ball(18) standing(EC) move from current position(D7) move down 2yds(10) move back 2yds(F0) stop and face QB or ball "zone"(FF EC BD)

will both give you that same result.

Now I will give you a list of instructions(nes, snes, & genesis) you can use once you get your players where you want them.


MAN TO MAN NES SNES GENESIS

HB FF 04 BE FF 93 FC FF 00 03 96 9C
FB FF 08 BE FF 97 FC FF 00 03 96 A4
WR1 FF 0C BE FF 9B FC FF 00 03 96 AC
WR2 FF 10 BE FF 9F FC FF 00 03 96 B4
TE FF 14 BE FF A3 FC FF 00 03 96 BC


OTHER ROLES NES SNES GENESIS

RUSH STRAIGHT FF AD AA FF 3C E9 FF 00 03 6F EC
RUSH FOLLOW FF BC AA FF 4B E9 FF 00 03 70 06
MIRROR BALL CARRIER FF C2 AA FF 51 E9 FF 00 03 70 10
ZONE COVERAGE FF EC BD FF 7B FC FF 00 03 96 6C
DEEP COVERAGE FF 18 BE FF A7 FC FF 00 03 96 C4

*** When it comes to Man to Man codes, please move you defender back 3 to 7 yards back before putting in the Man to Man instructions. Because the player sits still for about 3 tecmo seconds before they move from their presnap position. So if you use right away after the stance, that player will be wide open for a good gain before the defender even makes a move. This is the reason that by default the CBs lined up 5yds off of the ball to compensate for this. ***

Now it is time to place all these instructions somewhere to see your new defensive plays.

The defense instructions start at xA010(NES), x165E8F w/o header(SNES) x16608F w/header(SNES), x35AA2(GENESIS). They all start with special teams. So it is safe to start overwriting the original instructions starting at xA606(NES), x16602A w/o header(SNES) x1661AC w/header(SNES), x36172(GENESIS). I personally suggest you start with the nes version first, then go to the other two. Save the GENESIS for last because putting in its instruction is nothing like the NES or the SNES. I will have section on the GENESIS all its own. I also FF out a section of the original instructions so that I can see my own clearly not to make any mistakes.

When open a hex editor and go to these address given for a particular system, make note of the address you start at for each of those players' instructions. We will need to convert those addresses to pointers so the game knows where to look for instructions. A word to the wise, type in your instructions in this order, RE, NT, LE, ROLB, RILB, LILB, LOLB, RCB, LCB, FS, SS. This is to make things less confusing because when you go to type in your pointers, they will need to be in that order, otherwise a DL maybe lining up against a WR instead of the CB.

Example, Nes: your first instruction goes in at xA606. Subtract x10(in hex) to get "A5F6", now swap the bytes around to get "F6A5". F6A5 is your pointer for that player's instructions. Make note of your pointers for each of the 11 players on defense for that play.

Example, Snes: your first instruction goes in at x16602A w/o header(nearly all roms on the site will not have headers) Subtract x200(in hex) to get "165E2A", now drop first two digits(1 byte) to get "5E2A", now add x8000(in hex) to get "DE2A", now swap them to get "2ADE". 2ADE is your pointer for that player's instructions. Make note of your pointers for each of the 11 players on defense for that play.

Example, Genesis: your first instruction goes in at x36172. Add three zeros to the beginning to get "00036172". 00036172 is your pointer. The Genesis is by far the easiest when it comes to pointers because is uses absolute addressing. Your address or offset is the pointer. You just convert it to long word by add 3 zeros to the beginnig. And that is all that is easy on the Genesis.

Once you have all your pointers, it is time to type them where they go, but first, we must set our rom to have 8 set defenses(it is easier that way). I normally use play#s 04, 05, 06, 07, 08, 09, 0A, & 0B(in order: up a, left a, right a, down a, up b, left b, right b, down B)(remember Genesis top plays are b and bottom plays are a). Plays 00, 01, 02, & 03 are for special teams. So you need to copy and paste the following code(the spaces included) using a hex editor in the following addresses:

1DC10x (NES), x161A5F w/o header(SNES), x161C5F w/header(SNES), x3C8D0(GENESIS)

Set Def Plays

04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B 04 05 06 07 08 09 0A 0B


Now let's type our pointers for each play. Let's calculate Up + A(play 04) :

NES= play # * 16(in hex) + 6010 = address where to type in pointers (RE, NT, LE, ROLB, RILB, LILB, LOLB, RCB, LCB, FS, SS)

so: 04 * 16 = 58. 58 + 6010 = 6068. "6068" is the address where you type your pointers for play# 04. Repeat for each play.

SNES(w/o header)= play# * 16(in hex) + 164725 = address where to type in pointers (RE, NT, LE, ROLB, RILB, LILB, LOLB, RCB, LCB, FS, SS)

so: 04 * 16 = 58. 58 + 164725 = 16477D. "16477D" is the address where you type your pointers for play# 04. Repeat for each play.

SNES(w/ header)= play# * 16(in hex) + 164925 = address where to type in pointers (RE, NT, LE, ROLB, RILB, LILB, LOLB, RCB, LCB, FS, SS)

so: 04 * 16 = 58. 58 + 164925 = 16497D. "16497D" is the address where you type your pointers for play# 04. Repeat for each play.

GENESIS= play# * 2C(in hex) + 399FC = address where to type in pointers (RE, NT, LE, ROLB, RILB, LILB, LOLB, RCB, LCB, FS, SS)

so: 04 * 2C = B0. B0 + 399FC = 39AAC. "39AAC" is the address where you type your pointers for play# 04. Repeat for each play.


Genesis Mini Extra Guide

If you want to edit the Genesis plays, be prepared to be bold. When you make NES defenses or offenses, it is easy to convert them to SNES plays just by changing the appropriate instruction I gave in the list. The placements, shifts, move commands, x & y coordinates will be exactly the same as the NES. The same goes for the Genesis as all 3 systems use the exact same ones except for what I listed. Then, you just have to make your pointers for each system. With that said, here is the difference when it comes to the GENESIS for typing in those instructions. Remember our FS again? I will show you instructions for the SS this time instead, in all 3 systems.

NES: D0 18 50 ED 3C D7 28 28 EC FF 18 BE

SNES: D0 18 50 ED 3C D7 28 28 EC FF A7 FC

GENESIS: 00 D0 00 18 00 50 00 ED 00 3C 00 D7 00 28 00 28 00 EC 00 FF 00 03 96 C4


The Genesis instructions must start with "00". There is also "00" between each byte of instruction you are going to type in. The exceptions to that is the instructions in the list above in the guide, the placement command D0, & move commands D7, D8. The instructions in the list above can just be typed in as is. However, when it comes to D0, D7, & D8 commands, sometimes a "FF" byte is used instead of "00". D1 & D9 commands are not affected by this and will use "00" like everything else that does.

*** Here are those circumstances: If your Y coordinate or X coordinate begins with a letter like "C8", you must us "FF" in front of it instead of "00". If you don't do this, your player will now show up on the field, and the game will play with only the players you typed in correctly. ***

Example using our FS:

"D0 C8 50 ED 3C D7 00 D8 EC FF EC BD"

would be this in Genesis:

"00 D0 FF C8 00 50 00 ED 00 3C 00 D7 00 00 FF D8 00 EC 00 FF 00 03 96 6C"


Closing

That covers the basics of everything for each system. I will be writing an advanced guide for those who want to dig even deeper into making pro style defenses. I will be covering my defenses which are usually much more complicated than all I just explained. It will deal with randomizing if a player shifts or not for a given play or how often he does. Giving a defensive player 3 to four different roles on one particular play so the offense will never know what each player is going to do regardless of the formation the opponent sees. Randomize whether a defender will break their pass coverage responsibility to help in run support. I'll even throw in a few offensive things like, shifting a QB from under center into the shotgun. All this and more will be in my next guide. Feel free to PM me if you have any questions.


Much Thanks goes to Jstout for his guide NES Play Design Info

which is here: http://tecmobowl.org...ay-design-info/

I studied that for many many hours doing a lot of testing.
  • 0


0 Comments