Tecmonster

JBI Hacks

20 posts in this topic

I love hacks that improve gameplay without adding complexity for the human player (to keep the simplistic Tecmo feel, vs. Madden), like:

 

Defensive pursuit angles based on Quickness---will be much harder to juke defenders with high quickness ratings (though I would prefer pursuit angles be tied to HP instead of Quickness)

 

Dive animation timing based on Quickness---defenders with a high quickness rating will dive faster (again, I would prefer HP instead of Quickness there)

 

Single Defender JJ Ints based on Quickness and Coverage (INT is now labeled COV)---If defender is not quick enough, he will whiff more often. If defender is quickness enough, his coverage rating gets checked. If his coverage is not high enough, he will deflect the pass, otherwise he will intercept the pass.

 

Defensive Jump/Dive for passes based on coverage rating---determines if defender is able to do either on a given play

 

Offensive Jump/Dive for passes based on receptions rating---determines if skill player is able to do either on a given play

 

COM dive tackling like SNES TSB I---COM will not make as many silly dive attempts while chasing in open field

 

AKB is now Kicking Power---controls distance of punts and FGs (AKB is hardcoded to 50 rating)

 

KA is now Kick Accuracy---controls accuracy of FGs (does nothing for punts)

 

xplozv, can your hacks fit into the 32-team rom?

Share this post


Link to post
Share on other sites

Yes they can. It depends on which hacks you have in the 32 team rom already. Some of jumps and branches would have to be changed. Which hacks would everyone most likely have in their 32 team rom? If we could poll everyone I could work around those and post all the necessary code. I am working on some other big hacks that definitely won't fit though unless their isn't any other hacks in place.

Edited by xplozv

Share this post


Link to post
Share on other sites

Awesome!  Here are the substantial hacks w/locations in my rom, and I used this site's "base 32-team rom" to as my base (I'm excluding hacks that didn't use blank space . . . for instance, hacks where just a couple bytes were changed, formation XY location changes, etc.):


 


x29e54 (3 bytes), x2a007 (5 bytes) = PA affects completion/int probability


x29d8f (4 bytes), x29da2 (4 bytes), x29db7 (4 bytes), x2bfca (16 bytes), x2bfda (16 bytes), x2bfea (19 bytes), x2bffd (19 bytes) = Quickness is now Coverage


x08100 (9 bytes) = kick returners use their actual speed


xaadd (8 bytes) = punt returners use their actual speed


x28360  (37 bytes) = bruddog's dynamic COM vs. COM grappling


x2851b (3 bytes), x2bfa5 (35 bytes) = jstout's MAN ballcarrier vs. MAN tackler popcorning allowed


xFC90-xFE65, x21414-x21418, x21D79-x21DA9, x255FF-x25615, and x25671-x25687 = jstout's Ultra Logic


x1DA20-x1DAF9 and the code to jump to it is x288BE-x288D6 = jstout's COM find open receiver


I also added bruddog's "moving grapples" hack, but I can't find the locations or sizes for that in my notes.


 


I also used up some blank space when I created my zone read plays, but I seriously doubt those would interfere with any of your hacks above since I think the relevant changes would be in completely different sections.


 


So, what do you think xplozv, any conflicts with your hacks I listed above?


 


Thanks for your help.


 


Tecmonster

Share this post


Link to post
Share on other sites

I also added bruddog's "moving grapples" hack, but I can't find the locations or sizes for that in my notes.

I have those locations already so if these are all of them, then your rom has the necessary room. I'll post all the code this evening when I get off work.

Share this post


Link to post
Share on other sites

Here you go. Just paste all the code below into your rom.

 

 

Defensive Pursuit Based on Quickness

x28ddd=20 30 E3 EA EA
x28de5=20 64 E3 EA EA
x28ea3=20 30 E3 EA EA
x28eab=20 64 E3 EA EA

x3e340=A0 08 B1 AE AA 8A 45 70 30 08 A9 1E 18 69 20 CB DA 60 8A 20 8D DD A0 87 20 AA DD B9 54 E3 18 69 20 CB DA 60 24 22 20 1E 1C 19 16 13 10 0D 0A 07 05 03 02 01

x3e374=A0 08 B1 AE AA 8A 45 70 30 08 A9 05 18 69 20 CB DA 60 8A 20 8D DD A0 87 20 AA DD B9 88 E3 18 69 20 CB DA 60 08 08 07 07 06 06 05 05 04 04 03 03 02 02 01 01

Dive Animation Timing Based on Quickness

x2aaa8=20 50 E4
x3e460=A0 08 B1 AE AA 8A 45 70 30 06 A9 07 18 69 20 CB DA 60 8A 20 8D DD A0 87 20 AA DD B9 74 E4 18 69 20 CB DA 60 0B 0B 0A 0A 08 08 07 07 05 05 04 04 02 02 01 01

COM Dive Tackling like SNES TSB I

x28dd7=30
x28e9d=30

Single Defender JJ Ints based on Quickness and Int

x29c99=4C 90 E4 EA 4C C0 E4 EA

x3e4a0=A0 08 B1 AE 20 8D DD A0 87 20 AA DD A8 D9 A8 E4 B0 03 4C 8D 9C 4C 9D 9C 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17

x3e4d0=A0 08 B1 AE 20 8D DD A0 86 20 AA DD A8 D9 D8 E4 B0 03 4C 8D 9C 4C 9D 9C 01 01 01 02 02 02 03 03 04 06 08 0A 0C 0E 10 11

Defensive Jump/Dive for passes based on INT rating

x29be5=4C 70 E5
x29bf6=4C A0 E5 EA

x3e580=A0 08 B1 AE 20 8D DD A0 86 20 AA DD A8 A5 3D D9 8A E5 90 03 4C F9 9B 4C 43 9C 0F 21 31 40 4F 61 71 80 8F A1 B1 C0 CF E1 F1 FF

x3e5b0=A0 08 B1 AE 20 8D DD A0 86 20 AA DD A8 A5 3D D9 BE E5 90 03 4C F9 9B A5 AE 85 3E 4C EA 9B 0F 21 31 40 4F 61 71 80 8F A1 B1 C0 CF E1 F1 FF

Offensive Jump/Dive for passes based on REC rating

x299d7=4C D0 E5
x299f2=4C D0 E6 EA

x3e5e0=A0 08 B1 AE 20 8D DD A0 87 20 AA DD A8 A5 3D D9 EA E5 90 03 4C F8 99 4C FC 9A 0F 21 31 40 4F 61 71 80 8F A1 B1 C0 CF E1 F1 FF

x3e6e0=A0 08 B1 AE 20 8D DD A0 87 20 AA DD A8 A5 3D D9 EE E6 90 03 4C F8 99 A5 AE 85 3E 4C E6 99 0F 21 31 40 4F 61 71 80 8F A1 B1 C0 CF E1 F1 FF

AKB is now Kicking Power & KA is now Kick Accuracy (AKB Hardcoded to 50 Rating)

x1eea5=20 B1 20 8B 02 4B 49 43 4B 20 41 43 43 55 52 41 43 59 20 8B 42 4B 49 43 4B 49 4E 47 20 50 4F 57 45 52

x294a3=62
x29351=87

x2948a=A5 3D C9 26 EA

Edited by xplozv

Share this post


Link to post
Share on other sites

Many thanks, xplozv.  I know that takes a long time to post.  Would it be relatively easy to change the "diving pursuit" and "dive animation timing" attribute tie-in from Quickness to Hit Power (maybe just switching out two or three bytes)?  Also, how did you calibrate that?  For instance, my rom's dive timing for all defensive players is 05 (from the default of 07).  Does yours give ratings of 81-88 an 04, then 69-75 an 05, then 56-63 an 06, and so on?


 


Also, for the Kicking Power hack: I experimented with a 75 kick power guy and a 31 KP guy and found that both of them have the same max range (62 yards), so something obviously seems wrong there.


Share this post


Link to post
Share on other sites

Many thanks, xplozv. I know that takes a long time to post. Would it be relatively easy to change the "diving pursuit" and "dive animation timing" attribute tie-in from Quickness to Hit Power (maybe just switching out two or three bytes)? Also, how did you calibrate that? For instance, my rom's dive timing for all defensive players is 05 (from the default of 07). Does yours give ratings of 81-88 an 04, then 69-75 an 05, then 56-63 an 06, and so on?

Also, for the Kicking Power hack: I experimented with a 75 kick power guy and a 31 KP guy and found that both of them have the same max range (62 yards), so something obviously seems wrong there.

Defensive Pursuit Based on Quickness

24 22 20 1E 1C 19 16 13 10 0D 0A 07 05 03 02 01

08 08 07 07 06 06 05 05 04 04 03 03 02 02 01 01

Dive Animation Timing Based on Quickness

0B 0B 0A 0A 08 08 07 07 05 05 04 04 02 02 01 01

The values for each go 6, 13, 19, 25, 31, .etc. A poorly rated defender can be worse than the original values. However, if I would've started the values at their original ones, it would make nearly all defenders too good without a noticeable difference. Now you could rate great defenders as great as they really are while still having the team defense suck. I will try to use HP and see if I can fit it in the same space for you.

As far the kicking hack, I will check it out cuz that shouldn't be happening. Thanks for catching that.

Edited by xplozv

Share this post


Link to post
Share on other sites

Yeah, I totally agree with your methodology on that dive timing, effectively assigning the OG's default value of 07 to player's that have the league average rating of 50.  It makes complete sense that players rated better will dive faster than the OG, and players rated worse will dive slower.


 


For the kick power, you noted that the AKB was hardcoded to be 50, but maybe the "switch" was never made for that attribute and KP has been hardcoded to 50?  The only other possible problem I can think of is that I do have a kickoff hack installed that makes the max kickoff sail about only 3 yards deep in the endzone. That hack is at x29281 (byte changed to 07), x29284 (changed to 25), x2928e (changed to 4c 9d a4), and x2a538 (changed to b8).  It doesn't seem to me that kickoff code would affect FG code, but you would know for sure.


Share this post


Link to post
Share on other sites

I tried to cut and paste the Q for tackling speed hack in isolation and the game froze the first time someone should have tried a tackle.


Share this post


Link to post
Share on other sites

What is it about Tecmonster's rom that allows the hack to be pasted there and work, whereas it doesn't work on a regular 32 team (3-4/4-3) rom?


Share this post


Link to post
Share on other sites
On 4/8/2015 at 11:24 PM, xplozv said:

AKB is now Kicking Power & KA is now Kick Accuracy (AKB Hardcoded to 50 Rating)

x1eea5=20 B1 20 8B 02 4B 49 43 4B 20 41 43 43 55 52 41 43 59 20 8B 42 4B 49 43 4B 49 4E 47 20 50 4F 57 45 52

x294a3=62
x29351=87

x2948a=A5 3D C9 26 EA

 

This may be a dumb question,  but what do you mean by akb being hard coded at 50?

 

Is this related to the bug where akb was actually 6 for everyone?  (So now it's 50?)

 

If so, would bruddog's fix then override that? 

 

Also, using quickness for pursuit is way better than using it for coverage.   I also like it better than the better com tackling w/o diving hack.  However, messing with the 16 bytes that seem correlate to the attribute level doesn't seem to do anything.  I even set them all to ff and com still has crazy good reactions.  I used to tone that down a bit with the other hack because com yards/carry were absolute crap.

 

I want to set my scale so that the default values (1e and 05? i forget) equate to a value of 44 or 50 and work from there.  Is there something else to change with that then?  Or do those last 16 bytes have nothing to do with the player attributes? 

Edited by adscl84

Share this post


Link to post
Share on other sites
Quote

Single Defender JJ Ints based on Quickness and Int

x29c99=4C 90 E4 EA 4C C0 E4 EA

x3e4a0=A0 08 B1 AE 20 8D DD A0 87 20 AA DD A8 D9 A8 E4 B0 03 4C 8D 9C 4C 9D 9C 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17

x3e4d0=A0 08 B1 AE 20 8D DD A0 86 20 AA DD A8 D9 D8 E4 B0 03 4C 8D 9C 4C 9D 9C 01 01 01 02 02 02 03 03 04 06 08 0A 0C 0E 10 11

 

 

I like the idea of this hack...

 

but, what are the thresholds here?  I mean, what combination of Quickness and Interception is needed, for a Jump INT?  Or does anybody have an idea of what bytes to tweak to adjust the thresholds?  I

Share this post


Link to post
Share on other sites

I actually rewrote the hack I posted here because it didn't affect the JJ Ints/deflections with a cutscene. I will post the updated code as soon as I get a chance to and explain the thresholds. After testing you'll be able to fine tune them to your liking.

Edited by xplozv

Share this post


Link to post
Share on other sites
12 hours ago, xplozv said:

I actually rewrote the hack I posted here because it didn't affect the JJ Ints/deflections with a cutscene. I will post the updated code as soon as I get a chance to and explain the thresholds. After testing you'll be able to fine tune them to your liking.

 

cool, looking forward to it.  good to hear from you.

Share this post


Link to post
Share on other sites

This looks broken to me....

 

 

0x29c99
JUMP WHIFF_CHECK
NOP

0x29C9D
JUMP INT_CHECK

 

0x3E4A0

LDY #$08      ;  get player roster ID
LDA ($AE),Y    ;
JSR $DD8D    ;
LDY #$87       ; get defender quickness skill index
JSR $DDAA    ;
TAY                  ;  put skill index in y register
CMP WHIFF TABLE,Y   ; comprae skill index vs table value
BCS WHIFF      ; skill index > table value?  YES-> branch to WHIFF 
JMP $9C8D      ; do TIP CHECK  

 

WHIFF:

JMP $9C9D

 


0x3E4D0
INT_CHECK
LDY #$08        ; get actual player roster ID
LDA ($AE),Y    ;
JSR $DD8D    ;
LDY #$86       ; get player interception skill index
JSR $DDAA     ;
TAY                   ;
CMP INT_TABLE,Y    ; IS skill index > whiff table value
BCS WHIFF    ;
JMP $9C8D    ;JUMP INT CHECK

 

WHIFF:

JMP $9C9D    ;

 


Here are the ISSUES unless there is another hack that goes with this. The whiff check  will always PASS  the way its coded. A player with 06 int = skill index 0. So 0 will be in the accumulator. Then it will load 08 from the table. 0 will always be < 8. So it will never whiff.  A player with 50 int = skill index 7.  7 will ALWAYS be < 0F . This is true for all defender skill indexes so the player will never whiff. 

 

The int check has the possibility of looping endlessly. A 06 int player has a skill index = 0. 0 <1 = player whiffs.    A 13 int player has a skill index = 1. 01>=1  player should int but it jumps to 9C8D which is  0x29C9D and thus we are back at square on and this will loop endlessly.

 

 

 

WHIFF TABLE: 

08 = skill index 0 

09 = skill index 1

0A = skill index 2

0B = skill index 3

0C = skill index 4

0D = skill index 5

0E = skill index 6

0F = skill index 7

10 = skill index 8

11 = skill index 9

12 = skill index 10

13 = skill index 11

14 = skill index 12

15 = skill index 13

16 = skill index 14

17= skill index 15

 

INT_TABLE: 

01 = skill index 0 

01 = skill index 1

01 = skill index 2

02 = skill index 3

02 = skill index 4

02 = skill index 5

03 = skill index 6

03 = skill index 7

04 = skill index 8

06 = skill index 9

08 = skill index 10

0A = skill index 11

0C = skill index 12

0E = skill index 13

10 = skill index 14

11= skill index 15

 

 

 

 

Share this post


Link to post
Share on other sites

any progress on this "quickness+int for JJ int" hack?

 

 

Share this post


Link to post
Share on other sites
On 4/7/2015 at 9:24 PM, xplozv said:

Here you go. Just paste all the code below into your rom.

 

 

Defensive Pursuit Based on Quickness

x28ddd=20 30 E3 EA EA
x28de5=20 64 E3 EA EA
x28ea3=20 30 E3 EA EA
x28eab=20 64 E3 EA EA

x3e340=A0 08 B1 AE AA 8A 45 70 30 08 A9 1E 18 69 20 CB DA 60 8A 20 8D DD A0 87 20 AA DD B9 54 E3 18 69 20 CB DA 60 24 22 20 1E 1C 19 16 13 10 0D 0A 07 05 03 02 01

x3e374=A0 08 B1 AE AA 8A 45 70 30 08 A9 05 18 69 20 CB DA 60 8A 20 8D DD A0 87 20 AA DD B9 88 E3 18 69 20 CB DA 60 08 08 07 07 06 06 05 05 04 04 03 03 02 02 01 01

Dive Animation Timing Based on Quickness

x2aaa8=20 50 E4
x3e460=A0 08 B1 AE AA 8A 45 70 30 06 A9 07 18 69 20 CB DA 60 8A 20 8D DD A0 87 20 AA DD B9 74 E4 18 69 20 CB DA 60 0B 0B 0A 0A 08 08 07 07 05 05 04 04 02 02 01 01

COM Dive Tackling like SNES TSB I

x28dd7=30
x28e9d=30

Single Defender JJ Ints based on Quickness and Int

x29c99=4C 90 E4 EA 4C C0 E4 EA

x3e4a0=A0 08 B1 AE 20 8D DD A0 87 20 AA DD A8 D9 A8 E4 B0 03 4C 8D 9C 4C 9D 9C 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17

x3e4d0=A0 08 B1 AE 20 8D DD A0 86 20 AA DD A8 D9 D8 E4 B0 03 4C 8D 9C 4C 9D 9C 01 01 01 02 02 02 03 03 04 06 08 0A 0C 0E 10 11

Defensive Jump/Dive for passes based on INT rating

x29be5=4C 70 E5
x29bf6=4C A0 E5 EA

x3e580=A0 08 B1 AE 20 8D DD A0 86 20 AA DD A8 A5 3D D9 8A E5 90 03 4C F9 9B 4C 43 9C 0F 21 31 40 4F 61 71 80 8F A1 B1 C0 CF E1 F1 FF

x3e5b0=A0 08 B1 AE 20 8D DD A0 86 20 AA DD A8 A5 3D D9 BE E5 90 03 4C F9 9B A5 AE 85 3E 4C EA 9B 0F 21 31 40 4F 61 71 80 8F A1 B1 C0 CF E1 F1 FF

Offensive Jump/Dive for passes based on REC rating

x299d7=4C D0 E5
x299f2=4C D0 E6 EA

x3e5e0=A0 08 B1 AE 20 8D DD A0 87 20 AA DD A8 A5 3D D9 EA E5 90 03 4C F8 99 4C FC 9A 0F 21 31 40 4F 61 71 80 8F A1 B1 C0 CF E1 F1 FF

x3e6e0=A0 08 B1 AE 20 8D DD A0 87 20 AA DD A8 A5 3D D9 EE E6 90 03 4C F8 99 A5 AE 85 3E 4C E6 99 0F 21 31 40 4F 61 71 80 8F A1 B1 C0 CF E1 F1 FF

AKB is now Kicking Power & KA is now Kick Accuracy (AKB Hardcoded to 50 Rating)

x1eea5=20 B1 20 8B 02 4B 49 43 4B 20 41 43 43 55 52 41 43 59 20 8B 42 4B 49 43 4B 49 4E 47 20 50 4F 57 45 52

x294a3=62
x29351=87

x2948a=A5 3D C9 26 EA

@xplozv, will these codes only work with @Tecmonster's game? If not, will these codes work with 28 and 32 team games?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.