Tecmonster Posted June 14, 2014 Share Posted June 14, 2014 So I figured a possibly very easy way to hack kickoffs to make them longer, but I have no idea where the computer accesses the code for kickoffs. My thought is that the computer must have a minimum time and maximum time allowed before it "hits the button" to kickoff, probably expressed in just a couple different bytes. I timed how long it takes the kick meter to move from completely empty to completely full -- 0.65 seconds, or something very close to that. So, if we set the "minimum time" byte to something that equals about 0.40 seconds in hex, and the "maximum time" byte to 0.65 seconds, that should work, right? Does anyone know where the computer accesses the code that directs its kickoffs? Quote Link to comment Share on other sites More sharing options...
bruddog Posted June 14, 2014 Share Posted June 14, 2014 http://tecmobowl.org/topic/11291-increase-cpu-kickoff-length/ Quote Link to comment Share on other sites More sharing options...
Tecmonster Posted June 15, 2014 Author Share Posted June 15, 2014 I've read that thread but that hack conflicts with your moving grapples hack (use same space) and there's not quite enough space elsewhere to add it (like, two bytes shy). Quote Link to comment Share on other sites More sharing options...
bruddog Posted June 15, 2014 Share Posted June 15, 2014 Here is something you can use...I 'm not sure if this will break the computer ever attempting an onside but I'll let you test that. SET(0x029281,0x0718692620CBDAA5732904D0164C9DA4) This will make the possible computer bar more humanish. The range will be from the back of the endzone to 2 yards in front. If you change the 07 to 0F and the 26 to 1E the range will be from the back of the endzone to the ~15 tommy2teeth and DFM 2 Quote Link to comment Share on other sites More sharing options...
Tecmonster Posted June 15, 2014 Author Share Posted June 15, 2014 Awesome, thanks bruddog! It doesn't seem to affect onside kicks at all. Can a similar thing be done for computer punts? tommy2teeth 1 Quote Link to comment Share on other sites More sharing options...
bruddog Posted June 15, 2014 Share Posted June 15, 2014 Probably...might want a bigger range on punts. Quote Link to comment Share on other sites More sharing options...
Tecmonster Posted June 16, 2014 Author Share Posted June 16, 2014 Just donated a little cash through your paypal button. Can you point me to the code that controls computer punts? Quote Link to comment Share on other sites More sharing options...
Tecmonster Posted June 20, 2014 Author Share Posted June 20, 2014 Well, with my very limited skill with FCEUX, the computer's punt meter instructions SEEM to start at x3cb6b, where the next 16 bytes are 8a 18 69 05 aa e0 2a 90 f1 b0 e8 38 66 2a 86 00. IF I'm on the right track, can anyone help me figure out what I might need to do next? My goal is edit the code so that the computer will only punt when the kick meter is at least 50% full. Quote Link to comment Share on other sites More sharing options...
TheRaj Posted June 20, 2014 Share Posted June 20, 2014 Well, with my very limited skill with FCEUX, the computer's punt meter instructions SEEM to start at x3cb6b, where the next 16 bytes are 8a 18 69 05 aa e0 2a 90 f1 b0 e8 38 66 2a 86 00. IF I'm on the right track, can anyone help me figure out what I might need to do next? My goal is edit the code so that the computer will only punt when the kick meter is at least 50% full. I thought about doing this, but after running 2 season of a COM vs COM league I found that the CPU logic knows more then just how much power it needs to kick at. I've seen some low power punts, but they would fall 5-10 yards from the endzone wich is a really good punt in Tecmo. And since Punt Returns are risky because of fumble it work out quite well. My bigger problem with punts is that they are very hard to return, esp when watching a COM game. So what I've done for the 2015 TFO Season (as per http://tecmobowl.org/topic/4162-shorter-punts-rom-hack/) was change the boost the kicking team receives to their speed. I halved the speed boost instead of fully removing it and find it makes punts a little more interesting: 0x8164: Change E2 06 E3 04 to E2 03 E3 02 (This boosts the punter himself)0x8170: Change E2 06 E3 04 to E2 03 E3 02 (This boosts the rest of the punt defense team, aside from the punter) Note that the code shown above is slightly different then the code given in the Shorter Punts link I provided and that is because I didnt want to fully remove the speed boost of the kicking team. If you want to fully remove it (or change the speed higher or lower) you would change the 2 fields that I modified (0x8165 and 0x8167; 0x8171 and 0x8173). So you might want to try this and see if you like it or not. Just a suggestion as I too was looking to improve punts and found this to be an interesting alternative. TFO COMMISHTHERAJhttp://tfofootball.weebly.com buck 1 Quote Link to comment Share on other sites More sharing options...
TheRaj Posted June 20, 2014 Share Posted June 20, 2014 I forgot to say; you could also (as per the same article: http://tecmobowl.org/topic/4162-shorter-punts-rom-hack/) make a punt kick longer and shorter too. 0x29369 is the area. F0 is what it is set to but if you increase it (to a max of FF) you can increase the punts overall distance for all punters. buck 1 Quote Link to comment Share on other sites More sharing options...
bruddog Posted June 20, 2014 Share Posted June 20, 2014 Just donated a little cash through your paypal button. Can you point me to the code that controls computer punts? You were not in the right spot.... L_21_9313= 0x29323 L_21_9313: ; start of COM punt timing logic JSR L_D8F7 ; make random # more random number save into A register AND #$1F ; make random 0 to 1F CLC ADC #$0A ; make random 0x0A to 0x29 JSR L_21_9387 ; ? LDA $3B ; load random number CMP #$BF ; BCS L_21_9336 ; random > 0xBF jump to other random loop L_21_9324: LDA $3C ; load random number AND #$0F ; make random 0x00 to 0x0F JSR L_21_9387 ; ? LDY #$1D LDA ($AE),Y ; load something from player ram CMP #$30 BCC L_21_9324 ; < less 30 loop back to 9324 JMP L_21_933D ; jump to punt sequence L_21_9336: LDA $3C ; load random number AND #$1F ; make random 0 to 0x1F JSR L_21_9387 ; ? L_21_933D: ; start of punt JSR L_21_B11A ; change player to COM control and defense Don't have time to go through how to change it at the moment so either wait until I do or see if you can figure it out until then. Quote Link to comment Share on other sites More sharing options...
Tecmonster Posted June 21, 2014 Author Share Posted June 21, 2014 OK, so I experimented quite a bit with a few different bytes, sometimes with combinations, and I think I finally stumbled upon a good setup (dumb luck). Simply by changing the byte at x2932a to 28, only about 5% of the punts will be kicked at less than 50% power. I punted roughly 60 times using a save state file in coach mode, and only four of those punts were kicked below the 50% level. The rest ranged from 50-100%. Thanks for the help bruddog. I have no idea why that edit works the way it does, but I love the result. Quote Link to comment Share on other sites More sharing options...
bruddog Posted June 21, 2014 Share Posted June 21, 2014 Be careful re-loading the same save state as you will constantly get the same result buck 1 Quote Link to comment Share on other sites More sharing options...
Tecmonster Posted June 21, 2014 Author Share Posted June 21, 2014 Damn, I was afraid that might skew the results, but it's the fastest way to test. Quote Link to comment Share on other sites More sharing options...
Tecmonster Posted June 21, 2014 Author Share Posted June 21, 2014 By the way, very heavily based on bruddog's code above, here are the command lines so that the computer's kickoff ranges from the 8 yard line to 3 yards deep in the endzone. SET(0x02a538,0xB8)SET(0x029281,0x0718692520CBDAA5732904D0164C9DA4) Accordingly, the deepest a human will be able to kick the ball is 3 yards deep in the endzone. SBlueman 1 Quote Link to comment Share on other sites More sharing options...
SBlueman Posted February 9, 2021 Share Posted February 9, 2021 On 6/21/2014 at 11:07 AM, Tecmonster said: By the way, very heavily based on bruddog's code above, here are the command lines so that the computer's kickoff ranges from the 8 yard line to 3 yards deep in the endzone. SET(0x02a538,0xB8) SET(0x029281,0x0718692520CBDAA5732904D0164C9DA4) Accordingly, the deepest a human will be able to kick the ball is 3 yards deep in the endzone. This code is perfect, I just replaced the code I had for this one on the update I am cleaning up. I'll be posting it up later. Thanks @Tecmonster! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.