Mega Man 4/RAM map

From Data Crystal
Jump to navigation Jump to search

Joypad Memory


RAM

RAM Function Details
$14 Joypad 1 - Button Push Bits Bits possible values : [0 = Not Recently Pushed Down, 1 = Recently Pushed Down]
$15 Joypad 2 - Button Push Bits Bits possible values : [0 = Not Recently Pushed Down, 1 = Recently Pushed Down]
$16 Joypad 1 - Button Status Bits Bits possible values : [0 = Not Being Pressed Down, 1 = Being Pressed Down]
$17 Joypad 2 - Button Status Bits Bits possible values : [0 = Not Being Pressed Down, 1 = Being Pressed Down]


LSB to MSB
Bit Function Bit Function
0 Right 4 Start
1 Left 5 Select
2 Down 6 B
3 Up 7 A


Sprite/Object Arrays


RAM

RAM Function Details Value Description
$300-$317 Object ID
$318-$32F X Coordinate Ratio Counter
$330-$347 X Coordinate
$348-$35F X Screen (Level Screen)
$360-$377 Y Coordinate Ratio Counter
$378-$38F Y Coordinate
$390-$3A7 Y Screen
$3A8-$3BF Horizontal Speed Low
$3C0-$3D7 Horizontal Speed High
$3D8-$3EF Vertical Speed Low
$3F0-$407 Vertical Speed High
$408-$41F Substance and Shape

Object's Byte: MSB bit0: Substance (If Set, MM is damaged if hitting Object) bit1: Weapon damage If 0, Weapons are deflected (however, if the weapon is set to do no damage for that object, nothing happens.) If 1, Object is damaged by weapons (however, if the weapon is set to do no damage for that object, the weapon is deflected if object is set to visible with bit 5 of Sprite Flag (of 528). If it is invisible, nothing happen.) bit2-bit7 : Shape ID (Decides Height and Width setting of occupying space). LSB Megaman's byte in this array ($408) has no use, appearently.

$420-$437 Direction Bits

Object's Byte: MSB bit4: Up (Not neccesarily set when Jumping) bit5: Down (Not neccesarily set when falling from gravity.) bit6: Left bit7: Right LSB

$438-$44F Enemy Number# of Level

Useful to $FCBE to know which enemy to disable.

$450-$467 Enemy HP