Sign in to follow this  
Followers 0
cxrom

events

10 posts in this topic

the game has 2 different ways of issuing events. an event can be a cutscene, a dropdown menu, ...whatever.

now the arguments are in the A and X registers. X is the group number, and A is the event number. then you have a:

JSR $C390

or

JSR $C3A2 (this will JSR to $C390)

or

JSR $C3AF

which is this code:


$C390:85 C2 STA $00C2 = #$53 ; <-ENTER HERE
$C392:86 C3 STX $00C3 = #$BB
$C394:A9 17 LDA #$17
$C396:85 10 STA $0010 = #$0F
$C398:A0 02 LDY #$02
$C39A:A9 80 LDA #$80
$C39C:A2 0C LDX #$0C
$C39E:20 45 CC JSR $CC45
$C3A1:60 RTS


$C3A2:20 90 C3 JSR $C390 ; <-ENTER HERE
$C3A5:A9 01 LDA #$01
$C3A7:20 9A CC JSR $CC9A
$C3AA:A5 0C LDA $000C = #$00
$C3AC:D0 F7 BNE $C3A5
$C3AE:60 RTS


$C3AF:85 C2 STA $00C2 = #$53 ; <-ENTER HERE
$C3B1:86 C3 STX $00C3 = #$BB ;
$C3B3:A5 2E LDA $002E = #$10 ;
$C3B5:48 PHA ;
$C3B6:A2 17 LDX #$17 ;
$C3B8:20 DD D8 JSR $D8DD ; bank swap?
$C3BB:A5 C2 LDA $00C2 = #$53 ;
$C3BD:A6 C3 LDX $00C3 = #$BB ;
$C3BF:20 00 80 JSR $8000 ;
$C3C2:68 PLA ;
$C3C3:AA TAX ;
$C3C4:4C DD D8 JMP $D8DD ;

these are the event codes:

*** = use $C3AF, the rest use $C390/$C3A2

[->],[<-] = direction of drive


X=6 A =
-----
00: Opening
01: Title Screen
02: Kickoff
03: Punt
04: Field Goal
05: JJ Incomplete (missed)
06: JJ Incomplete (tipped)
07: Incomplete (bounced)
08: Incomplete Dive (missed)
09: Attempted Blocked Punt/FG/Pass
0A: Blocked Punt
0B: Blocked FG
0C: Blocked PAT
0D: Blocked Pass
0E: Long FG Attempt
0F: FG Through Uprights [->]
10: FG Through Uprights [<-]
11: FG Good
12:
13:
14: Doink Left Upright, Good [->]
15: Doink Right Upright, Good [->]
16: Doink Left Upright, Missed [->]
17: Doink Right Upright, Missed [->]
18: Missed Left [->]
19: Missed Right [->]
1A: Short FG [->]
1B: Referee - No Good
1C: Doink Right Upright, Good [<-]
1D: Doink Left Upright, Good [<-]
1E: Doink Right Upright, Missed [<-]
1F: Doink Left Upright, Missed [<-]
20: Missed Right [<-]
21: Missed Left [<-]
22: Short FG [<-]
23: Successful Try
24:
25:
26: QB Sack
27: QB Sack + Side Change
28: Safety
29: Bullet Pass
2A:
2B: JJ Catch
2C: JJ Incomplete (missed)
2D: JJ Incomplete (tipped)
2E:
2F: Catch
30: Incomplete (bounced)
31: Incomplete Pass
32: Complete Dive
33: Incomplete Dive (missed)
34: Incomplete Dive (tipped)
35:
36:
37: Injury
38: Rushing TD
39: Receiving TD
3A: AFC Champion
3B: Super Champion
3C:
3D:
3E: First Down (Ref. faces left)
3F: First Down (Ref. faces forward)
40: Second Down
41: Third Down
42: Fourth Down
43: JJ Interception
44: Super JJ
45: Super JJ (missed)
46: Super JJ (missed)
47: Super JJ, Int (missed)
48: Interception
49: Halftime - Blimp
4A: Halftime - Wink
4B: Halftime - Band
4C: Halftime - Toss Cheerleader
4D: Halftime - Parachute
4E: QB Stats -UNUSED-
4F: Halftime - Cheerleaders x2
50: Halftime - Kiss
51: Catch, Dive Int
52: Catch, JJ Int
53: Incomp, Dive Int
54: Incomp, JJ Int
55: Dive Int
56: Division Champs
57: Flashing "Press Start" at title
58: Special Halftime Show
59: Halftime Show (Blimp, Wink, Band, Kiss)
5A: Halftime Show (Parachute, The Wave, Cheerleaders x2, Toss Cheerleader)
5B: Halftime Show (Cheerleaders x2, Band, Blimp, Wink)
5C: Halftime Show (Wink, Cheerleaders x2, Toss Cheerleader, Kiss)
5D: Yards Rushed -UNUSED-
5E: Yards Returned -UNUSED-
5F: Yards Received -UNUSED-
60: Interception TD -UNUSED-
61: Defensive TD -UNUSED-
62: Rush Yards Today -UNUSED-
63: Rec Yards Today -UNUSED-
64: Sacks Today -UNUSED-
65: Int Today -UNUSED-
66: 000Yards Rusher -UNUSED-
67: 000Yards Receiver -UNUSED-
68: 000Yards Passer -UNUSED-
69: Yellow Flag-False Start -UNUSED-
6A: Yellow Flag-Offsides -UNUSED-
6B: NFC Champion
6C:
6D:
6E: Credits
6F: Sound Test
70: Chains + 1st Down [->]
71: Chains + 2nd Down [->]
72: Chains + 3rd Down [->]
73: Chains + 4th Down [->]
74: Chains + Change Sides [->]
75: Chains + First Down [<-]
76:
77:
78:
79:
7A:
7B:
7C:
7D:
7E: Incomp (bounced), Dive
7F:


X=7 A =
-----
00: NFL Leaders
01: Leading Passers
02:
03:
04: Leading Receiving
05: Leading Rushing
06: Scoring
07: Leading Punting
08: Interceptions
09: Leading Sacks
0A: Punt Returns
0B: Kickoff Returns
0C:
0D:
0E:
0F:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
1A:
1B:
1C:
1D:
1E:
1F:
20:
21: Scoreboard (1->2)
22: Scoreboard (2->3)
23: Scoreboard (3->4)
24:
25:
26: Injury Recovery
27: ?Opening Coin Toss
28:
29:
2A: ?Choose Kick -or- Receive (P1)
2B: ?Choose Kick -or- Receive (P2)
2C: Opening Coin Toss/Choose Kick -or- Receive (P1 wins)
2D: Opening Coin Toss/Choose Kick -or- Receive (P2 wins)
2E:
2F:
30:
31: Overtime Coin Toss/Choose Kick -or- Receive (P1 wins)
32: Overtime Coin Toss/Choose Kick -or- Receive (P2 wins)
33:
34: Black intro screen - "PRESEASON"
35: Black intro screen - "PROBOWL"
36: Black intro screen - "REGULAR SEASON 1ST WEEK"
37: Black intro screen - "REGULAR SEASON 2ND WEEK"
38: Black intro screen - "REGULAR SEASON 3RD WEEK"
39: Black intro screen - "REGULAR SEASON 4TH WEEK"
3A: Black intro screen - "REGULAR SEASON 5TH WEEK"
3B: Black intro screen - "REGULAR SEASON 6TH WEEK"
3C: Black intro screen - "REGULAR SEASON 7TH WEEK"
3D: Black intro screen - "REGULAR SEASON 8TH WEEK"
3E: Black intro screen - "REGULAR SEASON 9TH WEEK"
3F: Black intro screen - "REGULAR SEASON 10TH WEEK"
40: Black intro screen - "REGULAR SEASON 11TH WEEK"
41: Black intro screen - "REGULAR SEASON 12TH WEEK"
42: Black intro screen - "REGULAR SEASON 13TH WEEK"
43: Black intro screen - "REGULAR SEASON 14TH WEEK"
44: Black intro screen - "REGULAR SEASON 15TH WEEK"
45: Black intro screen - "REGULAR SEASON 16TH WEEK"
46: Black intro screen - "REGULAR SEASON 17TH WEEK"
47: Black intro screen - "REGULAR SEASON 18TH WEEK"
48: Black intro screen - "REGULAR SEASON WEEK" (small letters) -UNUSED-
49:
4A:
4B:
4C:
4D:
4E: Final Scoreboard (No O.T.)
4F: Final Scoreboard (O.T.)


X=0F A =
-----
00: Main Menu
01: Main Menu - Preseason Dropdown
02: Preaeason - Team Select
03: Season Menu
04: Team Control
05: NFL Schedule
06: NFL Schedule - Dropdown {Auto Skip, Playoffs, Reset}
07: NFL Schedule - Reset Warning
08: NFL Schedule - Reset Final Warning
09: NFL Schedule - Auto Skip #
0A: Season - NFL Standings
0B:
0C: Season - Team Rankings
0D: Playoff Bracket
0E:
0F:
10: Playoff Bracket
11:
12:
13:
14:
15:
16:
17: Main Menu - Probowl Dropdown
18: Probowl - Team Select
19: Team Data
1A: Team Roster
1B:
1C:
1D: DF Starters
1E: Play Book
1F: Play Chooser
20:
21: AFC/NFC All Stars
22:
23:
24: ***Player Data Screen QB
25: ***Player Data Screen RB,WR,TE
26: ***Player Data Screen OL
27: ***Player Data Screen Defense
28: ***Player Data Screen K
29: ***Player Data Screen P
2A: AFC East Standings
2B: AFC Central Standings
2C: AFC West Standings
2D: NFC East Standings
2E: NFC Central Standings
2F: NFC West Standings
30: Standings Screen
31:
32: ***OF Starters
38: ***OF Starters - Starter Reset
39:
3A: Team Rankings - Offense NFL
3B: Team Rankings - Offense AFC
3C: Team Rankings - Offense NFC
3D: Team Rankings - Defense NFL
3E: Team Rankings - Defense AFC
3F: Team Rankings - Defense NFC
40: Play Select Screen
41: ***P1, Off Dropdown Menu
42: ***P1, Off "Call Timeout"
43:
44: ***P1, Def Dropdown Menu
45: ***P1, Def "Call Timeout"
46:
47: ***P2, Off Dropdown Menu
48: ***P2, Off "Call Timeout"
49:
4A: ***P2, Def Dropdown Menu
4B: ***P2, Def "Call Timeout"
4C:
4D:
4E: ***??? Clock Bkg
4F: ***??? "#th Down ##" slidebar
50: ***"\\\Fumble///" slidebar
51: ***"Punt Kick" slidebar
52: ***"Field Goal" slidebar
53: ***"Successful Try" slidebar
54: ***"No Good" slidebar
55: ***"First Down" slidebar
56: ***"Side Change" + "Next Offense ... Next Defense" slidebar
57: ***"Side Change" + "Next Defense ... Next Offense" slidebar
58: ***"TOUCHDOWN" slidebar
59: ***"Try For Point" slidebar
5A: ***"SAFETY" slidebar
5B: ***"Incomplete Pass" slidebar
5C: ***"Touchback" slidebar
5D: ***"Interception" slidebar
5E: ***"Field Goal" slidebar
5F: ***"Recover" slidebar
60: ***"QB Sack" slidebar
61: ***"\\\Kick Block///" slidebar
62: ***"\\\Blocked Punt///" slidebar
63: ***"\\\Pass Block///" slidebar
64: ***"\\\Onside Kick///" slidebar
65: ***"\\\Penalty///" slidebar
66: ***"Out of Bounds" slidebar

some of these events can be triggered by both functions. the ones listed as unused don't crash the game like i thought they would, makes me wonder how complete they are.

Share this post


Link to post
Share on other sites

I'm interested by this. Something I've been thinking about is attempting to change certain cut scenes to provide a little more praise for the coach, and less for the individual players, considering that my ROM is a coaching-based game. I haven't thought about what cut screens I could change, how I might go about starting to learn how to trade out cut scenes for others, and at what time these changes would take place in the game, but I'm definitely interested to learn more about it. Might be a fun aesthetic change for the future of Tecmo Super Coach.

Share this post


Link to post
Share on other sites

I've poked around with Ninja Gaiden's cut-scene engine a bit, and I would think that the one used in TSB is a variation of it (or even the same?). As for TSB, the only modifications I've done is swapped one scene for another, have scenes skip under certain circumstances, or trigger them at times not normally triggered.

I could take a stab at the data format in TSB to see how easy it'd be to modify or create new scenes. I haven't done much in the way of Tecmo lately other then playing, but summer is around the corner and it's time to get back on the wagon. :lol:the 2pt conversion hack has been sitting on my hd for too long.

Share this post


Link to post
Share on other sites
I've poked around with Ninja Gaiden's cut-scene engine a bit, and I would think that the one used in TSB is a variation of it (or even the same?). As for TSB, the only modifications I've done is swapped one scene for another, have scenes skip under certain circumstances, or trigger them at times not normally triggered.

I could take a stab at the data format in TSB to see how easy it'd be to modify or create new scenes. I haven't done much in the way of Tecmo lately other then playing, but summer is around the corner and it's time to get back on the wagon. :lol:

Nice, nice. Even swapping out the cut scenes might be effective for what I'm looking to accomplish. I look forward to any future potential research you throw towards this concept, for sure, homeboy.

Share this post


Link to post
Share on other sites

In my alternate uniform IPS patches, the cut-scenes don't match up with the on-field uniform changes. I have not been able to figure out a solution to this problem, which I discuss here, starting at post #6.

I would rather update the cut-scenes, but if I can't find a solution, is it possible to bypass all screens that show a player, in addition to any other screens that follow in sequence (i.e., a screen showing a diving player followed by a screen showing the ball bouncing on the ground)? Is it possible to bypass screens showing kickoffs and field goals (at least, the screen showing the kicker), and touchdown celebrations? I don't like eliminating these things from the game, but the inconsistency of the uniform color combinations is distracting.

Also, can these changes be made in hex or is assembly required? I wish I understood your post at the beginning of this thread, as I would rather be taught how to fish rather than be given a fish!

For any other ROM, I think it would be cool if the halftime show could be played between quarters, with random or fixed action cut-scenes sprinkled in, sort of like highlights. If this is possible, would the cut-scenes need to comply with a time limit, in accordance with the music being played? Could you have different music?

Share this post


Link to post
Share on other sites

Is it possible to bypass screens showing kickoffs and field goals (at least, the screen showing the kicker), and touchdown celebrations? I don't like eliminating these things from the game, but the inconsistency of the uniform color combinations is distracting.

Also, can these changes be made in hex or is assembly required?

It be assembly hacking, but with a hex editor. :lol: You'd be removing the function calls. This is done by overwriting the code with NOP (No OPeration) insturctions, but can be done with a hex editor and replacing them with the hex value of NOP ($EA).

For any other ROM, I think it would be cool if the halftime show could be played between quarters, with random or fixed action cut-scenes sprinkled in, sort of like highlights. If this is possible, would the cut-scenes need to comply with a time limit, in accordance with the music being played? Could you have different music?

Playing halftime shows between all quarters is definately doable. The rest I'm not too sure, I'll get back to you when I learn more about the cut-scene format.

Share this post


Link to post
Share on other sites

This is interesting. Any way of changing a safety to a touchback on a kickoff with this information?

Share this post


Link to post
Share on other sites

Does this mean that there's completed code in the game to say how long a play was and how many yards / ints / sacks a player has at X point in the game, etc.?

If so, how would you implement this?

Share this post


Link to post
Share on other sites

Does this mean that there's completed code in the game to say how long a play was and how many yards / ints / sacks a player has at X point in the game, etc.?

If so, how would you implement this?

No, it's incomplete. The unused events were not implemented because they are not finished.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.