Metroid/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Fixed mistake in previous fix.)
(Neated up the chart. Added a "Details" column. Changed values to Hex and decimal for clarity. Added a chart for the inventory variable ($6878))
Line 1: Line 1:
{{rammap|game=Metroid}}
{{rammap|game=Metroid}}
<br>
<p>Given non-RAM address values: $Hexadecimal value(Decimal value), ex. $63(99)</p>
<p>Any values less than $0A(10) will only show the Hex value.</p>
<br>


{| border="1" cellpadding="1"
{| border="1" cellpadding="1"
!RAM !! Purpose
| '''RAM''' || '''Function''' || '''Details'''
|-
|-
|64 || Jump State00=Unable to attempt jump01=Able to attempt jump.
|$0064 || Jump State || $00=Unable to jump, $01=Able to jump
|-
|-
|70 || Damage State. 00=Able to be damaged. 01-FF=Count down to 0, undamagable.
|$0070 || Temporary Invulnerability || $00=Damageable, $01-$FF(255)=Count down to 0, undamageable
|-
|-
|106 || Energy Variable.  High nybble contains the "ones" place of the amount of energy Samus currently has.
|$0106 || Samus' Energy (Byte 1) || High nybble contains the "ones" place of the amount of energy Samus currently has.
|-
|-
|107 || Energy Variable.  Low nybble contains the "tens" place of the amount of energy Samus currently has.  High nybble contains number of full tanks.
|$0107 || Samus' Energy (Byte 2) || Low nybble contains the "tens" place of the amount of energy Samus currently has.  High nybble contains number of full tanks.
|-
|-
|10E || Weapon selection: 00=Arm Cannon, 01=Missile. Set this to FF for lots of missiles! :)
|$010E || Weapon selection || $00=Arm Cannon, $01=Missles
|-
|-
|200-2FF || Sprite DMA.
|$0200-02FF || Sprite DMA ||
|-
|-
|316 || Horizontal movement in air. Keep below 3F to avoid graphical glitches.  Keep at 2F and below (?) to avoid door entry glitches--such will cause you to exit two screen widths in the opposite direction you entered.
|$0316 || Horizontal movement in air || Keep below $3F(63) to avoid graphical glitches.  Keep at $2F(47) and below (?) to avoid door entry glitches--such will cause you to exit two screen widths in the opposite direction you entered.
|-
|-
|6877 || Number of tanks collected.  Keep to 6 or below to avoid redraw errors.
|$6877 || Number of tanks collected.  Keep to $06 or below to avoid redraw errors.
|-
|-
|6878 || Special items Samus is currently carrying.  Contains an 8-bit value from 00 to FF (0 to 255).  Each bit represents one of eight special items.  Hex values are as follows: 1="Bombs", 2="Hi-Jump", 4="Long Beam", 8="Screw Attack", 10="Maru Mari", 20="Varia", 40="Wave Beam", 80="Ice Beam". For multiple weapons, add values in hex. (Ex: 16 for Maru Mari, Long Beam, and Hi-Jump.)
|$6878 || Special items Samus is currently carrying || Each bit represents one of eight special items.  Hex values are as follows:
{| border="1" cellpadding="1"
| '''Hex''' || '''Decimal''' || '''Item'''
|-
|$01 || 1 || Bombs
|-
|$02 || 2 || Hi-Jump
|-
|$04 || 4 || Long Beam
|-
|$08 || 8 || Screw Attack
|-
|$10 || 16 || Maru Mari
|-
|$20 || 32 || Varia
|-
|$40 || 64 || Wave Beam
|-
|$80 || 128 || Ice Beam   
|-
|}
For multiple weapons, add values in hex. (Ex: $16(22) for Maru Mari, Long Beam, and Hi-Jump)
|-
|-
|6879 || The actual number of missiles that Samus is currently carrying.  Contains an 8-bit value from 00 to FF (0 to 255).
|$6879 || The current number of missiles that Samus is carrying || $00-$FF(255)
|-
|-
|687A || The maximum number of missiles that Samus may carry at any given time.  Contains an 8-bit value from 00 to FF (0 to 255).
|$687A || The maximum number of missiles that Samus may carry || $00-$FF(255)
|-
|-
|687B || Kraid defeated/statue00=Kraid alive. 01=Kraid dead/Statue ready to be raised. 02-7F=Kraid dead/Statue unraisable. 80-FF=Kraid dead/Statue raised.
|$687B || Kraid defeated/statue || $00=Kraid alive, $01=Kraid dead/Statue ready to be raised, $02-7F=Kraid dead/Statue unraisable,$80-FF=Kraid dead/Statue raised
|-
|-
|687C || Ridley defeated/statue. 00=Ridley alive. 01=Ridley dead/Statue ready to be raised. 02-7F=Ridley dead/Statue unraisable. 80-FF=Ridley dead/Statue raised.
|$687C || Ridley defeated/statue || $00=Ridley alive, $01=Ridley dead/Statue ready to be raised, $02-7F=Ridley dead/Statue unraisable, $80-FF=Ridley dead/Statue raised
|-
|-
|69B3 || Suit state. 00=Wearing suit. 01-FF=Not wearing suit.
|$69B3 || Suit state || $00=Wearing suit, $01-$FF(255)=Not wearing suit
|}
|}

Revision as of 20:17, 16 January 2008

Chip tiny.png The following article is a RAM map for Metroid.


Given non-RAM address values: $Hexadecimal value(Decimal value), ex. $63(99)

Any values less than $0A(10) will only show the Hex value.


RAM Function Details
$0064 Jump State $00=Unable to jump, $01=Able to jump
$0070 Temporary Invulnerability $00=Damageable, $01-$FF(255)=Count down to 0, undamageable
$0106 Samus' Energy (Byte 1) High nybble contains the "ones" place of the amount of energy Samus currently has.
$0107 Samus' Energy (Byte 2) Low nybble contains the "tens" place of the amount of energy Samus currently has. High nybble contains number of full tanks.
$010E Weapon selection $00=Arm Cannon, $01=Missles
$0200-02FF Sprite DMA
$0316 Horizontal movement in air Keep below $3F(63) to avoid graphical glitches. Keep at $2F(47) and below (?) to avoid door entry glitches--such will cause you to exit two screen widths in the opposite direction you entered.
$6877 Number of tanks collected. Keep to $06 or below to avoid redraw errors.
$6878 Special items Samus is currently carrying Each bit represents one of eight special items. Hex values are as follows:
Hex Decimal Item
$01 1 Bombs
$02 2 Hi-Jump
$04 4 Long Beam
$08 8 Screw Attack
$10 16 Maru Mari
$20 32 Varia
$40 64 Wave Beam
$80 128 Ice Beam

For multiple weapons, add values in hex. (Ex: $16(22) for Maru Mari, Long Beam, and Hi-Jump)

$6879 The current number of missiles that Samus is carrying $00-$FF(255)
$687A The maximum number of missiles that Samus may carry $00-$FF(255)
$687B Kraid defeated/statue $00=Kraid alive, $01=Kraid dead/Statue ready to be raised, $02-7F=Kraid dead/Statue unraisable,$80-FF=Kraid dead/Statue raised
$687C Ridley defeated/statue $00=Ridley alive, $01=Ridley dead/Statue ready to be raised, $02-7F=Ridley dead/Statue unraisable, $80-FF=Ridley dead/Statue raised
$69B3 Suit state $00=Wearing suit, $01-$FF(255)=Not wearing suit