Mega Man 2/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(WIP cleanup + more infomation)
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{rammap|game=Mega Man 2}}
{{rammap|game=Mega Man 2}}


===General===
==General==
{| border="1" cellpadding="1"
{| border="1" cellpadding="1"
|'''RAM'''  || '''Function''' || '''Details'''
|'''RAM'''  || '''Function''' || '''Details'''
Line 41: Line 41:
|}
|}


===Sound===
==Sound==
{| border="1" cellpadding="1"
{| border="1" cellpadding="1"
|'''RAM'''  || '''Function''' || '''Details'''
|'''RAM'''  || '''Function''' || '''Details'''
Line 53: Line 53:
|}
|}


===Player properties===
==Player properties==
{| border="1" cellpadding="1"
{| border="1" cellpadding="1"
|'''RAM'''  || '''Function''' || '''Details'''
|'''RAM'''  || '''Function''' || '''Details'''
Line 156: Line 156:
|-
|-
| $0367-0369 || Mega Man's Color Palette ||  
| $0367-0369 || Mega Man's Color Palette ||  
|-
|}
<!-- Ported from Mega Man II/RAM map-->
{| border="1" cellpadding="1"
|'''RAM'''  || '''Size (in bytes)''' || '''Description'''
|-
| $0F12 || 1 || Mega Man facing: $00: left, $01: right
|-
| $0F15 || 1 || Mega Man X coordinate
|-
| $0F16 || 1 || Mega Man Y coordinate
|-
| $0F39 || 1 || Frame counter for main gameplay (pauses during pause menu)
|-
|-
|}
|}


===Graphics===
==Graphics==
{| border="1" cellpadding="1"
{| border="1" cellpadding="1"
|'''RAM'''  || '''Function''' || '''Details'''
|'''RAM'''  || '''Function''' || '''Details'''
Line 175: Line 188:
|}
|}


===Password Screen===
==Password Screen==
{| border="1" cellpadding="1"
{| border="1" cellpadding="1"
|'''RAM'''  || '''Function''' || '''Details'''
|'''RAM'''  || '''Function''' || '''Details'''
Line 186: Line 199:
|}
|}


===References===
==References==
#<div id="controller">[https://www.nesdev.org/wiki/Standard_controller#Report NESDev controller bits reference]</div>
#<div id="controller">[https://www.nesdev.org/wiki/Standard_controller#Report NESDev controller bits reference]</div>
#<div id="sprites">[https://www.nesdev.org/wiki/PPU_OAM#Byte_0 NESDev sprite format reference]</div>
#<div id="sprites">[https://www.nesdev.org/wiki/PPU_OAM#Byte_0 NESDev sprite format reference]</div>
Line 213: Line 226:


-->
-->
{{Internal Data}}

Latest revision as of 20:54, 8 February 2024

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

General

RAM Function Details
$001B Camera state
$00 Default
$01 Changing the nametable (E.g. scrolling within an area, creating the pause menu)
$02 Freeze before and after scrolling to a new area
$80 Scrolling vertically
$001F Camera X position
$0020 Camera X screen When $001F gets larger than $FF, this value increases by $01.
$0022 Camera Y position
$0023 Controller 1 Poll (1)
$0025 Controller 1 Mirror (1)
$0027 Controller 1 Poll Only changes on first frame of state change. Crash Man checks this for jump code. (1)
$0030 Gravity
$004B Invincibility timer When above $00, invincibility frames will start and this will count down at a rate of $01 per frame.
$00CB Difficulty setting When an enemy takes damage, if this value is $00 (Normal) the damage given will be bitshifted left, doubling it.
$002A Stage select cursor position $00 is Dr. Wily, $01-$08 goes clockwise starting from Bubble Man.
$06C1 Boss HP

Sound

RAM Function Details
$0066 Sound effects strobe Write $01 to play the SFX ID in address $0580
$0067 Music strobe Write $01 to play the Music in address $0000
$0580 Sound effect queue

Player properties

RAM Function Details
$06C0 Mega Man's HP
$0460 Mega Man's X location
$04A0 Mega Man's Y location
$0036 Shooting pose timer
$0032 Tile type Mega Man is standing on (feet)
Value Type
$00 Air
$01 Ground
$02 Ladder
$03 Instadeath (Spikes, Lava)
$04 Water
$05 Right Conveyer
$06 Left Conveyer
$07 Ice
$0033 Tile type Mega Man is standing on (center)
$0034 Tile type Mega Man is overlapping
$003D Is Mega Man shooting?
$009A Unlocked Weapons/Stages beaten
Bits Hex Weapon
0000 0001 $01 Atomic Fire
0000 0010 $02 Air Shooter
0000 0100 $04 Leaf Shield
0000 1000 $08 Bubble Lead
0001 0000 $10 Quick Boomerang
0010 0000 $20 Time Stopper
0100 0000 $40 Metal Blade
1000 0000 $80 Crash Bomb
$009B Unlocked Items
Bits Hex Item
0000 0001 $01 Item 1 (Helicopter Platform)
0000 0010 $02 Item 2 (Jet Sled)
0000 0100 $04 Item 3 (Climbing Platform)
$009C Atomic Fire Ammo
$009D Air Shooter Ammo
$009E Leaf Shield Ammo
$009F Bubble Lead Ammo
$00A0 Quick Boomerang Ammo
$00A1 Time Stopper Ammo
$00A2 Metal Blade Ammo
$00A3 Crash Bomb Ammo
$00A4 Item 1 Ammo
$00A5 Item 2 Ammo
$00A6 Item 3 Ammo
$00A7 Number of Energy Tanks Remaining Can go above $04, but will break passwords.
$00A8 Number of Lives remaining Looks glichy on the pause menu if greater than $64.
$0367-0369 Mega Man's Color Palette
RAM Size (in bytes) Description
$0F12 1 Mega Man facing: $00: left, $01: right
$0F15 1 Mega Man X coordinate
$0F16 1 Mega Man Y coordinate
$0F39 1 Frame counter for main gameplay (pauses during pause menu)

Graphics

RAM Function Details
$0200-$2FF Sprite memory These values are constantly read and sent to OAM. (2)
$0354 Palette cycling pattern Values seem level-dependent?
$0355 Palette cycling speed How many frames to wait before cycling the palette, $00 for no cycling. May glitch outside of levels.
$0356-$365 Palette memory (background)
$0366-$375 Palette memory (sprites)

Password Screen

RAM Function Details
$0420 - $0438 If 01, this grid space contains a dot. Goes from left to right, top to bottom.
$0680 Number of dots left on Password entering
$0680 Position of cursor on Password entering

References