bruddog Posted July 30, 2013 Share Posted July 30, 2013 NOTE: HACK IS NOT CURRENTLY ABLE TO BE USED ON 32 TEAM ROM. Currently on the 32 team rom there is something to do with player swapping there. This a better alternative to my conditions injection program. This hack lets a league place conditions at a place in the rom so that they will be loaded at game startup. Obviously this hack is for online league play or for someone with a power pak. The downside of this hack the way it stands now is you would have to set up your starters and playbook before the game started and load them in along with the conditions. If you tried to set your guys in the team data screen they would get reset to the values below at the coin toss and you'd have to change them in game. I'm pretty sure this works as intended with no side effects but I'm sure maybe someone can find something. @ 21DAASet 0x A000E065900CB9E7BF99FD65C8C01390F560B9D4BF99F864C8C01390F560EAEA Player 1 PlayBook,Starter plus Conditions@23FE4 01 04 60 20 02 36 7A 59 00 00 00 FF FF FF FF FF FF FF FF (sample everyone in excellent) Player 2 PlayBook,Starter plus Conditions@23FF7 01 04 60 20 02 36 7A 59 00 00 00 FF FF FF FF FF FF FF FF (sample everyone in excellent) A0 00 // set Y index to 0E0 65 // compare x to #65 This is checking to see which routine we came from to know which players to load90 0C // if x less than 65 branch to player 1 loop PLAYER 2 LOOP:B9 E7 BF // load value at x23FF7 + Y 99 FD 65 // store value in SRAM at 65FD +Y C8 // increase YC0 13 // compare Y with 0x1390 F5 // if less than 13 branch back to player 2 LOOP start 60 // return PLAYER 1 LOOPB9 D4 BF // load value at x23FE4 + Y 99 F8 64 // store value in SRAM at 64F8C8 //increase YC0 13 // compare Y with 0x1390 F5 // if less than 13 branch back to player 1 LOOP start 60 // return EA EA // no op filler bytes Quote Link to comment Share on other sites More sharing options...
Neerrm Posted July 30, 2013 Share Posted July 30, 2013 (edited) With the playbook hack, that shouldn't be much of an issue. People can just edit their playbook when they first get the ball. Good stuff sir.I'm assuming the FF FF etc represent the conditions of each player. What are the values for the conditions that aren't excellent? Edited July 30, 2013 by Kweh Quote Link to comment Share on other sites More sharing options...
brookstonfowler Posted July 30, 2013 Share Posted July 30, 2013 wow. did you just eliminate the need for the conditions writer program with this post? +1, sir. +100 i did notice a typo: is the 3rd byte @21DAA supposed to be C0 or E0? Quote Link to comment Share on other sites More sharing options...
bruddog Posted July 30, 2013 Author Share Posted July 30, 2013 Brookston, Kweh the problem is currently this hack doesn't fit in the rom you guys are using. Quote Link to comment Share on other sites More sharing options...
Knobbe Posted July 31, 2013 Share Posted July 31, 2013 I had to read through a couple of times to understand what you're trying to do here.############ TSB TOOL COMMANDS ############## ******** Initial Game Logic Function ***********@ 21DAASet 0x A000E065900DB9E7BF99FD65C8C01390F560B9D4BF99F864C8C01390F560EAEA ********** Player 1 and Player 2 Initial Game Conditions ***************Player 1 PlayBook,Starter plus Conditions@23FE4 01 04 60 20 02 36 7A 59 00 00 00 FF FF FF FF FF FF FF FF (sample everyone in excellent) Player 2 PlayBook,Starter plus Conditions@23FF7 01 04 60 20 02 36 7A 59 00 00 00 FF FF FF FF FF FF FF FF (sample everyone in excellent) ############ Explanation of Initial Game Logic Function ############## A0 00 // set Y index to 0E0 65 // compare x to #65 This is checking to see which routine we came from to know which players to load90 0D // if x less than 65 branch to player 1 loop PLAYER 2 LOOP:B9 E7 BF // load value at x23FF7 + Y 99 FD 65 // store value in SRAM at 65FD +Y C8 // increase YC0 13 // compare Y with 0x1390 F5 // if less than 13 branch back to player 2 LOOP start 60 // return PLAYER 1 LOOPB9 D4 BF // load value at x23FE4 + Y 99 F8 64 // store value in SRAM at 64F8C8 //increase YC0 13 // compare Y with 0x1390 F5 // if less than 13 branch back to player 1 LOOP start 60 // return EA EA // no op filler bytes Quote Link to comment Share on other sites More sharing options...
bruddog Posted July 31, 2013 Author Share Posted July 31, 2013 Thanks. I typed that up at 2 am so formatting wasn't the first thing on my mind. Quote Link to comment Share on other sites More sharing options...
brookstonfowler Posted July 31, 2013 Share Posted July 31, 2013 ah, so are the tsbtool commands locations not the actual hex offsets i'd find in a rom using a regular hex editor? Quote Link to comment Share on other sites More sharing options...
bruddog Posted July 31, 2013 Author Share Posted July 31, 2013 Those are the same things. TSBTOOL command(s) is/are simply the hex offset(s) followed by the byte(s) to paste in. ah, so are the tsbtool commands locations not the actual hex offsets i'd find in a rom using a regular hex editor? Quote Link to comment Share on other sites More sharing options...
brookstonfowler Posted July 31, 2013 Share Posted July 31, 2013 ok, so my next question is do the p1 and p2 have to be specific to those locations or can any empty space be used? i'm assuming those are the locations that you're referring to when you say our rom can't fit this hack. Quote Link to comment Share on other sites More sharing options...
bruddog Posted August 10, 2013 Author Share Posted August 10, 2013 Bumping since one of my branches was off by one byte preventing the player 1 playbooks from being loaded properly. I changed the byte at 0x21DAF to 0C Quote Link to comment Share on other sites More sharing options...
brookstonfowler Posted November 13, 2013 Share Posted November 13, 2013 just so it's known to passers by that this also inserts injuries and as a reference for me in the future. @ 23FE4 and @23FF7 the first 4 bytes are playbook entries. straight forward each digit represents a particular play. 8 plays in each slot to choose from (0-7). the next 3 bytes are the starters line. 12 starters correspond to hex digits 0-D. qb1 = 0, qb2 = 1, rb1 = 2, etc. the next byte assigns KR and PR based on starter position (0-D) the next 3 bytes are injuries. this isn't as straight forward (for someone like me), but that's where they are. then of course, the final 8 bytes are conditions. 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.