Mega Man 4/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
== Joypad Memory==
== Joypad Memory==
 
<Br>
'''RAM'''
'''RAM'''
 
<Br>
{| border="1" cellpadding="3"
{| border="1" cellpadding="3"
| '''RAM''' || '''Function''' || '''Description'''
| '''RAM''' || '''Function''' || '''Details'''
|-
|-
| $14 || Joypad 1 - Button Push Bits || Bits possible values : [0 = Not Recently Pushed Down, 1 = Recently Pushed Down]
| $14 || Joypad 1 - Button Push Bits || Bits possible values : [0 = Not Recently Pushed Down, 1 = Recently Pushed Down]
Line 15: Line 15:
|-
|-
|}
|}
<br>
<Br>
::'''LSB to MSB'''
::'''LSB to MSB'''
::{| border="1" cellpadding="3"
::{| border="1" cellpadding="3"
Line 28: Line 28:
| 3 || Up || 7 || A
| 3 || Up || 7 || A
|-
|-
|}
<Br>
== Sprite/Object Arrays==
<Br>
'''RAM'''
<Br>
{| border="1" cellpadding="3"
| '''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
|}
|}

Revision as of 03:35, 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 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