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 3 (NES)/RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for Mega Man 3 (NES).

Sprite/Object Arrays

$0300 to $031F = And #$0F -> Used by objects' ASM to branch to different locations (indicate states)
                 And #$10 ->
                 And #$20 ->
                 And #$40 -> Active -> It's a boss, either Castle, Robot Master, etc... Special boss effect will be applied.
                                         -> Reducing Boss energy bar
                                         -> Blinking if not a castle boss
                                         -> Others
                 And #$80 -> Active -> Draw sprite
$0320 to $033F = ASM pointer 
$0340 to $035F = X Coordinate Ratio Counter 
$0360 to $037F = X Coordinate 
$0380 to $039F = X Screen (Level Screen) 
$03A0 to $03BF = Y Coordinate Ratio Counter 
$03C0 to $03DF = Y Coordinate 
$03E0 to $03FF = Y Screen 
$0400 to $041F = Horizontal Speed Low 
$0420 to $043F = Horizontal Speed High 
$0440 to $045F = Vertical Speed Low
$0460 to $047F = Vertical Speed High
$0480 to $049F = Substance and Shape 
$04A0 to $04BF = Direction Bits 
$04C0 to $04DF = Enemy Number# in Level 
$04E0 to $04FF = Enemy HP 
$0500 to $051F = Object ASM Private Memory 1
$0520 to $053F = Object ASM Private Memory 2
$0540 to $055F = Object ASM Private Memory 3
$0560 to $057F = Object ASM Private Memory 4
$0580 to $059F = Sprite Flags 
$05A0 to $05BF = Sprite's Animation
$05C0 to $05DF = Sprite ID
$05E0 to $05FF = Animation Frame Counter

Player Variables

Life & Health

$00A2 to $---- = Current HP 
$00AE to $---- = Lives Remaining 
$00AF to $---- = Energy Tanks Remaining 

Weapons

$00A0: current weapon equipped:
$00: Mega Buster
$01: Gemini Laser
$02: Needle Cannon
$03: Hard Knuckle
$04: Magnet Missile
$05: Top Spin
$06: Search Snake
$07: Rush Coil
$08: Spark Shock
$09: Rush Marine
$0A: Shadow Blade
$0B: Rush Jet

Weapon Ammo addresses, format is w--aaaaa where w = you currently own the weapon, a = current ammo for that weapon:
$00A2: Mega Buster
$00A3: Gemini Beam
$00A4: Needle Cannon
$00A5: Hard Knuckle
$00A6: Magnet Missile
$00A7: Top Spin
$00A8: Search Snake
$00A9: Rush Coil
$00AA: Spark Shock
$00AB: Rush Marine
$00AC: Shadow Blade
$00AD: Rush Jet

$00B5: number of shots/frames used of current weapon before ammo decrease

Miscellaneous Variables

Stages

$0022 to $---- = Current Stage
    00 - Needle Man
    01 - Magnet Man
    02 - Gemini Man
    03 - Hard Man
    04 - Top Man
    05 - Snake Man
    06 - Spark Man
    07 - Shadow Man
    08 - Needle Man 2
    09 - Gemini Man 2
    0A - Spark Man 2
    0B - Shadow Man 2
    0C - Wily Castle 1
    0D - Wily Castle 2
    0E - Wily Castle 3
    0F - Wily Castle 4
    10 - Wily Castle 5
    11 - Wily Castle 6
    14 - Ending scene
    16 - Dr. Light's Lab
$006E to $---- = Wily Stage 4 Boss Rematches
    00 - No bosses defeated
    01 - Needle Man defeated
    02 - Magnet Man defeated
    04 - Gemini Man defeated
    08 - Hard Man defeated
    10 - Top Man defeated
    20 - Snake Man defeated
    40 - Spark Man defeated
    80 - Shadow Man defeated
$00DC to $0DE4 = Music