Mega Man 4/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
m (Xkeeper moved page Mega Man 4:RAM map to Mega Man 4/RAM map: normalize subpages and titles)
 
(41 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Joypad Memory==
{{rammap|game=Mega Man 4}}
<Br>
 
'''RAM'''
==Joypad Memory==
<Br>
<pre>
{| border="1" cellpadding="3"
$0014 to $---- = Joypad 1 - Button Push Bits
| '''RAM''' || '''Function''' || '''Details'''
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]
$0015 to $---- = Joypad 2 - Button Push Bits
|-
0 = Not Recently Pushed Down
| $15 || Joypad 2 - Button Push Bits || Bits possible values : [0 = Not Recently Pushed Down, 1 = Recently Pushed Down]
1 = Recently Pushed Down]
|-
$0016 to $---- = Joypad 1 - Button Status Bits
| $16 || Joypad 1 - Button Status Bits || Bits possible values : [0 = Not Being Pressed Down, 1 = Being Pressed Down]
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]
$0017 to $---- = Joypad 2 - Button Status Bits
|-
0 = Not Being Pressed Down
|}
1 = Being Pressed Down
<Br>
</pre>
::'''LSB to MSB'''
 
::{| border="1" cellpadding="3"
===LSB to MSB===
| '''Bit''' || '''Function''' || '''Bit''' || '''Function'''
<pre>
|-
0 = Right
| 0 || Right || 4 || Start
1 = Left
|-
2 = Down
| 1 || Left || 5 || Select
3 = Up
|-
4 = Start
| 2 || Down || 6 || B
5 = Select
|-
6 = B
| 3 || Up || 7 || A
7 = A
|-
</pre>
|}
 
<Br>
==HP / Energy==
== Sprite/Object Arrays==
<pre>
<Br>
$00B0 to $---- = Megaman's HP
'''RAM'''
</pre>
<Br>
 
{| border="1" cellpadding="3"
===Weapon Energy - Array===
| '''RAM''' || '''Function''' || '''Details'''
[[Mega_Man_IV:Arrays_List#RAM_Only|See Arrays List]]
|-
$00B1 to $---- = Rush Coil
| $300-$317 || Object ID ||
$00B2 to $---- = Rush Jet
|-
$00B3 to $---- = Rush Marine
| $318-$32F || X Coordinate Ratio Counter ||
$00B4 to $---- = Toad - Rain Flush
|-
$00B5 to $---- = Wire Adaptor
| $330-$347 || X Coordinate ||
$00B6 to $---- = Balloon Adaptor
|-
$00B7 to $---- = Dive - Dive Missile
| $348-$35F || X Screen (Level Screen) ||
$00B8 to $---- = Ring - Ring Boomerang
|-
$00B9 to $---- = Drill - Drill Bomb
| $360-$377 || Y Coordinate Ratio Counter ||
$00BA to $---- = Dust - Dust Crusher
|-
$00BB to $---- = Pharaoh - Pharaoh Shot
| $378-$38F || Y Coordinate ||
$00BC to $---- = Bright - Flash Stopper
|-
$00BD to $---- = Skull - Skull Barrier
| $390-$3A7 || [[$390-$3A7: Y Screen|Y_Screen]] ||
$00BE to $---- = [[Mega_Man_IV:RAM_map:$BE|Used for Weapon's menu drawing]]
|-
$00BF to $---- = [[Mega_Man_IV:RAM_map:$BF|Boss HP Amount for drawing]]
| $3A8-$3BF || Horizontal Speed Low ||
 
|-
==Sprite/Object Arrays==
| $3C0-$3D7 || Horizontal Speed High ||
[[Mega Man IV:Arrays List#RAM_Only|See Arrays List]]
|-
$0300 to $0317 = Object ID
| $3D8-$3EF || Vertical Speed Low ||
$0318 to $032F = X Coordinate Ratio Counter
|-
$0330 to $0347 = X Coordinate
| $3F0-$407 || Vertical Speed High ||
$0348 to $035F = X Screen (Level Screen)
|-
$0360 to $0377 = Y Coordinate Ratio Counter
| $408-$41F || [[$408-$41F: Substance and Shape|Substance_and_Shape]] ||
$0378 to $038F = Y Coordinate
|-
$0390 to $03A7 = Y Screen
| $420-$437 || [[$420-$437: Direction Bits|Direction_Bits]]
          $00 On visible screen
|-
          $01 to $7F On screen below visible screen
| $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.
          $80 to $FF On screen above visible screen
|-
$03A8 to $03BF = Horizontal Speed Low
| $450-$467 || Enemy HP
$03C0 to $03D7 = Horizontal Speed High
|}
$03D8 to $03EF = Vertical Speed Low
$03F0 to $0407 = Vertical Speed High
$0408 to $041F = [[Mega Man IV:RAM map:Substance and Shape|Substance and Shape]]
$0420 to $0437 = [[Mega Man IV:RAM map:Direction Bits|Direction Bits]]
$0438 to $044F = [[Mega Man IV:RAM map:Enemy Number in Level|Enemy Number# in Level]]
                  Useful to [[Mega Man IV:RAM map:FC9E / 7FCAE|FC9E / 7FCAE]]
$0450 to $0467 = Enemy HP
$0468 to $047F = [[Mega Man IV:RAM map:Object ASM Private Memory 1|Object ASM Private Memory 1]]
$0480 to $0497 = [[Mega Man IV:RAM map:Object ASM Private Memory 2|Object ASM Private Memory 2]]
$0498 to $04AF = [[Mega Man IV:RAM map:Object ASM Private Memory 3|Object ASM Private Memory 3]]
$04B0 to $04C7 = [[Mega Man IV:RAM map:Object ASM Private Memory 4|Object ASM Private Memory 4]]
$04C8 to $04DF = [[Mega Man IV:RAM map:Object ASM Private Memory 5|Object ASM Private Memory 5]]
$04E0 to $04F7 = [[Mega Man IV:RAM map:Object ASM Private Memory 6|Object ASM Private Memory 6]]
$04F8 to $050F = [[Mega Man IV:RAM map:Object ASM Private Memory 7|Object ASM Private Memory 7]]
$0510 to $0527 = [[Mega Man IV:RAM map:Object ASM Private Memory 8|Object ASM Private Memory 8]]
$0528 to $053F = [[Mega Man IV:RAM map:Sprite Flags|Sprite Flags]]
$0540 to $0557 = Sprite's Animation
$0558 to $056F = Sprite ID
$0570 to $0587 = Animation Frame Counter
$0588 to $059F = ASM - Low Address
$05A0 to $05B7 = ASM - High Address
$05B8 to $05CF = [[Mega Man IV:RAM map:Invincibility Blink/Freeze Action Status|Invincibility Blink / Freeze Action Status]]
$05D0 to $05FF = Unused
 
{{Internal Data|game=Mega Man 4}}

Latest revision as of 02:42, 24 January 2024

Chip tiny.png The following article is a RAM map for Mega Man 4.

Joypad Memory

$0014 to $---- = Joypad 1 - Button Push Bits
	0 = Not Recently Pushed Down
	1 = Recently Pushed Down
$0015 to $---- = Joypad 2 - Button Push Bits
	0 = Not Recently Pushed Down
	1 = Recently Pushed Down]
$0016 to $---- = Joypad 1 - Button Status Bits
	0 = Not Being Pressed Down
	1 = Being Pressed Down
$0017 to $---- = Joypad 2 - Button Status Bits
	0 = Not Being Pressed Down
	1 = Being Pressed Down

LSB to MSB

0 = Right
1 = Left
2 = Down
3 = Up
4 = Start
5 = Select
6 = B
7 = A

HP / Energy

$00B0 to $---- = Megaman's HP

Weapon Energy - Array

See Arrays List

$00B1 to $---- = Rush Coil
$00B2 to $---- = Rush Jet
$00B3 to $---- = Rush Marine
$00B4 to $---- = Toad - Rain Flush
$00B5 to $---- = Wire Adaptor
$00B6 to $---- = Balloon Adaptor
$00B7 to $---- = Dive - Dive Missile
$00B8 to $---- = Ring - Ring Boomerang
$00B9 to $---- = Drill - Drill Bomb
$00BA to $---- = Dust - Dust Crusher
$00BB to $---- = Pharaoh - Pharaoh Shot
$00BC to $---- = Bright - Flash Stopper
$00BD to $---- = Skull - Skull Barrier
$00BE to $---- = Used for Weapon's menu drawing
$00BF to $---- = Boss HP Amount for drawing

Sprite/Object Arrays

See Arrays List

$0300 to $0317 = Object ID
$0318 to $032F = X Coordinate Ratio Counter
$0330 to $0347 = X Coordinate
$0348 to $035F = X Screen (Level Screen)
$0360 to $0377 = Y Coordinate Ratio Counter
$0378 to $038F = Y Coordinate
$0390 to $03A7 = Y Screen
          $00 	 	On visible screen
          $01 to $7F 	On screen below visible screen
          $80 to $FF 	On screen above visible screen 
$03A8 to $03BF = Horizontal Speed Low
$03C0 to $03D7 = Horizontal Speed High
$03D8 to $03EF = Vertical Speed Low
$03F0 to $0407 = Vertical Speed High
$0408 to $041F = Substance and Shape
$0420 to $0437 = Direction Bits
$0438 to $044F = Enemy Number# in Level
                 Useful to FC9E / 7FCAE
$0450 to $0467 = Enemy HP
$0468 to $047F = Object ASM Private Memory 1
$0480 to $0497 = Object ASM Private Memory 2
$0498 to $04AF = Object ASM Private Memory 3
$04B0 to $04C7 = Object ASM Private Memory 4
$04C8 to $04DF = Object ASM Private Memory 5
$04E0 to $04F7 = Object ASM Private Memory 6
$04F8 to $050F = Object ASM Private Memory 7
$0510 to $0527 = Object ASM Private Memory 8
$0528 to $053F = Sprite Flags
$0540 to $0557 = Sprite's Animation
$0558 to $056F = Sprite ID
$0570 to $0587 = Animation Frame Counter
$0588 to $059F = ASM - Low Address
$05A0 to $05B7 = ASM - High Address
$05B8 to $05CF = Invincibility Blink / Freeze Action Status
$05D0 to $05FF = Unused