Jump to content

Player Conditions Change More


jstout

Recommended Posts

I was asked about making conditions for the players change after each play (the changes will be visible on the change player data screens). I did this quickly but seems to be working without any problems.

This is the code for the original game. If your rom has changes or info in those areas already then you will need to modify.

x25AE9:
4C A0 9F JMP $9FA0
EA NOP
EA NOP
EA NOP
EA NOP

x25FB0:
; CHANGE BANK TO CONDITION CODE
A9 07 LDA #$07
8D 00 80 STA $8000
A9 11 LDA #$11
8D 01 80 STA $8001
; GO TO CONDITION CODE
20 95 A3 JSR $A395
; RETURN BANK TO PREVIOUS
A9 07 LDA #$07
8D 00 80 STA $8000
A5 2F LDA $002F
8D 01 80 STA $8001
; RETURN TO NORMAL CODE:
A5 70 LDA $0070
10 03 BPL :+
4C 3E 9C JMP $9C3E
4C E0 9A : JMP $9AE0

Link to comment
Share on other sites

This seems like a fun idea. Thanks jstout.

I'm trying to find a spot to throw this in CXROMs 32-team rom. Is there a point in the rom where this stuff CAN'T go (in general, can I overwrite long strings of "FF"'s? )

In 32 team rom, at 0x31EDE there is a lot of "FF" - 300 bytes worth. Is this a safe blank spot or am I looking at something else?

I think that this section corresponds to 0x31E70 in original.

Link to comment
Share on other sites

Buck, I was able to squeeze this into cxrom's 32 team rom in the general area you wanted. Let me know if this don't fit on your copy.

You can place code anywhere in the game (multiple FFs are almost always unused areas) as long as you can write code there without writing over something else and you are able to get the area loaded when it is needed ($8000-$9000 and $A000-$B000 are swappable and $C000-$FFFF is fixed).

x25AE9:
4C F3 9F JMP $9FF3
EA NOP
EA NOP
EA NOP
EA NOP

x25FFB:
; RETURN TO NORMAL CODE:
A5 70 LDA $0070
10 0E BPL :+
4C 3E 9C JMP $9C3E
; UNUSED FILLER BYTE
FF
; CHANGE $8000 BANK TO NEW CODE
A9 06 LDA #$06
8D 00 80 STA $8000
A9 18 LDA #$18
8D 01 80 STA $8001
; SQUEEZING IN PART OF NORMAL CODE
4C E0 9A : JMP $9AE0

x3200D:
4C CA 9F JMP $9FCA

x31FDA:
; CHANGE $A000 BANK TO CONDITION CODE
A9 07 LDA #$07
8D 00 80 STA $8000
A9 11 LDA #$11
8D 01 80 STA $8001
; GO TO CONDITION CODE
20 95 A3 JSR $A395
; RETURN $A000 BANK TO PREVIOUS
A9 07 LDA #$07
8D 00 80 STA $8000
A5 2F LDA $002F
8D 01 80 STA $8001
; RETURN $8000 BANK TO PREVIOUS
A9 06 LDA #$06
8D 00 80 STA $8000
A5 2E LDA $002E
8D 01 80 STA $8001

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...
Anyone have a link where I might be able to do some reading how to copy this condition hack (as well as other coded hacks like this) into the 32-Man Rom? I get it, but I don't get it.

Well, either byte by hand or use TSB Tool Supreme's "SET command" - that's how I do it. I use SET commands a lot (generated by spreadsheets). All you do is type in the address (in hex) , then the data. SET ( 0xADDRESS, 0xDATA ) In BAD_Al's readme it explains it.

Like this from the last jstout post:

SET ( 0x25ae9, 0x4cf39feaeaeaea )

SET( 0x25ffb, 0xa570100e4c3e9cffa9068d0080a9188d01804ce09a )

etc...

those were the first two chunks of code. you can do the rest, big boy.

Link to comment
Share on other sites

Anyone have a link where I might be able to do some reading how to copy this condition hack (as well as other coded hacks like this) into the 32-Man Rom? I get it, but I don't get it.

Well, either byte by hand or use TSB Tool Supreme's "SET command" - that's how I do it. I use SET commands a lot (generated by spreadsheets). All you do is type in the address (in hex) , then the data. SET ( 0xADDRESS, 0xDATA ) In BAD_Al's readme it explains it.

Like this from the last jstout post:

SET ( 0x25ae9, 0x4cf39feaeaeaea )

SET( 0x25ffb, 0xa570100e4c3e9cffa9068d0080a9188d01804ce09a )

etc...

those were the first two chunks of code. you can do the rest, big boy.

this was sexy. i thank you, sir. this community seriously gets two yaks up.

Link to comment
Share on other sites

  • 1 year later...

Someone school me, please.

This condition hack is an important aspect to my Coaching ROM. Since I inflated and deflated player ability points to compensate for the interest of creating different on-field gameplay changes for TSC, this equated, to me, to creating new ways of defining more conventional player stats. I have a great while left of nit-picking that specific area of my ROM.

My question is how many ways can this condition-changing concept be utilized? Can conditions change after every possession series? What kind of limitations are the determining factors? Can there only be one standard that conditions abide by? Could you have a mix of options? Could you code in players becoming 'refreshed' on bye weeks where their conditions go up a notch? Could there be pre-coded situations where users could define with a '1' or '0' trigger the specific events that lead to condition changes?

I'm so utterly fascinated by how many actual gameplay variations could be made from using player conditions to benefit the actual gaming experience overall. What do you think? Since it's Jstout's thread, I definitely pose the question to you too, homeboy. I just think player condition could, potentially, be utilized to act more strategically and with greater 'conditional' purpose--again--if technically possible or not.

Link to comment
Share on other sites

My question is how many ways can this condition-changing concept be utilized? Can conditions change after every possession series? What kind of limitations are the determining factors? Can there only be one standard that conditions abide by? Could you have a mix of options? Could you code in players becoming 'refreshed' on bye weeks where their conditions go up a notch? Could there be pre-coded situations where users could define with a '1' or '0' trigger the specific events that lead to condition changes?

What about a +1 notch after a timeout?

Link to comment
Share on other sites

My question is how many ways can this condition-changing concept be utilized? Can conditions change after every possession series? What kind of limitations are the determining factors? Can there only be one standard that conditions abide by? Could you have a mix of options? Could you code in players becoming 'refreshed' on bye weeks where their conditions go up a notch? Could there be pre-coded situations where users could define with a '1' or '0' trigger the specific events that lead to condition changes?

What about a +1 notch after a timeout?

Exactly my point. And a great idea, by the way, especially in the sake of this condition hack.

Link to comment
Share on other sites

  • 8 months later...

Me and Hurricane55 were thinking about having the home team start the game in +1 condition. (Meaning +1 from whatever condition they were before a home game in season mode). For college, we wanted home field to mean something. We have the look down in our rom, but looking for something to add to the feel. Think about being 5-0 with an way game in The Swamp as your next game knowing Florida is gonna be boosted cause they're at home! Adds an once of excitement and fear to your season.

[ Post made on a Tecmo Super Mobile Device!] mobile.png

Link to comment
Share on other sites

if they could all be excellent that would be... um... excellent.

but average is good too.

just so all the players are on the same page. so the great players are always better than the lower rated players.

I also like the +1 idea for the home team in college.

another way i was thinking of doing something like that was to just put all the big rivalry games in one or two specific weeks and with the juice helper spreadsheet, juice those weeks a little more than the rest.

Link to comment
Share on other sites

  • 4 years later...

i've been reading in some of the other conditions threads about how complicated the conditions code is, but i'll throw this out there.  have the locations and behavior of the conditions code been elucidated, yet?  it seems (i know, big word) like the key elements would be how frequently they change, at what probability they change, and how much they can change (1 notch vs. 3 notches per change).


Link to comment
Share on other sites

  • 1 year later...

Incase I need this again:

Condition Change Every Play
SET( 0x25ae9, 0x4cf39feaeaeaea )
SET( 0x25ffb, 0xa570100e4c3e9cffa9068d0080a9188d01804ce09a )
SET( 0x3200d, 0x4cca9f )
SET( 0x31fda, 0xa9078d0080a9118d01802095a3a9078d0080a52f8d0180a9068d0080a52e8d0180 )

Edited by TheRaja
Link to comment
Share on other sites

  • 3 years later...
On 7/9/2020 at 8:45 AM, bruddog said:

Some of the commands are missing the 0x dentifier that tells the command they are hex values

 

SET( 0x3200d, 4cca9f ) needs to be SET( 0x3200d, 0x4cca9f )

SET( 0x31fda, a9078d0080a9118d01802095a3a9078d0080a52f8d0180a9068d0080a52e8d0180 ) needs to be

 

SET( 0x31fda, 0xa9078d0080a9118d01802095a3a9078d0080a52f8d0180a9068d0080a52e8d0180 )

 

 

Just a reminder that this makes the conditions change after every single play

 

hmmm. either i have a conflicting SET command that i've applied elsewhere, or this doesn't seem to affect my rom?

 

 

BIGDTECMO_4_071120_mk2.nes

Link to comment
Share on other sites

On 10/7/2008 at 3:44 PM, jstout said:

Buck, I was able to squeeze this into cxrom's 32 team rom in the general area you wanted. Let me know if this don't fit on your copy.

 

You can place code anywhere in the game (multiple FFs are almost always unused areas) as long as you can write code there without writing over something else and you are able to get the area loaded when it is needed ($8000-$9000 and $A000-$B000 are swappable and $C000-$FFFF is fixed).

 

 

 

x25AE9:
4C F3 9F   JMP $9FF3
EA         NOP
EA         NOP
EA         NOP
EA         NOP

x25FFB:
; RETURN TO NORMAL CODE:
A5 70      LDA $0070
10 0E      BPL :+
4C 3E 9C   JMP $9C3E
; UNUSED FILLER BYTE
FF
; CHANGE $8000 BANK TO NEW CODE
A9 06      LDA #$06
8D 00 80   STA $8000
A9 18      LDA #$18
8D 01 80   STA $8001
; SQUEEZING IN PART OF NORMAL CODE
4C E0 9A : JMP $9AE0

x3200D:
4C CA 9F   JMP $9FCA

x31FDA:
; CHANGE $A000 BANK TO CONDITION CODE
A9 07      LDA #$07
8D 00 80   STA $8000
A9 11      LDA #$11
8D 01 80   STA $8001
; GO TO CONDITION CODE
20 95 A3   JSR $A395
; RETURN $A000 BANK TO PREVIOUS
A9 07      LDA #$07
8D 00 80   STA $8000
A5 2F      LDA $002F
8D 01 80   STA $8001
; RETURN $8000 BANK TO PREVIOUS
A9 06      LDA #$06
8D 00 80   STA $8000
A5 2E      LDA $002E
8D 01 80   STA $8001

 

 

i'm terrible at this, but does the above code look like this in a SET command?

 

SET(0x25AE9, 0x4cf39fEAEAEAEA)
SET(0x25FFB, 0xa570100e4ce39cffa9068d0080a9188d01004ce09a)
SET(0x3200d, 0x4cca9f)
SET(0x31fda, 0xa9078d0080a9118d01802095a3a9078d0080a52f8d0180a9068d0080a52e8d0180)
 

Link to comment
Share on other sites

  • 2 years later...

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