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

From Data Crystal
Jump to navigation Jump to search
 
(34 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{rammap|game=Mega Man III}}
{{rammap|game=Mega Man 3}}


= Player Variables =
==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 = [[Mega_Man_IV:RAM_map:Y Screen: RAM 3E0-3FF|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 = [[Mega_Man_IV:RAM_map:480-49F: Substance and Shape|Substance and Shape]]
$04A0 to $04BF = [[Mega_Man_IV:RAM_map:4A0-4BF: Direction Bits|Direction Bits]]
$04C0 to $04DF = [[Mega_Man_IV:RAM_map:4C0-4DF: Enemy Number# in Level|Enemy Number# in Level]]
$04E0 to $04FF = Enemy HP
$0500 to $051F = [[Mega_Man_IV:RAM_map:500-51F: Object ASM Private Memory 1|Object ASM Private Memory 1]]
$0520 to $053F = [[Mega_Man_IV:RAM_map:520-53F: Object ASM Private Memory 2|Object ASM Private Memory 2]]
$0540 to $055F = [[Mega_Man_IV:RAM_map:540-55F: Object ASM Private Memory 3|Object ASM Private Memory 3]]
$0560 to $057F = [[Mega_Man_IV:RAM_map:560-57F: Object ASM Private Memory 4|Object ASM Private Memory 4]]
$0580 to $059F = [[Mega_Man_IV:RAM_map:580-59F: Sprite Flags|Sprite Flags]]
$05A0 to $05BF = Sprite's Animation
$05C0 to $05DF = Sprite ID
$05E0 to $05FF = Animation Frame Counter


<br>
==Player Variables==
===Life & Health===
<pre>
$00A2 to $---- = Current HP
$00AE to $---- = Lives Remaining
$00AF to $---- = Energy Tanks Remaining
</pre>
===Weapons===
<pre>
$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


== Life & Health ==
Weapon Ammo addresses, format is w--aaaaa where w = you currently own the weapon, a = current ammo for that weapon:
{| border="1" cellpadding="1"
$00A2: Mega Buster
| '''RAM''' || '''Function''' || '''Details'''
$00A3: Gemini Beam
|-
$00A4: Needle Cannon
| $00A2 || Current HP ||
$00A5: Hard Knuckle
|-
$00A6: Magnet Missile
| $00AE || Lives Remaining ||
$00A7: Top Spin
|-
$00A8: Search Snake
| $00AF || Energy Tanks Remaining ||
$00A9: Rush Coil
|-
$00AA: Spark Shock
|}
$00AB: Rush Marine
$00AC: Shadow Blade
$00AD: Rush Jet


<br>
$00B5: number of shots/frames used of current weapon before ammo decrease
</pre>


== Weapons ==
==Miscellaneous Variables==
===Stages===
<pre>
$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
</pre>


{| border="1" cellpadding="1"
| '''RAM''' || '''Function'''
|-
| $00A3 || Gemini Beam
|-
| $00A4 || Needle Cannon
|-
| $00A5 || Hard Knuckle
|-
| $00A6 || Magnet Missile
|-
| $00A7 || Top Spin
|-
| $00A8 || Search Snake
|-
| $00AA || Spark Shock
|-
| $00AC || Shadow Blade
|}


 
{{Internal Data|game=Mega Man 3}}
{| border="1" cellpadding="1"
| '''Hex value''' || '''Description'''
|-
|  00            || Don't have weapon
|-
|  9C            || Have weapon
|}
 
<br>
 
== Rush Equipment ==
{| border="1" cellpadding="1"
| '''RAM''' || '''Function''' || '''Details'''
|-
| $00A9 || Rush Coil ||
|-
| $00AB || Rush Marine ||
|-
| $00AD || Rush Jet ||
|-
|}
 
<br>
 
[[Category: Mega Man III]]

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