Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Mega Man 4/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
m (MartsINY moved page Mega Man IV:RAM map to RAM map (Mega Man 4))
m (Xkeeper moved page Mega Man 4:RAM map to Mega Man 4/RAM map: normalize subpages and titles)
 
(16 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#RAM_Only|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==
[[Arrays List (Mega Man 4)#RAM_Only|See Arrays List]]
[[Mega Man IV:Arrays List#RAM_Only|See Arrays List]]
<Br>
$0300 to $0317 = Object ID
{| border="1" cellpadding="3"
$0318 to $032F = X Coordinate Ratio Counter
| '''RAM''' || '''Function''' || '''Details'''
$0330 to $0347 = X Coordinate
|-
$0348 to $035F = X Screen (Level Screen)
| 300-317 || Object ID ||
$0360 to $0377 = Y Coordinate Ratio Counter
|-
$0378 to $038F = Y Coordinate
| 318-32F || X Coordinate Ratio Counter ||
$0390 to $03A7 = Y Screen
|-
          $00 On visible screen
| 330-347 || X Coordinate ||
          $01 to $7F On screen below visible screen
|-
          $80 to $FF On screen above visible screen
| 348-35F || X Screen (Level Screen) ||
$03A8 to $03BF = Horizontal Speed Low
|-
$03C0 to $03D7 = Horizontal Speed High
| 360-377 || Y Coordinate Ratio Counter ||
$03D8 to $03EF = Vertical Speed Low
|-
$03F0 to $0407 = Vertical Speed High
| 378-38F || Y Coordinate ||
$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]]
| 390-3A7 || [[RAM 390-3A7: Y Screen (Mega Man 4)|Y Screen]] ||
$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]]
| 3A8-3BF || Horizontal Speed Low ||
$0450 to $0467 = Enemy HP
|-
$0468 to $047F = [[Mega Man IV:RAM map:Object ASM Private Memory 1|Object ASM Private Memory 1]]
| 3C0-3D7 || Horizontal Speed High ||
$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]]
| 3D8-3EF || Vertical Speed Low ||
$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]]
| 3F0-407 || Vertical Speed High ||
$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]]
| 408-41F || [[RAM 408-41F: Substance and Shape (Mega Man 4)|Substance and Shape]] ||
$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]]
| 420-437 || [[RAM 420-437: Direction Bits (Mega Man 4)|Direction Bits]] ||
$0540 to $0557 = Sprite's Animation
|-
$0558 to $056F = Sprite ID
| 438-44F || [[Mega_Man_IV:RAM_map:$438-$44F: Enemy_Number#_in_Level|Enemy Number# in Level]] || Useful to [[FC9E / 7FCAE (Mega Man 4)|FC9E / 7FCAE]]
$0570 to $0587 = Animation Frame Counter
|-
$0588 to $059F = ASM - Low Address
| 450-467 || Enemy HP ||
$05A0 to $05B7 = ASM - High Address
|-
$05B8 to $05CF = [[Mega Man IV:RAM map:Invincibility Blink/Freeze Action Status|Invincibility Blink / Freeze Action Status]]
| 468-47F || [[Mega_Man_IV:RAM_map:$468-47F: Object_ASM_Private_Memory_1|Object ASM Private Memory 1]] ||
$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