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)
 
(46 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Joypad Memory==
{{rammap|game=Mega Man 4}}


'''RAM'''
==Joypad Memory==
<pre>
$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
</pre>


{| border="1" cellpadding="3"
===LSB to MSB===
| '''RAM''' || '''Function''' || '''Description''' || '''Details'''
<pre>
|-
0 = Right
| $14 || Joypad 1 - Button Push Bits || Bits possible values : [0 = Not Recently Pushed Down, 1 = Recently Pushed Down] || [[Bits signification]]
1 = Left
|-
2 = Down
| $15 || Joypad 2 - Button Push Bits || Bits possible values : [0 = Not Recently Pushed Down, 1 = Recently Pushed Down] || [[a|Bits signification]]
3 = Up
|-
4 = Start
| $16 || Joypad 1 - Button Status Bits || Bits possible values : [0 = Not Being Pressed Down, 1 = Being Pressed Down] || [[Bits signification]]
5 = Select
|-
6 = B
| $17 || Joypad 2 - Button Status Bits || Bits possible values : [0 = Not Being Pressed Down, 1 = Being Pressed Down] || [[Bits signification]]
7 = A
|-
</pre>
|}


==HP / Energy==
<pre>
$00B0 to $---- = Megaman's HP
</pre>


<a id="Joypad_Bits_Signification">'''Bits signification of $14, $15, $16, $17'''</a>
===Weapon Energy - Array===
[[Mega_Man_IV:Arrays_List#RAM_Only|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 $---- = [[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]]


'''LSB to MSB'''
==Sprite/Object Arrays==
{| border="1" cellpadding="3"
[[Mega Man IV:Arrays List#RAM_Only|See Arrays List]]
| '''Bit''' || '''Function''' || '''Bit''' || '''Function'''
$0300 to $0317 = Object ID
|-
$0318 to $032F = X Coordinate Ratio Counter
| 0 || Right || 4 || Start
$0330 to $0347 = X Coordinate
|-
$0348 to $035F = X Screen (Level Screen)
| 1 || Left || 5 || Select
$0360 to $0377 = Y Coordinate Ratio Counter
|-
$0378 to $038F = Y Coordinate
| 2 || Down || 6 || B
$0390 to $03A7 = Y Screen
|-
          $00 On visible screen
| 3 || Up || 7 || A
          $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 = [[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