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.

Mega Man 4/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
No edit summary
Line 35: Line 35:
<Br>
<Br>
{| border="1" cellpadding="3"
{| border="1" cellpadding="3"
| '''RAM''' || '''Function''' || '''Details''' || '''Value''' || '''Description'''
| '''RAM''' || '''Function''' || '''Details'''
|-
|-
| $300-$317 || Object ID || || ||  
| $300-$317 || Object ID ||
|-
|-
| $318-$32F || X Coordinate Ratio Counter || || ||  
| $318-$32F || X Coordinate Ratio Counter ||  
|-
|-
| $330-$347 || X Coordinate || || ||  
| $330-$347 || X Coordinate ||
|-
|-
| $348-$35F || X Screen (Level Screen) || || ||  
| $348-$35F || X Screen (Level Screen) ||
|-
|-
| $360-$377 || Y Coordinate Ratio Counter || || ||  
| $360-$377 || Y Coordinate Ratio Counter ||  
|-
|-
| $378-$38F || Y Coordinate || || ||  
| $378-$38F || Y Coordinate ||
|-
|-
| $390-$3A7 || [[Y Screen]] || || ||  
| $390-$3A7 || [[$390-$3A7: Y Screen|Y_Screen]] ||
|-
|-
| $3A8-$3BF || Horizontal Speed Low || || ||  
| $3A8-$3BF || Horizontal Speed Low ||
|-
|-
| $3C0-$3D7 || Horizontal Speed High || || ||  
| $3C0-$3D7 || Horizontal Speed High ||  
|-
|-
| $3D8-$3EF || Vertical Speed Low || || ||  
| $3D8-$3EF || Vertical Speed Low ||  
|-
|-
| $3F0-$407 || Vertical Speed High || || ||  
| $3F0-$407 || Vertical Speed High ||  
|-
|-
| $408-$41F || Substance and Shape || || ||
| $408-$41F || [[$408-$41F: Substance and Shape|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
| $420-$437 || [[$420-$437: Direction Bits|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
| $438-$44F || Enemy Number# of Level || Useful to [[$F9CE: Set disable flag in $100-$11F range for stage's enemy/item.|$FC9E]] to know which enemy to disable.
Useful to $FCBE to know which enemy to disable.
|-
|-
| $450-$467 || Enemy HP
| $450-$467 || Enemy HP
|}
|}

Revision as of 03:46, 12 July 2015

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
$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
$420-$437 Direction_Bits
$438-$44F Enemy Number# of Level Useful to $FC9E to know which enemy to disable.
$450-$467 Enemy HP