Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Mike Tyson's Punch-Out!!/RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for Mike Tyson's Punch-Out!!.

$0001 - Opponent ID # (0=Glass Joe, 13=Tyson

$0002 - Opponent Type ID # (0=Glass/Don, 2=Von/Great Tiger 5=Piston/Tyson etc.)

$0004 - Initialize Fight (FF=in a fight, 01=Between rounds/cutscene/title screen)

$0005 - Initialize Opponent is Kockedown (1=oppoenent is knocked down, 0 = opponent is up)

$0006 - Current Round #

$000A - # of Mac's Losses


$0011 - Mac's sprite X position (not actual position just appearance on screen)

$0013 - Screen Redraw offset (Determines the centering of the graphics on screen)

$0015 - Mac's sprite X position (identical to $0011)

$0016 - Initialize Mac's sprites draw (1 = Mac, 0 = no Mac)

$0017 - Initialize Opponent's sprites draw (1 = Oppoenent, 0 = No opponent)

$0019 - Button ID (keep track of what buttons are being pressed on controller 1)

$001B - Initialize screen draw during fight (menus, mario, etc. when fight begins)

$001C - Initialize fight start sequence (1=in fight, 0 = not)


$0030 - Initialize Opponent fight (1 = opponent will begin fight patterns)

$0038 - Initializes Opponents fighting patterns

$0039 - Timer for opponent's actions (reaching 0 = opp. will do next action (such as throw a punch)

$003A - ID# for opponent's next action

$003B - ID# for the set of opponents actions (115 = glass joe)


$00BC - Ability to throw punches (01 - yes, 00 - no)


$00F2 - Music? 08...Victory!


$0300 - Initialize Clock (0when clock is inactive , 1 when active (in fights))

$0301 - Initialize Temporary Clock Stop (such as while landing an uppercut), 1 = stop 0 = start

$0302 - Minute Digit of clock

$0304 - Tenths Digit of clock

$0305 - Seconds Digit of clock

$0306 - sub-seconds variable 1

$0307 - sub-seconds variable 2

$0308 - If Round 1 (Round 1 = 4, else 5)

$030C - Next Minute Digit

$030D - Next Tenths Digit

$030E - Next Second

$0320 - IF hearts (80 = Mac is "pink")

$0321 - Next Tenths digit of hearts left

$0322 - Next Units digit of hearts left

$0323 - Tenths digit of hearts left

$0324 - Units digit of hearts left

$0325 - Initialize loss of a heart (128 means a heart will be lost)

$0326 - Sprite ID# for Tenths digit of hearts left

$0327 - Sprite ID# for Units digit of hearts left

$0328 - Amount of "pink" remaining (Must be reduced to 0 to return to normal/un-pink)

$0340 - Initialize Star capabilities (1 = can get/use stars, 0 = can not (such as between rounds))

$0341 - Initialize Mac's Uppercut routine (255 = Mac is doing uppercut)

$0342 - # of Stars Mac currently has

$0343 - "Get star" animation Timer (20 - 1 countdown during star blinking over opponent's head)

$0344 - Initialize "Get Star" animation

$0347 - # of Punches Mac must land before Opponent will begin to give stars (Glass=20, Von=8, Tyson = 255 (rnd 1))

$0348 - Number of uppercuts that you can land before opponent begins to dodge them

$0349 - Stop "get star" animation

$034A - # of Stars Mac currently has + 64 (64 = 0, 65 = 1, 66=2, 67=3)


$0390 - Initialize Mac's health (0= no heatlh (bet. fights) 1 = has health (in fights))

$0391 - Mac's Next Energy level (Max=96)

$0392 - Mac's current Energy level (Max=96)

$0393 - Mac's Energy on GFX bar

$0394 - Initialize Mac loss of energy (80 = damage taken, health will be reduced)

$0397 - Amount of Energy Mac will get up with (once he as gotten back up from being knocked down)

$0398 - Opponent's Next Health

$0399 - Opponent's Current Health

$039A - Opponent's Energy GFX bar

$039B - Initialize Oppoenent loss of energy (128=damage taken, health will be reduced)

$039C - Counter for Damage against Oppoenent (Increases as opp. gets hit, diff punches increase diff amounts)

$039E - Amount of Health Opponent will get up with (Set upon delivering the knockdown blow)


$03B1 - # Punches Mac has landed (stun punches do not count, nor do punches that send opp. to canvas)


$03D0 - # Times Mac has been knocked down in fight

$03D1 - # Times Opponent has been knocked down in fight

$03D2 - Who was hit last (81 = opponent, 82 = mac, 0 = no one has been hit yet)

$03DD - # Times Mac has been knocked down in Round 1

$03DE - # Times Mac has been knocked down in Round 2

$03DF - # Times Mac has been knocked down in Round 3


$03E0 - Initialize Score Increase (1=score can change, 0 = not (such as bet. rounds))

$03E1 - Hundred Thousands Digit in score - increase amount

$03E2 - Ten Thousands Digit in score - increase amount

$03E3 - Thousands Digit in score - increase amount

$03E4 - Hundreds Digit in score - increase amount

$03E5 - Tens Digit in score - increase amount

$03E6 - Units Digit in score (will always be 0)

$03E7 - Initialize Score

$03E8 - Hundred Thousands Digit of Score

$03E9 - Ten Thousands Digit of Score

$03EA - Thousands Digit of Score

$03EB - Hundreds Digit of Score

$03EC - Tens Digit of Score

$03ED - Units Digit of Score (will always be 0)


$03F0 - Initialize change in Score sprites

$03F1 - Sprite ID# - Hundred Thousands digit of score

$03F2 - Sprite ID# - Ten Thousands digit of score

$03F3 - Sprite ID# - Thousands digit of score

$03F4 - Sprite ID# - Hundreds digit of score

$03F5 - Sprite ID# - Tens digit of score

$03F6 - Sprite ID# - Units digit of score


$06A0 - Button ID - Controller 1

$06A1 - Button ID - Controller 2

$06A2 - Button ID - Controller 1 (same as $06A1)

$06A3 - Button ID - Controller 2 (same as $06A2)

$06A4 - Button ID - Controller 1 (same as $06A1)

$06A5 - Button ID - Controller 2 (same as $06A2)

$06A6 - Button ID - Controller 1 (same as $06A1)

$06A7 - Button ID - Controller 2 (same as $06A2)


$0700 - Music, Duration of note playing in channel 1

$0701 - Music, Duration of note playing in channel 2

$0702 - Music, Duration of note playing in channel 3

$0715 - Sound FX