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


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


==HP / Energy==
==HP / Energy==
 
<pre>
<Br>
$00B0 to $---- = Megaman's HP
{| border="1" cellpadding="3"
</pre>
| '''RAM''' || '''Function'''
|-
| $B0 || Megaman's HP
|-
|}
<br>


===Weapon Energy - Array===
===Weapon Energy - Array===
[[Mega_Man_IV:RAM_map:Arrays List|See Arrays List]]
[[Mega_Man_IV:Arrays_List#RAM_Only|See Arrays List]]
<Br>
$00B1 to $---- = Rush Coil
{| border="1" cellpadding="3"
$00B2 to $---- = Rush Jet
| '''RAM''' || '''Function'''
$00B3 to $---- = Rush Marine
|-
$00B4 to $---- = Toad - Rain Flush
| $B1 || Rush Coil
$00B5 to $---- = Wire Adaptor
|-
$00B6 to $---- = Balloon Adaptor
| $B2 || Rush Jet
$00B7 to $---- = Dive - Dive Missile
|-
$00B8 to $---- = Ring - Ring Boomerang
| $B3 || Rush Marine
$00B9 to $---- = Drill - Drill Bomb
|-
$00BA to $---- = Dust - Dust Crusher
| ||
$00BB to $---- = Pharaoh - Pharaoh Shot
|-
$00BC to $---- = Bright - Flash Stopper
| $B4 || Toad - Rain Flush
$00BD to $---- = Skull - Skull Barrier
|-
$00BE to $---- = [[Mega_Man_IV:RAM_map:$BE|Used for Weapon's menu drawing]]
| $B5 || Wire Adaptor
$00BF to $---- = [[Mega_Man_IV:RAM_map:$BF|Boss HP Amount for drawing]]
|-
| $B6 || Balloon Adaptor
|-
| $B7 || Dive - Dive Missile
|-
| $B8 || Ring - Ring Boomerang
|-
| $B9 || Drill - Drill Bomb
|-
| $BA || Dust - Dust Crusher
|-
| $BB || Pharaoh - Pharaoh Shot
|-
| $BC || Bright - Flash Stopper
|-
| $BD || Skull - Skull Barrier
|-
| $BE || [[Mega_Man_IV:RAM_map:$BE|Used for Weapon's menu drawing]]
|-
|}
<br>
 
{| border="1" cellpadding="3"
| '''RAM''' || '''Function'''
|-
| $BF || [[Mega_Man_IV:RAM_map:$BF|Boss HP Amount for drawing]]
|-
|}
<br>


==Sprite/Object Arrays==
==Sprite/Object Arrays==
<Br>
[[Mega Man IV:Arrays List#RAM_Only|See Arrays List]]
{| border="1" cellpadding="3"
$0300 to $0317 = Object ID
| '''RAM''' || '''Function''' || '''Details'''
$0318 to $032F = X Coordinate Ratio Counter
|-
$0330 to $0347 = X Coordinate
| $300-$317 || Object ID ||
$0348 to $035F = X Screen (Level Screen)
|-
$0360 to $0377 = Y Coordinate Ratio Counter
| $318-$32F || X Coordinate Ratio Counter ||
$0378 to $038F = Y Coordinate
|-
$0390 to $03A7 = Y Screen
| $330-$347 || X Coordinate ||
          $00 On visible screen
|-
          $01 to $7F On screen below visible screen
| $348-$35F || X Screen (Level Screen) ||
          $80 to $FF On screen above visible screen
|-
$03A8 to $03BF = Horizontal Speed Low
| $360-$377 || Y Coordinate Ratio Counter ||
$03C0 to $03D7 = Horizontal Speed High
|-
$03D8 to $03EF = Vertical Speed Low
| $378-$38F || Y Coordinate ||
$03F0 to $0407 = Vertical Speed High
|-
$0408 to $041F = [[Mega Man IV:RAM map:Substance and Shape|Substance and Shape]]
| $390-$3A7 || [[Mega_Man_IV:RAM_map:$390-$3A7: Y_Screen|Y Screen]] ||
$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]]
| $3A8-$3BF || Horizontal Speed Low ||
                  Useful to [[Mega Man IV:RAM map:FC9E / 7FCAE|FC9E / 7FCAE]]
|-
$0450 to $0467 = Enemy HP
| $3C0-$3D7 || Horizontal Speed High ||
$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]]
| $3D8-$3EF || Vertical Speed Low ||
$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]]
| $3F0-$407 || Vertical Speed High ||
$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]]
| $408-$41F || [[Mega_Man_IV:RAM_map:$408-$41F: Substance_and_Shape|Substance and Shape]] ||
$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]]
| $420-$437 || [[Mega_Man_IV:RAM_map:$420-$437: Direction_Bits|Direction Bits]] ||
$0528 to $053F = [[Mega Man IV:RAM map:Sprite Flags|Sprite Flags]]
|-
$0540 to $0557 = Sprite's Animation
| $438-$44F || [[Mega_Man_IV:RAM_map:$438-$44F: Enemy_Number#_in_Level|Enemy Number# in Level]] || Useful to [[Mega_Man_IV:RAM_map:$F9CE|$FC9E]]
$0558 to $056F = Sprite ID
|-
$0570 to $0587 = Animation Frame Counter
| $450-$467 || Enemy HP ||
$0588 to $059F = ASM - Low Address
|-
$05A0 to $05B7 = ASM - High Address
| $468-$47F || [[Mega_Man_IV:RAM_map:$468-47F: Object_ASM_Private_Memory_1|Object ASM Private Memory 1]] ||
$05B8 to $05CF = [[Mega Man IV:RAM map:Invincibility Blink/Freeze Action Status|Invincibility Blink / Freeze Action Status]]
|-
$05D0 to $05FF = Unused
| $480-$497 || [[Mega_Man_IV:RAM_map:$480-497: Object_ASM_Private_Memory_2|Object ASM Private Memory 2]] ||
|-
| $498-$4AF || [[Mega_Man_IV:RAM_map:$498-4AF: Object_ASM_Private_Memory_3|Object ASM Private Memory 3]] ||
|-
| $4B0-$4C7 || [[Mega_Man_IV:RAM_map:$4B0-$4C7: Object_ASM_Private_Memory_4|Object ASM Private Memory 4]] ||
|-
| $4C8-$4DF || [[Mega_Man_IV:RAM_map:$4C8-$4DF: Object_ASM_Private_Memory_5|Object ASM Private Memory 5]] ||
|-
| $4E0-$4F7 || [[Mega_Man_IV:RAM_map:$4E0-$4F7: Object_ASM_Private_Memory_6|Object ASM Private Memory 6]] ||
|-
| $4F8-$50F || [[Mega_Man_IV:RAM_map:$4F8-$50F: Object_ASM_Private_Memory_7|Object ASM Private Memory 7]] ||
|-
| $510-$527 || [[Mega_Man_IV:RAM_map:$510-$527: Object_ASM_Private_Memory 8|Object ASM Private Memory 8]] ||
|-
| $528-$53F || [[Mega_Man_IV:RAM_map:$528-$53F: Sprite_Flags|Sprite Flags]] ||
|-
| $540-$557 || Sprite's Animation ||
|-
| $558-$56F || Sprite ID ||
|-
| $570-$587 || Animation Frame Counter ||
|-
| $588-$59F || ASM - Low Address ||
|-
| $5A0-$5B7 || ASM - High Address ||
|-
| $5B8-$5CF || [[Mega_Man_IV:RAM_map:$5B8-$5CF: Invincibility Blink / Freeze Action Status|Invincibility Blink / Freeze Action Status]] ||
|-
| '''$5D0-$5FF''' || '''Never used in entire game''' ||
|}
<br>


==Credits==
{{Internal Data|game=Mega Man 4}}
Matrixz<br>
Matrixz<br>
Matrixz<br>
Matrixz<br>
Matrixz<br>
Matrixz<br>
Matrixz<br>
Matrixz<br>
Matrixz<br>
MartsINY<br>
Matrixz<br>
Matrixz<br>
Matrixz<br>
Matrixz<br>
Matrixz<br>
I think it's clear who did most of the job

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