jstout Posted August 27, 2009 Share Posted August 27, 2009 So is this just a binary situation, either C8 or no C8? Is there a way to "soften" this or make it randomly occur on a play-by-play basis?...maybe jump to a created subroutine which basically flips a coin and either jumps to $97C5 or doesn't?Buck, it works like this:RILB BC93: SetBall, E0, 18, 2pt, CPURandom, $B9E6, 06, Jump, $AFDF //I broke this down a bit but CPURandom = C8 command. Location $B9E6 does a random chance at m2m FB, WR1, or TE. Location $AFDF does a small move, pause for a time period, then pass rush.$DC, $DD, $DE are used by the play design. In the CPURandom above: $DC = xE6, $DD = xB9, $DE = x06. In the code cxrom posted: Location $97C5 makes the player's current play location = $B9E6 and Location $801B makes the player's current play location = the Jump above (skipping the pointer).So if the Juice Level < x06, the RILB will pause then pass rush but if the Juice Level >= x06 the RILB will m2m either the FB, WR1, or TE.Basically, you could adjust C8 levels or add in C8 commands to make the CPU do various things based upon the juice level. Quote Link to comment Share on other sites More sharing options...
buck Posted August 27, 2009 Author Share Posted August 27, 2009 jstout,I was referring to creating a subroutine (called at$8B34) that decides on a random chance that "$8B36:4C C5 97 JMP $97C5 ; <---harder ai" would even be executed. Because, dropping EA EA in for the "$8B34:90 03 BCC $8B39" gives good coverage - all the time. Quote Link to comment Share on other sites More sharing options...
TecmoTurd Posted August 31, 2009 Share Posted August 31, 2009 stout gave me some code for randomizing the coverage to check out complete with how it all works. I'm gonna try and implement something into the SNES when I get a chance... Quote Link to comment Share on other sites More sharing options...
buck Posted August 31, 2009 Author Share Posted August 31, 2009 stout gave me some code for randomizing the coverage to check out complete with how it all works. I'm gonna try and implement something into the SNES when I get a chance... any chance you can forward that to me (or post it)? I would like to implement something into the NES. Quote Link to comment Share on other sites More sharing options...
TecmoTurd Posted August 31, 2009 Share Posted August 31, 2009 Right on brother, I'll post it when I get to a device that's not my phone. Quote Link to comment Share on other sites More sharing options...
TecmoTurd Posted September 1, 2009 Share Posted September 1, 2009 Here's what stout gave me:;The NES 0x028B3F$8B2F:AD 7D 66 LDA $667D ; Team Juice Level$8B32:C5 DE CMP $DE ; Player Juice Level$8B34:90 03 BCC $8B39$8B36:4C C5 97 JMP $97C5 ; If Team Juice Level >= Player Juice Level$8B39:4C 1B 80 JMP $801B ; If Team Juice Level < Player Juice LevelFor a straight %: LDA $3D ; Random Number - $3B or $3C also would work CMP #$80 ; 50% for each (can adjust for different%) BCC :+ JMP $97C5: JMP $801BFor Player Juice Level making %: LDA $3D ; Random Number - $3B or $3C also would work AND #$0F ; Range of 0-15 CMP $DE ; Player Juice Level BCC :+ JMP $97C5: JMP $801BI've not played around with it yet, but I plan to soon... Quote Link to comment Share on other sites More sharing options...
TecmoTurd Posted September 4, 2009 Share Posted September 4, 2009 Here's the set patch for SNES:SET(0x19519,0x5cada680ea)SET(0x26AD,0xad0202c98090045c06a5835c428883)x80 in red signifies the cutoff point between two halves of the allowable random number values 0-255 (x00 - xFF). The code takes a random number and checks if it's in the first half or the second half of those values. If it's in the upper half, it uses hardcore coverage, otherwise it uses limp noodle coverage. since x80 = 127, or halfway between the allowable values, the probability is 50% either way. You can replace that x80 with anything from x00 - xFF. The lower the number, the more often you'll see hardcore coverage.Sidenote:This was my first attempt at writing my own patch while attempting to teach myself assembly and rom hacking on an advanced level. I wasn't able to do it 100% by myself yet, as there were surprises I did not forsee, even for a simple patch such as this, but jstout has been graciously answering questions, providing lengthy informative answers, and guiding me along. Many MANY thanks to him for this. One day I hope to be as useful with the stuff as he is. Honestly, assembly wasn't that hard to pick up once I found a good "6502 for dummies" tutorial (see this link if you're interested, it's really simple and easy to follow). The harder part is finding out all the intricacies of how roms are laid out, banks of memory, pages, loROM, hiROM, etc...the road ahead is long, but I'm determined to get there. Quote Link to comment Share on other sites More sharing options...
GameplayLoop Posted September 4, 2009 Share Posted September 4, 2009 Here's the set patch for SNES:SET(0x19519,0x5cada680ea)SET(0x26AD,0xad0202c98090045c06a5835c428883)x80 in red signifies the cutoff point between two halves of the allowable random number values 0-255 (x00 - xFF). The code takes a random number and checks if it's in the first half or the second half of those values. If it's in the upper half, it uses hardcore coverage, otherwise it uses limp noodle coverage. since x80 = 127, or halfway between the allowable values, the probability is 50% either way. You can replace that x80 with anything from x00 - xFF. The lower the number, the more often you'll see hardcore coverage.Sidenote:This was my first attempt at writing my own patch while attempting to teach myself assembly and rom hacking on an advanced level. I wasn't able to do it 100% by myself yet, as there were surprises I did not forsee, even for a simple patch such as this, but jstout has been graciously answering questions, providing lengthy informative answers, and guiding me along. Many MANY thanks to him for this. One day I hope to be as useful with the stuff as he is. Honestly, assembly wasn't that hard to pick up once I found a good "6502 for dummies" tutorial (see this link if you're interested, it's really simple and easy to follow). The harder part is finding out all the intricacies of how roms are laid out, banks of memory, pages, loROM, hiROM, etc...the road ahead is long, but I'm determined to get there.Most excellent. I have not the time nor interest to delve this deeply/specifically into the world of ROM-hacking, although I have profound respect for those who are/do, so I'm happy more of us are committed to that type of TSB journey. I wish you merry times of discovery! Quote Link to comment Share on other sites More sharing options...
TecmoTurd Posted September 4, 2009 Share Posted September 4, 2009 You must have delved somewhat deep for what you did with TSC. Either way, it's been super fun (and effin' frustrating thus far), but thanks for the merry wishes. "'Tis the season to be Merry.""Well that's my name.""No shit?" Quote Link to comment Share on other sites More sharing options...
GameplayLoop Posted September 4, 2009 Share Posted September 4, 2009 Only enough to be able to affect the top-layer on-screen results. The kind of schooling it takes to do what CX_ROM and Jstout do with the game (content building) takes more patience with learning formula and data than my generally right-sided brain is able to process. I give generous amounts of daps to those so inclined. Quote Link to comment Share on other sites More sharing options...
bruddog Posted September 4, 2009 Share Posted September 4, 2009 How does the instruction: LDA $3D generate a random number? Quote Link to comment Share on other sites More sharing options...
TecmoTurd Posted September 4, 2009 Share Posted September 4, 2009 It doesn't, it loads the value at address $3D into the accumulator. $3B, $3C, and $3D change every 1/60 seconds and can can be a value of x00 - xFF. This is for the NES, though. The SNES has these at different spots, but same concept. Quote Link to comment Share on other sites More sharing options...
bruddog Posted September 4, 2009 Share Posted September 4, 2009 Gotcha. Thanks. I'm trying to reprogram the OL vs DL to the percentages I want. I could do it in the individual play code but its very cumbersome. Quote Link to comment Share on other sites More sharing options...
TecmoTurd Posted September 5, 2009 Share Posted September 5, 2009 I was thinking of testing out the ratio of covered plays later in the season in order to pick a better number for the coverage patch for earlier in the season. That way it plays a lot like it would if you were juiced late in the season. I will do this because right now it's a way too hard to run. Quote Link to comment Share on other sites More sharing options...
john3:16 Posted February 27, 2010 Share Posted February 27, 2010 yeah, in preseason mode -> setting 0x28b44 and 0x28b45 to EA seems to give the cpu late-season AI - even in RUN defense...hot damn.Would anything less change the coverage or does it have to be EA? thanks Quote Link to comment Share on other sites More sharing options...
buck Posted February 27, 2010 Author Share Posted February 27, 2010 It has to be 'EA' at that spot. There are no variations.However, this is from a Tecmo Turd post above:;The NES 0x028B3F$8B2F:AD 7D 66 LDA $667D ; Team Juice Level$8B32:C5 DE CMP $DE ; Player Juice Level$8B34:90 03 BCC $8B39$8B36:4C C5 97 JMP $97C5 ; If Team Juice Level >= Player Juice Level$8B39:4C 1B 80 JMP $801B ; If Team Juice Level < Player Juice LevelFor a straight %:LDA $3D ; Random Number - $3B or $3C also would workCMP #$80 ; 50% for each (can adjust for different%)BCC :+JMP $97C5: JMP $801BFor Player Juice Level making %:LDA $3D ; Random Number - $3B or $3C also would workAND #$0F ; Range of 0-15CMP $DE ; Player Juice LevelBCC :+JMP $97C5: JMP $801BWould anything less change the coverage or does it have to be EA? thanks Quote Link to comment Share on other sites More sharing options...
tecmoaddict Posted October 29, 2010 Share Posted October 29, 2010 Is there anyway to have a variable coverage for the COM defense or does it have to the soft/ max coverage? Has anyone tried this for any of the sega tecmos? Quote Link to comment Share on other sites More sharing options...
TecmoTurd Posted October 29, 2010 Share Posted October 29, 2010 I have a hack for the SNES that does this, uses a probability to determine if the coverage should be soft or heavy... Quote Link to comment Share on other sites More sharing options...
TecmoBowlSwede Posted August 27, 2012 Share Posted August 27, 2012 It is possible to turn it off? To get preseason/week1 coverage all the time. Quote Link to comment Share on other sites More sharing options...
TecmoTurd Posted September 25, 2012 Share Posted September 25, 2012 (edited) Because I needed this for something, I had to have jstout reclarify some points on how this worked for the NES. So, in the process, he converted these to hex for me. I thought I'd share here for anyone who wants them:NES Late Season COM Coverage:Straight %SET(0x028B3F, 0xa53dc98090034cc5974c1b80)where you can modify x80 to be anything from x00 to xFF. x80 is a 50% chance of tough coverage. The lower the number, the more probable it is that the coverage will be tougher...Player juice making %This was explained to me like this..."The play code for a LB might be Cover TE 07, Cover FB 04, Stand. For the original if the team juice is more than 07 then he will cover LB, if not then if more than 4 cover FB, else stand" The way I understand it, this patch uses the juice for the player (not the team as in original) from the play chosen and compared to a random number 0-15. If I'm not mistaken, this has a similar effect as the random number patch above but just calculates it in a different way depending on the play called...SET(0x028B3F, 0xa53d290fc5de90034cc5974c1b80) Edited September 25, 2012 by TecmoTurd Ghost 1 Quote Link to comment Share on other sites More sharing options...
TecmoTurd Posted December 3, 2014 Share Posted December 3, 2014 I tried this hack on the repo ROM and for whatever reason, it freezes my powerpak when the CPU is on offense. I picked GB vs. Atlanta, and whenever the CPU handed the ball off, the game borked up. I'm hoping jstout can look into it, I sent him the files... Quote Link to comment Share on other sites More sharing options...
buck Posted December 3, 2014 Author Share Posted December 3, 2014 (edited) yeah, it might be because the defensive and offensive plays are in two different spots, because the 4-3 hack requires that they are. maybe the mojo doesn't get linked right? which leads me to a good point, has anyone actually played a full season on the TBorg 2015 rom (or any 4-3 defense rom) yet? who knows, maybe the 4-3 defense rom always shits the bed when the mojo is supposed to kick in... just brainstorming. Edited December 3, 2014 by buck Quote Link to comment Share on other sites More sharing options...
TecmoTurd Posted December 3, 2014 Share Posted December 3, 2014 Ahh ok. I've never been a fan of the 4-3 hack. I wish there was a repo rom that had everything BUT the 4-3 hack. Quote Link to comment Share on other sites More sharing options...
buck Posted December 3, 2014 Author Share Posted December 3, 2014 Ahh ok. I've never been a fan of the 4-3 hack. I wish there was a repo rom that had everything BUT the 4-3 hack. same here about the 4-3 hack, and I was just thinking about a rom like that a couple of days ago. Quote Link to comment Share on other sites More sharing options...
TecmoTurd Posted December 3, 2014 Share Posted December 3, 2014 I love the rest of the repo rom so if it was same except for the 4-3 hack removed, is be grateful for that. 4-3 strays too far from the original game imho, and it makes tsbtool not work so you can't tweak it. 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.