Jump to content

play/position pointer limiting?


buck

Recommended Posts

for you serious hackers that posses the strength of tecmo street knowledge:  how do you limit the pointers that get called when a play is selected?


 


for example, you pick run 1, play 1.  the code goes and grabs 11 pointers each for offense and defense, and you know the rest.


 


well, I only want the game to look at the first 7 player pointers (for any given play), and ignore the last 4.  how do I accomplish this?  


 


(I have literally spent at least 4 hours messing with this.  comparing and corrupting, etc.) 


 


 


Link to comment
Share on other sites

I don't know exactly what the problem is.  On the recovery of turnovers/onsides, the game shits the bed (freezes, clock runs off).  Regular plays are OK.  I have all the playcodes in the right places, I believe.  and even the x4000 range stuff, and the extra pointers.


 


But I have FFFF for the "dead players" pointers.  


Running code logger I see that the FFFFs are getting hit.  I am assuming that when a turnover/loose ball happens, these FFFF are causing trouble - making it so that the turnover code isn't getting hit....


Because in the other rom that works - the rom (with the exact same playcode) where the FFFFs aren't accessed (made by jstout) this isn't a problem.


 


It is sort of a mystery to me right now.  I can post a rom.


Edited by buck
Link to comment
Share on other sites

yeah, FFFFs getting hit.  that's what I'm saying.  I call up a play, FFFFs get hit, throw an int, game dies.  on the other rom, FFFFs do not get hit, turnover, no problem.


 


obviously, jstout knows how to do it (limit the pointers being called), because he did.  and most stuff of his I have been able to trace/corrupt and trial and error figure out....but not this one.  seems like it would be "easy", I just can't find the right byte.


 


to see it in action, go grab a street rom or jstout's cifl rom.  the pointers are limited to 7, and he uses FFFF for the remaining 4 pointers....but they don't called.


Edited by buck
Link to comment
Share on other sites

At least in the fumble recovery code in the defensive extra pointers...i didn't check them all... there was no pointer for the man player control. 


 


In the orig rom all defensive "EXTRA" plays have 12 pointers.  11 commands for each player and then a command for whoever recovers the ball. 


 


Anyways there was no player take control or computer take control in the instructions that those pointers pointed to. 


 


I created one at 0xBF60. I replaced pointers 8 through 12. Not knowing which one the game might need. Either 8 or 12 I'm guessing. 


 


Seemed to work after that.


Link to comment
Share on other sites

ok, still messed up, but seems to at least not be totally crashing.  MAN v COM.  MAN intercepts, some COM dude starts running with it to my endzone, for a safety.


 


wait, onsides still broke.


 


donate button pressed again.

Edited by buck
Link to comment
Share on other sites

  • 2 weeks later...

I don't remember all the changes but finding them should be extremely simple.


 


Set breakpoints for offense of reads to:


Special Teams/Formation Pointers (11 Pointers): $A000-$A1E3


Play Pointers (11 Pointers): $A400-$ABE7


Extra Pointers (12 Pointers): $AE00-$AF7F


 


Set breakpoints for defense of reads to:


Play Pointers (11 Pointers): $A000-$B5E9


Extra Pointers (12 Pointers): $B600-$B77F


 


After a fast check: (remember your extra pointers need 8 pointers for the 7 players like my CIFL rom had)


The pointers needs the X index changed from x0B to x07 at x2573B and at x25810.  Could be it or even a few more spots but you should be able to figure it out with breakpoints.


 


Link to comment
Share on other sites

I don't remember all the changes but finding them should be extremely simple.

 

Set breakpoints for offense of reads to:

Special Teams/Formation Pointers (11 Pointers): $A000-$A1E3

Play Pointers (11 Pointers): $A400-$ABE7

Extra Pointers (12 Pointers): $AE00-$AF7F

 

Set breakpoints for defense of reads to:

Play Pointers (11 Pointers): $A000-$B5E9

Extra Pointers (12 Pointers): $B600-$B77F

 

After a fast check: (remember your extra pointers need 8 pointers for the 7 players like my CIFL rom had)

The pointers needs the X index changed from x0B to x07 at x2573B and at x25810.  Could be it or even a few more spots but you should be able to figure it out with breakpoints.

 

Thanks.  I don't really know how to run the debugger (well, I can set breakpoints, but I don't know what to do with the results).  Usually I just run the code/data logger and go poke around.

 

I tried the changes you suggest at x2573b and x25810 and so far so good.

 

What about 32 team rom? Would there be any extra locations to tweak because of the NFC West? 

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