Mega Man 3 (NES)/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
 
(9 intermediate revisions by 3 users not shown)
Line 2: Line 2:


==Sprite/Object Arrays==
==Sprite/Object Arrays==
  $0300 to $031F = States  AND #$80 is used to for states.
  $0300 to $031F = And #$0F -> Used by objects' ASM to branch to different locations (indicate states)
                   Depending on State values, different behaviors occur.
                  And #$10 ->
                   AND #$7F unknown yet
                  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  
  $0320 to $033F = ASM pointer  
  $0340 to $035F = X Coordinate Ratio Counter  
  $0340 to $035F = X Coordinate Ratio Counter  
Line 27: Line 32:
  $05A0 to $05BF = Sprite's Animation
  $05A0 to $05BF = Sprite's Animation
  $05C0 to $05DF = Sprite ID
  $05C0 to $05DF = Sprite ID
  $05E0 to $05FF = Animation Frame Counter  
  $05E0 to $05FF = Animation Frame Counter
$05B8 to $05CF = [[Mega_Man_IV:RAM_map:$5B8-$5CF: Invincibility Blink / Freeze Action Status|Invincibility Blink / Freeze Action Status]]


==Player Variables==
==Player Variables==
Line 39: Line 43:
===Weapons===
===Weapons===
<pre>
<pre>
$00A3 to $---- = Gemini Beam
$00A0: current weapon equipped:
$00A4 to $---- = Needle Cannon
$00: Mega Buster
$00A5 to $---- = Hard Knuckle
$01: Gemini Laser
$00A6 to $---- = Magnet Missile
$02: Needle Cannon
$00A7 to $---- = Top Spin
$03: Hard Knuckle
$00A8 to $---- = Search Snake
$04: Magnet Missile
$00AA to $---- = Spark Shock
$05: Top Spin
$00AC to $---- = Shadow Blade
$06: Search Snake
$07: Rush Coil
$08: Spark Shock
$09: Rush Marine
$0A: Shadow Blade
$0B: Rush Jet


00 = Don't have weapon
Weapon Ammo addresses, format is w--aaaaa where w = you currently own the weapon, a = current ammo for that weapon:
9C = Have weapon
$00A2: Mega Buster
</pre>
$00A3: Gemini Beam
===Rush Equipment===
$00A4: Needle Cannon
<pre>
$00A5: Hard Knuckle
$00A9 to $---- = Rush Coil  
$00A6: Magnet Missile
$00AB to $---- = Rush Marine  
$00A7: Top Spin
$00AD to $---- = Rush Jet  
$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
</pre>
</pre>
==Miscellaneous Variables==
==Miscellaneous Variables==
===Stages===
===Stages===

Latest revision as of 19:59, 25 January 2024

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