User File #33325253264843375

Upload All User Files

#33325253264843375 - RAM Watch file for NES TMNT:TF

Teenage Mutant Ninja Turtles - Tournament Fighters (U) [!].wch
957 downloads
Uploaded 8/31/2016 7:04 PM by DrBaldhead (see all 1)
My RAM watch file. There's still much to discover though.
Additional info:
  1. The "facing flags" have only visual effect.
  2. The "Fighting condition" variable determines whether the character is alive, dead or frozen at the round start.
  3. The "character" variables represent current character fighting. You can use it to change fighters during the battle, but without freezing it'll revert back at the start of the next round.
    1. "Special" charges determine whether the character can or can't perform a special. The charge is accumulated by holding certain direction button and has a set max value for each character. When the charge is maxed, the player get's a bit of time to perform the special. Some additional notes on that:
    2. All the characters have to charge. Yet Shredder, Leo and Hothead have very low charge values so they get their moves working almost immediately.
    3. You can start accumulating the charge at almost any state, except the pause and few other conditions.
    4. Raph has the option to start his special way before his charge is maxed. The value of charge accumulated will determine how far his attack will travel.
    5. When the direction button is released, the charge isn't lost immediately, yet goes down rapidly. But it still enables Raph to max out his charge, perform some other moves and then activate the special. This may lead to some impressive cancels, considering it's possible to accumulate charge while performing the special.
    6. It seems impossible to perform a special while ducking. So if the character gets charge by holding the "down" button, he has to wait several frames to get up before performing the move. This often leads new players to fail at specials. It should be noted that all characters are forced to duck before and after jumping (although jump punch seems to be an exception).
    7. The pause button freezes the charge values. It doesn't seem to affect the way special are performed. The AI stops any activity during the pause, yet it seems to be impossible to affect his charge accumulation process.
  4. The values at 0x0570 seem to be reflecting the current state of the character somehow, yet their logic is unknown to me.
  5. The "Event Timer" at the end of the list is used to implement the time limit for such things as logo screen, demo mode and some other things. Freeze it during the demo and watch how AI actually tries to play story mode.

77
00000	0000	S	S	0	--Page 0x0400 - Object position data--
00001	0000	S	S	0	--Player 1--
00002	0400	b	u	0	Current Sprite
00003	0440	b	u	0	X position
00004	0410	b	u	0	Y position
00005	0450	b	u	0	Logical X?
00006	0420	b	u	0	Logical Y?
00007	0460	b	s	0	Y Speed
00008	0470	b	u	0	Y Speed Logic
00009	0480	b	s	0	X Speed
0000A	0490	b	u	0	X Speed Logic
0000B	0000	S	S	0	--Player 2--
0000C	0401	b	u	0	Current Sprite
0000D	0441	b	u	0	X position
0000E	0411	b	u	0	Y position
0000F	0451	b	u	0	Logical X?
00010	0421	b	u	0	Logical Y?
00011	0461	b	s	0	Y Speed
00012	0471	b	u	0	Y Speed Logic
00013	0481	b	s	0	X Speed
00014	0491	b	u	0	X speed logic
00015	0000	S	S	0	--The Ball--
00016	0406	b	u	0	Current Sprite
00017	0446	b	u	0	X Position
00018	0416	b	u	0	Y Position
00019	0456	b	u	0	Logical X?
0001A	0426	b	u	0	Logical Y?
0001B	0466	b	s	0	Y Speed
0001C	0476	b	u	0	Y Speed logic
0001D	0486	b	s	0	X Speed
0001E	0496	b	u	0	X speed logic
0001F	0000	S	S	0	--Page 0x500 - Fighters State--
00020	0000	S	S	0	--Player 1--
00021	0500	b	u	0	Current palette mask
00022	0510	b	u	0	Facing flag (bit0>upsidedown,bit1>left)
00023	0520	b	u	0	Action state
00024	0530	b	u	0	Fighting condition
00025	0550	b	u	0	Character
00026	0560	b	u	0	Postponed Action timer
00027	0580	b	u	0	Unvulnerability Flag
00028	0590	b	u	0	Hitpoints
00029	05D0	b	u	0	Cycled animation curframe
0002A	05C0	b	u	0	Cycled animation frame timer
0002B	0000	S	S	0	--Player 2--
0002C	0501	b	u	0	Current palette mask
0002D	0511	b	u	0	Facing flag (bit0>upsidedown,bit1>left)
0002E	0521	b	u	0	Action state
0002F	0531	b	u	0	Fighting condition
00030	0551	b	u	0	Character
00031	0561	b	u	0	Postponed Action timer
00032	0581	b	u	0	Unvulnerability Flag
00033	0591	b	u	0	Hitpoints
00034	05D1	b	u	0	Cycled animation curframe
00035	05C1	b	u	0	Cycled animation frame timer
00036	0000	S	S	0	--The Ball--
00037	0506	b	u	0	Current palette mask
00038	0516	b	u	0	Facing flag (bit0>upsidedown,bit1>left)
00039	0526	b	u	0	Action state
0003A	0536	b	u	0	Fighting condition
0003B	0556	b	u	0	Character
0003C	0566	b	u	0	Time till disappear
0003D	0586	b	s	0	Unvulnerability Flag
0003E	0596	b	u	0	Hitpoints
0003F	05D6	b	u	0	Cycled animation curframe
00040	05C6	b	u	0	Cycled animation frame timer
00041	0000	S	S	0	--Page 0x600 - Game rules data--
00042	060C	b	u	0	P1 special Charge
00043	060D	b	u	0	P2 Special charge
00044	0000	S	S	0	----------------------------
00045	009C	w	u	0	Event timer
00046	0570	b	s	0	P1 something
00047	0571	b	s	0	P2 Something
00048	0000	S	S	0	----------------------------
00049	008E	b	u	0	P1 Key Tap
0004A	0091	b	u	0	P1 Key Hold
0004B	008F	b	u	0	P2 Key Tap
0004C	0092	b	u	0	P2 Key Hold