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.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Mega Man 2/RAM map: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(Re-organised the infomation into tables. May need more cleanup.) |
||
Line 1: | Line 1: | ||
{{rammap|game=Mega Man 2}} | {{rammap|game=Mega Man 2}} | ||
=== | ===General=== | ||
{| border="1" cellpadding="1" | |||
|'''RAM''' || '''Function''' || '''Details''' | |||
|- | |||
| $0022 || Vertical position of screen scrolling || | |||
|- | |||
| $0023 || Controller 1 Poll || | |||
|- | |||
| $0025 || Controller 1 Mirror || | |||
|- | |||
| $0027 || Controller 1 Poll || Only changes on first frame of state change. Crash Man checks this for jump code. | |||
|- | |||
| $002A || Area selected || | |||
|- | |||
| $0030 || Gravity || | |||
|- | |||
| $004B || Invincibility timer || When above $00, invincibility frames will start and this will count down at a rate of $01 per frame. | |||
|- | |||
|} | |||
Controller values for $0023/$0025/$0027: | |||
{| border="1" cellpadding="1" | |||
|'''Bits''' || '''Button''' | |||
|- | |||
| <tt>0000 0001</tt> || A | |||
|- | |||
| <tt>0000 0010</tt> || B | |||
|- | |||
| <tt>0000 0100</tt> || Select | |||
|- | |||
| <tt>0000 1000</tt> || Start | |||
|- | |||
| <tt>0001 0000</tt> || Up | |||
|- | |||
| <tt>0010 0000</tt> || Down | |||
|- | |||
| <tt>0100 0000</tt> || Left | |||
|- | |||
| <tt>1000 0000</tt> || Right | |||
|- | |||
|} | |||
===Sound=== | ===Sound=== | ||
{| border="1" cellpadding="1" | |||
|'''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=== | |||
{| border="1" cellpadding="1" | |||
|'''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 || Ground type Mega Man is on (feet) || | |||
{|border="1" cellpadding="1" | |||
|'''Value''' || '''Type''' | |||
|- | |||
| $00 || Air | |||
|- | |||
| $01 || Ground | |||
|- | |||
| $02 || Ground | |||
|- | |||
| $05 || Right Conveyer | |||
|- | |||
| $02 || Left Conveyer | |||
|- | |||
| $07 || Ice | |||
|- | |||
|} | |||
|- | |||
| $0032 || Ground type Mega Man is on (center) || See above | |||
|- | |||
| $003D || Is Mega Man shooting? || | |||
|- | |||
| $009A || Unlocked Weapons || | |||
{|border="1" cellpadding="1" | |||
|'''Bits''' || '''Hex''' || '''Weapon''' | |||
|- | |||
| <tt>0000 0001</tt> || $01 || Atomic Fire | |||
|- | |||
| <tt>0000 0010</tt> || $02 || Air Shooter | |||
|- | |||
| <tt>0000 0100</tt> || $04 || Leaf Shield | |||
|- | |||
| <tt>0000 1000</tt> || $08 || Bubble Lead | |||
|- | |||
| <tt>0001 0000</tt> || $10 || Quick Boomerang | |||
|- | |||
| <tt>0010 0000</tt> || $20 || Time Stopper | |||
|- | |||
| <tt>0100 0000</tt> || $40 || Metal Blade | |||
|- | |||
| <tt>1000 0000</tt> || $80 || Crash Bomb | |||
|- | |||
|} | |||
|- | |||
| $009B || Unlocked Items || | |||
{|border="1" cellpadding="1" | |||
|'''Bits''' || '''Hex''' || '''Item''' | |||
|- | |||
| <tt>0000 0001</tt> || $01 || Item 1 (Helicopter Platform) | |||
|- | |||
| <tt>0000 0010</tt> || $02 || Item 2 (Jet Sled) | |||
|- | |||
| <tt>0000 0100</tt> || $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. | |||
|- | |||
| $00CB || Difficulty setting || When an enemy takes damage, if this value is $00 (Normal) the damage given will be bitshifted left, doubling it. | |||
|- | |||
| $0367-0369 || Mega Man's Color Palette || | |||
|- | |||
|} | |||
===Stage Select=== | |||
{| border="1" cellpadding="1" | |||
|'''RAM''' || '''Function''' || '''Details''' | |||
|- | |||
| $002A || Cursor position || $00 is Dr. Wily, $01-$08 goes clockwise starting from Bubble Man. | |||
|- | |||
| $0200 - $0203 || Heat Man's left eye sprite data || | |||
{|border="1" cellpadding="1" | |||
|'''Address''' || '''Property''' | |||
|- | |||
| $0200 || Y | |||
|- | |||
| $0201 || Tile | |||
|- | |||
| $0202 || Palette | |||
|- | |||
| $0203 || X | |||
|- | |||
|} | |||
|- | |||
| $0200 - $0203 || Heat Man's right eye sprite data || | |||
{|border="1" cellpadding="1" | |||
|'''Address''' || '''Property''' | |||
|- | |||
| $0204 || Y | |||
|- | |||
| $0205 || Tile | |||
|- | |||
| $0206 || Palette | |||
|- | |||
| $0207 || X | |||
|- | |||
|} | |||
|- | |||
|} | |||
===Password Screen=== | |||
{| border="1" cellpadding="1" | |||
|'''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 || | |||
|} | |||
<!-- These need more detailed research. Commenting out for now. | |||
===Graphics Set Stuff=== | ===Graphics Set Stuff=== | ||
* $003A - A background-related boolean? (Changes to the rhythm of the flashing clouds of Airman's stage) | * $003A - A background-related boolean? (Changes to the rhythm of the flashing clouds of Airman's stage) | ||
* $00F7 - Graphics Set | * $00F7 - Graphics Set | ||
===Title Screen=== | |||
{| border="1" cellpadding="1" | |||
|'''RAM''' || '''Function''' || '''Details''' | |||
|- | |||
| $04A2 || Windows' Y position || | |||
|- | |||
| $04A3 || Side of building's Y position || | |||
|- | |||
| $04B0 || Mega Man's Y position || | |||
|- | |||
|} | |||
===Sprite stuff=== | ===Sprite stuff=== | ||
* $049F - Enemy 1's speed to the left | * $049F - Enemy 1's speed to the left | ||
* $04BF - Enemy 1's Y location | * $04BF - Enemy 1's Y location | ||
--> | |||
Revision as of 23:45, 2 June 2022
The following article is a RAM map for Mega Man 2.
General
RAM | Function | Details |
$0022 | Vertical position of screen scrolling | |
$0023 | Controller 1 Poll | |
$0025 | Controller 1 Mirror | |
$0027 | Controller 1 Poll | Only changes on first frame of state change. Crash Man checks this for jump code. |
$002A | Area selected | |
$0030 | Gravity | |
$004B | Invincibility timer | When above $00, invincibility frames will start and this will count down at a rate of $01 per frame. |
Controller values for $0023/$0025/$0027:
Bits | Button |
0000 0001 | A |
0000 0010 | B |
0000 0100 | Select |
0000 1000 | Start |
0001 0000 | Up |
0010 0000 | Down |
0100 0000 | Left |
1000 0000 | Right |
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 | Ground type Mega Man is on (feet) |
| |||||||||||||||||||||||||||
$0032 | Ground type Mega Man is on (center) | See above | |||||||||||||||||||||||||||
$003D | Is Mega Man shooting? | ||||||||||||||||||||||||||||
$009A | Unlocked Weapons |
| |||||||||||||||||||||||||||
$009B | Unlocked Items |
| |||||||||||||||||||||||||||
$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. | |||||||||||||||||||||||||||
$00CB | Difficulty setting | When an enemy takes damage, if this value is $00 (Normal) the damage given will be bitshifted left, doubling it. | |||||||||||||||||||||||||||
$0367-0369 | Mega Man's Color Palette |
Stage Select
RAM | Function | Details | ||||||||||
$002A | Cursor position | $00 is Dr. Wily, $01-$08 goes clockwise starting from Bubble Man. | ||||||||||
$0200 - $0203 | Heat Man's left eye sprite data |
| ||||||||||
$0200 - $0203 | Heat Man's right eye sprite data |
|
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 |