Mega Man 4/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
m (Xkeeper moved page Mega Man 4:RAM map to Mega Man 4/RAM map: normalize subpages and titles)
 
(35 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Joypad Memory==
{{rammap|game=Mega Man 4}}


<Br>
==Joypad Memory==
{| border="1" cellpadding="3"
<pre>
| '''RAM''' || '''Function''' || '''Details'''
$0014 to $---- = Joypad 1 - Button Push Bits
|-
0 = Not Recently Pushed Down
| $14 || Joypad 1 - Button Push Bits || Bits possible values : [0 = Not Recently Pushed Down, 1 = Recently Pushed Down]
1 = Recently Pushed Down
|-
$0015 to $---- = Joypad 2 - Button Push Bits
| $15 || Joypad 2 - Button Push Bits || Bits possible values : [0 = Not Recently Pushed Down, 1 = Recently Pushed Down]
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]
$0016 to $---- = Joypad 1 - Button Status Bits
|-
0 = Not Being Pressed Down
| $17 || Joypad 2 - Button Status Bits || Bits possible values : [0 = Not Being Pressed Down, 1 = Being Pressed Down]
1 = Being Pressed Down
|-
$0017 to $---- = Joypad 2 - Button Status Bits
|}
0 = Not Being Pressed Down
<Br>
1 = Being Pressed Down
::'''LSB to MSB'''
</pre>
::{| border="1" cellpadding="3"
| '''Bit''' || '''Function''' || '''Bit''' || '''Function'''
|-
| 0 || Right || 4 || Start
|-
| 1 || Left || 5 || Select
|-
| 2 || Down || 6 || B
|-
| 3 || Up || 7 || A
|-
|}
<Br>


== Sprite/Object Arrays==
===LSB to MSB===
<Br>
<pre>
{| border="1" cellpadding="3"
0 = Right
| '''RAM''' || '''Function''' || '''Details'''
1 = Left
|-
2 = Down
| $300-$317 || Object ID ||
3 = Up
|-
4 = Start
| $318-$32F || X Coordinate Ratio Counter ||
5 = Select
|-
6 = B
| $330-$347 || X Coordinate ||
7 = A
|-
</pre>
| $348-$35F || X Screen (Level Screen) ||
 
|-
==HP / Energy==
| $360-$377 || Y Coordinate Ratio Counter ||
<pre>
|-
$00B0 to $---- = Megaman's HP
| $378-$38F || Y Coordinate ||
</pre>
|-
 
| $390-$3A7 || [[$390-$3A7: Y_Screen|Y Screen]] ||
===Weapon Energy - Array===
|-
[[Mega_Man_IV:Arrays_List#RAM_Only|See Arrays List]]
| $3A8-$3BF || Horizontal Speed Low ||
$00B1 to $---- = Rush Coil
|-
$00B2 to $---- = Rush Jet
| $3C0-$3D7 || Horizontal Speed High ||
$00B3 to $---- = Rush Marine
|-
$00B4 to $---- = Toad - Rain Flush
| $3D8-$3EF || Vertical Speed Low ||
$00B5 to $---- = Wire Adaptor
|-
$00B6 to $---- = Balloon Adaptor
| $3F0-$407 || Vertical Speed High ||
$00B7 to $---- = Dive - Dive Missile
|-
$00B8 to $---- = Ring - Ring Boomerang
| $408-$41F || [[$408-$41F: Substance_and_Shape|Substance and Shape]] ||
$00B9 to $---- = Drill - Drill Bomb
|-
$00BA to $---- = Dust - Dust Crusher
| $420-$437 || [[$420-$437: Direction_Bits|Direction Bits]] ||
$00BB to $---- = Pharaoh - Pharaoh Shot
|-
$00BC to $---- = Bright - Flash Stopper
| $438-$44F || [[Enemy_Number#_of_Level|Enemy Number# of Level]] || Useful to [[$F9CE: Set disable flag in $100-$11F range for stage's enemy/item to know which enemy to disable|$FC9E]]
$00BD to $---- = Skull - Skull Barrier
|-
$00BE to $---- = [[Mega_Man_IV:RAM_map:$BE|Used for Weapon's menu drawing]]
| $450-$467 || Enemy HP ||
$00BF to $---- = [[Mega_Man_IV:RAM_map:$BF|Boss HP Amount for drawing]]
|-
 
| $468-47F || [[$468-47F: Object_ASM_Private_Memory_1|Object ASM Private Memory 1]] ||
==Sprite/Object Arrays==
|-
[[Mega Man IV:Arrays List#RAM_Only|See Arrays List]]
| $480-497 || [[$480-497: Object_ASM_Private_Memory_2|Object ASM Private Memory 2]] ||
$0300 to $0317 = Object ID
|-
$0318 to $032F = X Coordinate Ratio Counter
| $498-4AF || [[$498-4AF: Object_ASM_Private_Memory_3|Object ASM Private Memory 3]] ||
$0330 to $0347 = X Coordinate
|-
$0348 to $035F = X Screen (Level Screen)
| $4B0-$4C7 || [[$4B0-$4C7: Object_ASM_Private_Memory_4|Object ASM Private Memory 4]] ||
$0360 to $0377 = Y Coordinate Ratio Counter
|-
$0378 to $038F = Y Coordinate
| $4C8-$4DF || [[$4C8-$4DF: Object_ASM_Private_Memory_5|Object ASM Private Memory 5]] ||
$0390 to $03A7 = Y Screen
|-
          $00 On visible screen
| $4E0-$4F7 || [[$4E0-$4F7: Object_ASM_Private_Memory_6|Object ASM Private Memory 6]] ||
          $01 to $7F On screen below visible screen
|-
          $80 to $FF On screen above visible screen
| $4F8-$50F || [[$4F8-$50F: Object_ASM_Private_Memory_7|Object ASM Private Memory 7]] ||
$03A8 to $03BF = Horizontal Speed Low
|-
$03C0 to $03D7 = Horizontal Speed High
| $510-$527 || [[$510-$527: Object_ASM_Private_Memory 8|Object ASM Private Memory 8]] ||
$03D8 to $03EF = Vertical Speed Low
|-
$03F0 to $0407 = Vertical Speed High
| $528-$53F || [[$528-$53F: Sprite_Flags|Sprite Flags]] ||
$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]]
| $540-$557 || Sprite's Animation ||
$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]]
| $558-$56F || Sprite ID ||
$0450 to $0467 = Enemy HP
|-
$0468 to $047F = [[Mega Man IV:RAM map:Object ASM Private Memory 1|Object ASM Private Memory 1]]
| $570-$587 || Animation Frame Counter ||
$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]]
| $588-$59F || ASM - Low Address ||
$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]]
| $5A0-$5B7 || ASM - High Address ||
$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]]
| $5B8-$5CF || [[$5B8-$5CF: Invincibility Blink / Freeze Action Status|Invincibility Blink / Freeze Action Status]] ||
$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]]
| '''$5D0-$5FF''' || '''Never used in entire game''' ||
$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