Jump to content

COM defensive coverage late in season


buck

Recommended Posts

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 Level

For 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 $801B

For 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 $801B

I've not played around with it yet, but I plan to soon...

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 5 months later...

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 Level

For 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 $801B

For 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 $801B

Would anything less change the coverage or does it have to be EA? thanks

Link to comment
Share on other sites

  • 8 months later...
  • 1 year later...
  • 5 weeks later...

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 by TecmoTurd
Link to comment
Share on other sites

  • 2 years later...

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 by buck
Link to comment
Share on other sites

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.  

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