Jump to content

Turn off injuries in SKP mode


bruddog

Recommended Posts

On 5/21/2017 at 11:16 PM, Tundrayeti311 said:

@bruddog thank you for looking at it! The game is freezing on the scoreboard screen during auto skip games. It has gotten through a few quarters but not through an entire game yet.

 

UPDATE:  This hack works as intended (user error previously, somehow managed to apply 0xEAEAEAEA)

 

Tested:

1. Applied hack to TSB_TPC; 'game start' on one manual skp v skp: OK; autoskip through Week 17; went through Season Team Data and confirmed no injuries on any team

 

2. Applied hack to TSB_TPC; loaded previous save state w/ particular team lineups, e.g. QB @ NE = Wilson; 'game start' on one manual skp v skp: OK; autoskip through Week 17; went through Season Team Data and confirmed no injuries on any team or noticed any lineup reset due to injuries

 

3. Applied hack to custom rom TSB_TPC_Tapmeter + P2_OnsideKick_Rcvr + Player_2; loaded previous save state w/ particular team lineups, e.g. QB @ NE = Wilson; 'game start' on one manual skp v skp: OK; autoskip through Week 17; went through Season Team Data and confirmed no injuries on any team or noticed any lineup reset due to injuries

 

@bruddog thanks again, awesome stuff!

Edited by Tundrayeti311
Link to comment
Share on other sites

  • 3 months later...
On 5/20/2017 at 8:04 PM, bruddog said:

This is untested but I'm pretty sure this should do the trick....

 

@TheRaja @Tundrayeti311 

 

SET (0x17AD6, 0xEAEAEA)

SET (0x17CB0, 0xEAEAEA)

SET (0x17DCD, 0xEAEAEA)

 

@SBlueman you can add this to the list if its verified to work. 

 

 

@bruddog, is there significance to the sets of EA's?

like, is it Average / Good / Excellent is relation to their chances of getting injured?

I don't want to so much turn off SKP injuries, but lessen them quite a bit at a friend's request.

The default values I'm seeing are EE, C1, 03

I've tried changes like F5. C8. 0A.

Any changes seem to shut them off completely.

 

 

 

 

Edited by gojiphen malor
Link to comment
Share on other sites

6502 opcodes.txt

 

"EA" is "no operation".  it is an opcode for the NES processor chip.  

 

it's like a "blank" byte of code that does nothing.   hackers use it to blank out sections of code/computations sometimes.  

 

EE, C1, 03 are actual 6502 opcodes doing something to memory or some logic stuff.

 

 

 

Edited by buck
Link to comment
Share on other sites

2 minutes ago, buck said:

"EA" is "no operation".  it is an opcode for the NES processor chip.  

 

it's like a "blank" byte of code that does nothing.   hackers use it to blank out sections of code/computations sometimes.  

 

Ahh I see. So it's pretty much ON/OFF as far as SKP injuries?  and this really is just to mask the numbers and not lessen them?

Thank you for the reply, buck. 

Link to comment
Share on other sites

43 minutes ago, gojiphen malor said:

 

Ahh I see. So it's pretty much ON/OFF as far as SKP injuries?  and this really is just to mask the numbers and not lessen them?

Thank you for the reply, buck. 

It's not just on and off. This was just an easy way to turn them off. The values you listed aren't the actual injury chance values. There are 3 different injury checks the game does in sim mode

 

1. Check injury on SIM KR.                  Chance = 0.28% per tackle on return

2. Check injury on SIM PR.                  Chance = 0.28% per tackle on return

3. Check injury on SIM tackle             Chance= 0.13% per tackle 

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

 

$3B= Rand_Num_1

$3C= Rand_Num_2

$03C1= PLAYER_INJ_STATUS          ; 0= false, 1 = true

 

The code is as follows for kick and punt returns:

                                                                                      ; IS PLAYER INJURED? = (1-0.93) * (1-0.96) = ~0.028 = 0.28% 

 

      LDA Rand_Num_1                                               ; load random 1                          

      CMP #$11                                                              ; is random >= 17  Chance = [1 - (17/256)] =93%

      BCS @Loop1                                                         ;  NO->CHECK FOR PR FUMBLE

      LDA Rand_Num_2                                                ; load random 2

      CMP #$0A                                                              ; is random >= 10  Chance = [1 - (10/256)] =96%

      BCS @Loop1                                                        ; NO->CHECK FOR PR FUMBLE

      INC PLAYER_INJ_STATUS                                 ; SET PLAYER INJURED = TRUE

 

THe code is the same for normal SIM plays but the CMP $0A is CMP 0.05

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

So search in the code for

SIM PR/KR INJURY CHECK:

A5 3B C9 11 B0 09 A5 3C C9 0A B0 03

SIM NORMAL INJURY CHECK
A5 3B C9 11 B0 09 A5 3C C9 05 B0 03

 

Do the math as indicated above to figure out what to change those values to what you want. 

Link to comment
Share on other sites

2 hours ago, bruddog said:

It's not just on and off. This was just an easy way to turn them off. The values you listed aren't the actual injury chance values. There are 3 different injury checks the game does in sim mode

 

1. Check injury on SIM KR.                  Chance = 0.28% per tackle on return

2. Check injury on SIM PR.                  Chance = 0.28% per tackle on return

3. Check injury on SIM tackle             Chance= 0.13% per tackle 

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

 

$3B= Rand_Num_1

$3C= Rand_Num_2

$03C1= PLAYER_INJ_STATUS          ; 0= false, 1 = true

 

The code is as follows for kick and punt returns:

                                                                                      ; IS PLAYER INJURED? = (1-0.93) * (1-0.96) = ~0.028 = 0.28% 

 

      LDA Rand_Num_1                                               ; load random 1                          

      CMP #$11                                                              ; is random >= 17  Chance = [1 - (17/256)] =93%

      BCS @Loop1                                                         ;  NO->CHECK FOR PR FUMBLE

      LDA Rand_Num_2                                                ; load random 2

      CMP #$0A                                                              ; is random >= 10  Chance = [1 - (10/256)] =96%

      BCS @Loop1                                                        ; NO->CHECK FOR PR FUMBLE

      INC PLAYER_INJ_STATUS                                 ; SET PLAYER INJURED = TRUE

 

THe code is the same for normal SIM plays but the CMP $0A is CMP 0.05

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

So search in the code for

SIM PR/KR INJURY CHECK:

A5 3B C9 11 B0 09 A5 3C C9 0A B0 03

SIM NORMAL INJURY CHECK
A5 3B C9 11 B0 09 A5 3C C9 05 B0 03

 

Do the math as indicated above to figure out what to change those values to what you want. 

 

Thank you!

 

This was comical :59bdb991e6867_TESTGojisBASEROMNOHACKS-0.thumb.png.af046dc3cbd2e99ab097db9c05a4a6f8.png

 

Definitely on the right track now thanks to your help!

 

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