Difference between revisions of "Mega Man 5:RAM map"

From Data Crystal
Jump to: navigation, search
(Redundant category removal)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{rammap|game=Mega Man V}}
+
{{rammap|game=Mega Man 5}}
 +
<pre>
 +
$0014 to $---- = Keys pressed on pad 1
 +
$0015 to $---- = Always cleared
 +
$0016 to $---- = Keys held on pad 1
 +
$0017 to $---- = Always cleared
 +
$0018 to $---- = Palette changed
 +
$0019 to $---- = Draw horizontal data
 +
$001A to $---- = Draw vertical data
 +
$001B to $---- = Palette cycle stopped
 +
$001C to $---- = Update tile
 +
$001E to $---- = New tile position
 +
$0023 to $---- = New tile number
 +
$0026 to $---- = Current level
 +
$0027 to $---- = PRG bank for level
 +
$0028 to $---- = Scrolling direction
 +
$0029 to $---- = Area number
 +
$002A to $---- = Maximum screen
 +
$002B to $---- = Current screen
 +
$002C to $---- = Mirroring
 +
$002D to $---- = Life bar select
 +
$002E to $---- = Weapon bar select
 +
$002F to $---- = Boss bar enable
 +
$0030 to $---- = Current move
 +
$0031 to $---- = Direction
 +
$0032 to $---- = Current weapon
 +
$0033 to $---- = Shooting timer
 +
$0034 to $---- = Shooting flag
 +
$0035 to $---- = Sliding timer
 +
$0036 to $---- = Kill block type
 +
    F0    => Kill
 +
    00    => Nothing
 +
    others => decrease life by 1
 +
$0037 to $---- = to $---- = Platform sprite index
 +
$0038 to $---- = Charge counter
 +
$0039 to $---- = Platform direction
 +
$003A to $---- = Platform X speed low
 +
$003B to $---- = Platform X speed high
 +
$003C to $---- = Previous X pos low
 +
$003D to $---- = Previous X pos high
 +
$003E to $---- = Previous Y pos low
 +
$003F to $---- = Previous Y pos high
 +
$0041 to $---- = Unused
 +
$0042 to $---- = Largest block type found
 +
$0043 to $---- = Nb. of destroyed blocks
 +
$0044 to $---- = Previous scroll X
 +
$0045 to $---- = Previous scroll Y
 +
$0046 to $---- = Vertical level
 +
$0047 to $---- = Block number to draw
 +
$0048 to $004F Block types in each tested position
 +
$0050 to $---- = Weapon selection in menu order
 +
$0051 to $---- = Unused
 +
$0054 to $---- = Freeze counter
 +
$0055 to $---- = Horizontal autoscroll lock
 +
$0056 to $---- = Boss sprite index
 +
$0057 to $---- = Bump timer
 +
$0058 to $---- = Bump flag
 +
$0059 to $---- = Destroyed block disable
 +
$005A to $---- = Animation disable
 +
$005B to $---- = Shot type
 +
$005D to $---- = Picked up M-tank
 +
$0060 to $---- = Display updated
 +
$0069 to $---- = Last screen visited
 +
$006A to $---- = Current boss in rematch
 +
$006B to $---- = Killed bosses in rematch
 +
$006C to $---- = Current Wily level
 +
$006D to $---- = Beat letters
 +
$006E to $---- = Levels cleared
 +
$0074 to $---- = Show elevator borders
 +
$0075 to $---- = Elevator position low
 +
$0076 to $---- = Elevator position high
 +
$0078 to $---- = Split parameters
 +
$0080 to $008F = Thread info
 +
$0090 to $---- = VBL flag
 +
$0092 to $---- = Asynchronous frame counter
 +
$0093 to $0094 Execute address
 +
$0095 to $---- = Critical section flag
 +
$0096 to $---- = Split effect enabled
 +
$0097 to $0098 Split effect execution routine
 +
$0099 to $---- = Next split effect number
 +
$009A to $---- = Current split effect number
 +
$009B to $---- = Next split position
 +
$009C to $---- = Current split position
 +
$009D to $---- = Synchronous frame counter
 +
$009E to $---- = Current sprite drawn
 +
$009F to $---- = Next OAM table offset
 +
$00A0 to $---- = Freeze frame
 +
$00A1 to $---- = Gravity
 +
$00A2 to $---- = Current Y scroll
 +
$00A4 to $---- = Current X scroll
 +
$00A5 to $---- = Current name table
 +
$00A6 to $---- = Current sprite
 +
$00A7 to $---- = Saved X register when PRG change interrupted
 +
$00A8 to $---- = Saved Y register when PRG change interrupted
 +
$00A9 to $---- = Colour lock
 +
$00AC to $---- = Horizontal scroll direction
 +
$00AD to $---- = Next enemy in level
 +
$00AE to $---- = Previous enemy in level
 +
$00AF to $---- = Mega man upside down
 +
$00B0 to $---- = Life
 +
$00B1 to $00BC = Weapon energy
 +
$00BD to $---- = E-tanks
 +
$00BE to $---- = M-tanks
 +
$00BF to $---- = Lives
 +
$00C0 to $---- = In sound code
 +
$00C7 to $---- = Song time increment
 +
$00C8 to $---- = Song time low
 +
$00C9 to $---- = Song speed high
 +
$00CA to $---- = Song spedd low
 +
$00CB to $---- = Global transpose
 +
$00CC to $---- = SF channels playing
 +
$00CF to $---- = Current track bit
 +
$00D0 to $00D1 = SF pointer
 +
$00D2 to $---- = SF transpose
 +
$00D3 to $---- = SF ontime
 +
$00D4 to $---- = SF timer
 +
$00D5 to $---- = SF on-timer
 +
$00DA to $---- = Sound queue write pointer
 +
$00DB to $---- = Sound queue read pointer
 +
$00DC to $00E3 = Sound queue
 +
$00E4 to $00E7 = LSFR
 +
$00E8 to $00E9 = NMI return address
 +
$00EA to $00EB = Background CHR banks
 +
$00EC to $00EF = Sprite CHR banks
 +
$00F0 to $---- = Screen disabled
 +
$00F2 to $---- = Last MMC3 command
 +
$00F3 to $---- = Last PRG bank 8000 to 9FFF
 +
$00F4 to $---- = Last PRG bank A000 to BFFF
 +
$00F5 to $---- = New PRG bank 8000 to 9FFF
 +
$00F6 to $---- = New PRG bank A000 to BFFF
 +
$00F7 to $---- = In PRG change
 +
$00F8 to $---- = Postponed PRG change
 +
$00F9 to $---- = Scroll X high
 +
$00FA to $---- = Scroll Y
 +
$00FB to $---- = Vertical screen offset
 +
$00FC to $---- = Scroll X
 +
$00FD to $---- = Current nametable
 +
$00FE to $---- = Display settings 1
 +
$00FF to $---- = Display settings 2
 +
$0100 to $011F = Powerups taken in level
 +
$0150 to $016F = Debug stack
 +
$0170 to $017F = Main stack
 +
$0190 to $01AF = Palette animation stack
 +
$01B0 to $01DF = Game stack
 +
$01E0 to $01FF = System stack
 +
$0200 to $02FF = OAM table
 +
$0300 to $0317 = Sprite type
 +
$0318 to $032F = X position fraction
 +
$0330 to $0347 = X position low
 +
$0348 to $035F = X position high
 +
$0360 to $0377 = Y position fraction
 +
$0378 to $038F = Y position low
 +
$0390 to $03A7 = Y position high
 +
$03A8 to $03BF = X speed low
 +
$03C0 to $03D7 = X speed high
 +
$03D8 to $03EF = Y speed low
 +
$03F0 to $0407 = Y speed high
 +
$0408 to $041F Sprite flags
 +
    7      => Hurts Mega Man
 +
    6      => Shielded,
 +
    5 to  0 => Size
 +
$0420 to $0437 = Direction
 +
$0438 to $044F = Sprite number
 +
$0450 to $0467 = Life
 +
$0468 to $047F = Variable A
 +
$0480 to $0497 = Variable B
 +
$0498 to $04AF = Variable C
 +
$04B0 to $04C7 = Variable D
 +
$04C8 to $04DF = Variable E
 +
$04E0 to $04F7 = Variable F
 +
$04F8 to $050F = Variable G
 +
$0510 to $0527 = Variable H
 +
$0528 to $053F = Display flags
 +
    6 => Flipped
 +
    5 => Mirrored,
 +
    4 => In  background
 +
    3 => Don't destroy when off screen
 +
    2 => Invisible
 +
$0540 to $0557 = Animation frame
 +
$0558 to $056F = Animation
 +
$0570 to $0587 = Animation timer
 +
$0588 to $059F = Enemy handler low
 +
$05A0 to $05B7 = Enemy handler high
 +
$05B8 to $05CF = Flash counter
 +
$05D0 Background animation
 +
$05D1 Background frame
 +
$05D2 Background timer
 +
$05E0 to $05EF = Current column
 +
$05F0 to $05F3 = Palette animation
 +
$05F4 to $05F7 = Palette frame
 +
$05F8 to $05FB = Palette timer
 +
$0600 to $061F = Palette
 +
$0620 to $063F = Original palette
 +
$0640 to $067F = Attribute table
 +
$0680 to $06BF = Local destroyed blocks
 +
$06C0 to $06FF = Destroyed blocks
 +
$0700 to $077F = Channel variables
 +
$0780 to $07FF = Drawing buffer
 +
</pre>
 +
{{source|HHS}}
  
RAM Locations provided by the user HHS.
+
{{Internal Data|game=Mega Man 5}}
 
 
0014 Keys pressed on pad 1
 
0015 Always cleared
 
0016 Keys held on pad 1
 
0017 Always cleared
 
0018 Palette changed
 
0019 Draw horizontal data
 
001A Draw vertical data
 
001B Palette cycle stopped
 
001C Update tile
 
001E New tile position
 
0023 New tile number
 
0026 Current level
 
0027 PRG bank for level
 
0028 Scrolling direction
 
0029 Area number
 
002A Maximum screen
 
002B Current screen
 
002C Mirroring
 
002D Life bar select
 
002E Weapon bar select
 
002F Boss bar enable
 
0030 Current move
 
0031 Direction
 
0032 Current weapon
 
0033 Shooting timer
 
0034 Shooting flag
 
0035 Sliding timer
 
0036 Kill block type (F0 => Kill, 00 => Nothing,
 
  others => decrease  life by 1)
 
0037 Platform sprite index
 
0038 Charge counter
 
0039 Platform direction
 
003A Platform X speed low
 
003B Platform X speed high
 
003C Previous X pos low
 
003D Previous X pos high
 
003E Previous Y pos low
 
003F Previous Y pos high
 
0041 Unused
 
0042 Largest block type found
 
0043 Nb. of destroyed blocks
 
0044 Previous scroll X
 
0045 Previous scroll Y
 
0046 Vertical level
 
0047 Block number to draw
 
0048-004F Block types in each tested position
 
0050 Weapon selection in menu order
 
0051 Unused
 
0054 Freeze counter
 
0055 Horizontal autoscroll lock
 
0056 Boss sprite index
 
0057 Bump timer
 
0058 Bump flag
 
0059 Destroyed block disable
 
005A Animation disable
 
005B Shot type
 
005D Picked up M-tank
 
0060 Display updated
 
0069 Last screen visited
 
006A Current boss in rematch
 
006B Killed bosses in rematch
 
006C Current Wily level
 
006D Beat letters
 
006E Levels cleared
 
0074 Show elevator borders
 
0075 Elevator position low
 
0076 Elevator position high
 
0078 Split parameters
 
0080-008F Thread info
 
0090 VBL flag
 
0092 Asynchronous frame counter
 
0093-0094 Execute address
 
0095 Critical section flag
 
0096 Split effect enabled
 
0097-0098 Split effect execution routine
 
0099 Next split effect number
 
009A Current split effect number
 
009B Next split position
 
009C Current split position
 
009D Synchronous frame counter
 
009E Current sprite drawn
 
009F Next OAM table offset
 
00A0 Freeze frame
 
00A1 Gravity
 
00A2 Current Y scroll
 
00A4 Current X scroll
 
00A5 Current name table
 
00A6 Current sprite
 
00A7 Saved X register when PRG change interrupted
 
00A8 Saved Y register when PRG change interrupted
 
00A9 Colour lock
 
00AC Horizontal scroll direction
 
00AD Next enemy in level
 
00AE Previous enemy in level
 
00AF Mega man upside down
 
00B0 Life
 
00B1-00BC Weapon energy
 
00BD E-tanks
 
00BE M-tanks
 
00BF Lives
 
00C0 In sound code
 
00C7 Song time increment
 
00C8 Song time low
 
00C9 Song speed high
 
00CA Song spedd low
 
00CB Global transpose
 
00CC SF channels playing
 
00CF Current track bit
 
00D0-00D1 SF pointer
 
00D2 SF transpose
 
00D3 SF ontime
 
00D4 SF timer
 
00D5 SF on-timer
 
00DA Sound queue write pointer
 
00DB Sound queue read pointer
 
00DC-00E3 Sound queue
 
00E4-00E7 LSFR
 
00E8-00E9 NMI return address
 
00EA-00EB Background CHR banks
 
00EC-00EF Sprite CHR banks
 
00F0 Screen disabled
 
00F2 Last MMC3 command
 
00F3 Last PRG bank 8000-9FFF
 
00F4 Last PRG bank A000-BFFF
 
00F5 New PRG bank 8000-9FFF
 
00F6 New PRG bank A000-BFFF
 
00F7 In PRG change
 
00F8 Postponed PRG change
 
00F9 Scroll X high
 
00FA Scroll Y
 
00FB Vertical screen offset
 
00FC Scroll X
 
00FD Current nametable
 
00FE Display settings 1
 
00FF Display settings 2
 
0100-011F Powerups taken in level
 
0150-016F Debug stack
 
0170-017F Main stack
 
0190-01AF Palette animation stack
 
01B0-01DF Game stack
 
01E0-01FF System stack
 
0200-02FF OAM table
 
0300-0317 Sprite type
 
0318-032F X position fraction
 
0330-0347 X position low
 
0348-035F X position high
 
0360-0377 Y position fraction
 
0378-038F Y position low
 
0390-03A7 Y position high
 
03A8-03BF X speed low
 
03C0-03D7 X speed high
 
03D8-03EF Y speed low
 
03F0-0407 Y speed high
 
0408-041F Sprite flags (7 => Hurts Mega Man, 6 => Shielded,
 
  5 to 0 => Size)
 
0420-0437 Direction
 
0438-044F Sprite number
 
0450-0467 Life
 
0468-047F Variable A
 
0480-0497 Variable B
 
0498-04AF Variable C
 
04B0-04C7 Variable D
 
04C8-04DF Variable E
 
04E0-04F7 Variable F
 
04F8-050F Variable G
 
0510-0527 Variable H
 
0528-053F Display flags (6 => Flipped, 5 => Mirrored,
 
  4 => In  background, 3 => Don't destroy when off screen,
 
  2 => Invisible)
 
0540-0557 Animation frame
 
0558-056F Animation
 
0570-0587 Animation timer
 
0588-059F Enemy handler low
 
05A0-05B7 Enemy handler high
 
05B8-05CF Flash counter
 
05D0 Background animation
 
05D1 Background frame
 
05D2 Background timer
 
05E0-05EF Current column
 
05F0-05F3 Palette animation
 
05F4-05F7 Palette frame
 
05F8-05FB Palette timer
 
0600-061F Palette
 
0620-063F Original palette
 
0640-067F Attribute table
 
0680-06BF Local destroyed blocks
 
06C0-06FF Destroyed blocks
 
0700-077F Channel variables
 
0780-07FF Drawing buffer
 

Latest revision as of 23:44, 27 June 2017

$0014 to $---- = Keys pressed on pad 1
$0015 to $---- = Always cleared
$0016 to $---- = Keys held on pad 1
$0017 to $---- = Always cleared
$0018 to $---- = Palette changed
$0019 to $---- = Draw horizontal data
$001A to $---- = Draw vertical data
$001B to $---- = Palette cycle stopped
$001C to $---- = Update tile
$001E to $---- = New tile position
$0023 to $---- = New tile number
$0026 to $---- = Current level
$0027 to $---- = PRG bank for level
$0028 to $---- = Scrolling direction
$0029 to $---- = Area number
$002A to $---- = Maximum screen
$002B to $---- = Current screen
$002C to $---- = Mirroring
$002D to $---- = Life bar select
$002E to $---- = Weapon bar select
$002F to $---- = Boss bar enable
$0030 to $---- = Current move
$0031 to $---- = Direction
$0032 to $---- = Current weapon
$0033 to $---- = Shooting timer
$0034 to $---- = Shooting flag
$0035 to $---- = Sliding timer
$0036 to $---- = Kill block type
    F0     => Kill
    00    => Nothing
    others => decrease life by 1
$0037 to $---- = to $---- = Platform sprite index
$0038 to $---- = Charge counter
$0039 to $---- = Platform direction
$003A to $---- = Platform X speed low
$003B to $---- = Platform X speed high
$003C to $---- = Previous X pos low
$003D to $---- = Previous X pos high
$003E to $---- = Previous Y pos low
$003F to $---- = Previous Y pos high
$0041 to $---- = Unused
$0042 to $---- = Largest block type found
$0043 to $---- = Nb. of destroyed blocks
$0044 to $---- = Previous scroll X
$0045 to $---- = Previous scroll Y
$0046 to $---- = Vertical level
$0047 to $---- = Block number to draw
$0048 to $004F Block types in each tested position
$0050 to $---- = Weapon selection in menu order
$0051 to $---- = Unused
$0054 to $---- = Freeze counter
$0055 to $---- = Horizontal autoscroll lock
$0056 to $---- = Boss sprite index
$0057 to $---- = Bump timer
$0058 to $---- = Bump flag
$0059 to $---- = Destroyed block disable
$005A to $---- = Animation disable
$005B to $---- = Shot type
$005D to $---- = Picked up M-tank
$0060 to $---- = Display updated
$0069 to $---- = Last screen visited
$006A to $---- = Current boss in rematch
$006B to $---- = Killed bosses in rematch
$006C to $---- = Current Wily level
$006D to $---- = Beat letters
$006E to $---- = Levels cleared
$0074 to $---- = Show elevator borders
$0075 to $---- = Elevator position low
$0076 to $---- = Elevator position high
$0078 to $---- = Split parameters
$0080 to $008F = Thread info
$0090 to $---- = VBL flag
$0092 to $---- = Asynchronous frame counter
$0093 to $0094 Execute address
$0095 to $---- = Critical section flag
$0096 to $---- = Split effect enabled
$0097 to $0098 Split effect execution routine
$0099 to $---- = Next split effect number
$009A to $---- = Current split effect number
$009B to $---- = Next split position
$009C to $---- = Current split position
$009D to $---- = Synchronous frame counter
$009E to $---- = Current sprite drawn
$009F to $---- = Next OAM table offset
$00A0 to $---- = Freeze frame
$00A1 to $---- = Gravity
$00A2 to $---- = Current Y scroll
$00A4 to $---- = Current X scroll
$00A5 to $---- = Current name table
$00A6 to $---- = Current sprite
$00A7 to $---- = Saved X register when PRG change interrupted
$00A8 to $---- = Saved Y register when PRG change interrupted
$00A9 to $---- = Colour lock
$00AC to $---- = Horizontal scroll direction
$00AD to $---- = Next enemy in level
$00AE to $---- = Previous enemy in level
$00AF to $---- = Mega man upside down
$00B0 to $---- = Life
$00B1 to $00BC = Weapon energy
$00BD to $---- = E-tanks
$00BE to $---- = M-tanks
$00BF to $---- = Lives
$00C0 to $---- = In sound code
$00C7 to $---- = Song time increment
$00C8 to $---- = Song time low
$00C9 to $---- = Song speed high
$00CA to $---- = Song spedd low
$00CB to $---- = Global transpose
$00CC to $---- = SF channels playing
$00CF to $---- = Current track bit
$00D0 to $00D1 = SF pointer
$00D2 to $---- = SF transpose
$00D3 to $---- = SF ontime
$00D4 to $---- = SF timer
$00D5 to $---- = SF on-timer
$00DA to $---- = Sound queue write pointer
$00DB to $---- = Sound queue read pointer
$00DC to $00E3 = Sound queue
$00E4 to $00E7 = LSFR
$00E8 to $00E9 = NMI return address
$00EA to $00EB = Background CHR banks
$00EC to $00EF = Sprite CHR banks
$00F0 to $---- = Screen disabled
$00F2 to $---- = Last MMC3 command
$00F3 to $---- = Last PRG bank 8000 to 9FFF
$00F4 to $---- = Last PRG bank A000 to BFFF
$00F5 to $---- = New PRG bank 8000 to 9FFF
$00F6 to $---- = New PRG bank A000 to BFFF
$00F7 to $---- = In PRG change
$00F8 to $---- = Postponed PRG change
$00F9 to $---- = Scroll X high
$00FA to $---- = Scroll Y
$00FB to $---- = Vertical screen offset
$00FC to $---- = Scroll X
$00FD to $---- = Current nametable
$00FE to $---- = Display settings 1
$00FF to $---- = Display settings 2
$0100 to $011F = Powerups taken in level
$0150 to $016F = Debug stack
$0170 to $017F = Main stack
$0190 to $01AF = Palette animation stack
$01B0 to $01DF = Game stack
$01E0 to $01FF = System stack
$0200 to $02FF = OAM table
$0300 to $0317 = Sprite type
$0318 to $032F = X position fraction
$0330 to $0347 = X position low
$0348 to $035F = X position high
$0360 to $0377 = Y position fraction
$0378 to $038F = Y position low
$0390 to $03A7 = Y position high
$03A8 to $03BF = X speed low
$03C0 to $03D7 = X speed high
$03D8 to $03EF = Y speed low
$03F0 to $0407 = Y speed high
$0408 to $041F Sprite flags
    7       => Hurts Mega Man
    6       => Shielded,
    5 to  0 => Size
$0420 to $0437 = Direction
$0438 to $044F = Sprite number
$0450 to $0467 = Life
$0468 to $047F = Variable A
$0480 to $0497 = Variable B
$0498 to $04AF = Variable C
$04B0 to $04C7 = Variable D
$04C8 to $04DF = Variable E
$04E0 to $04F7 = Variable F
$04F8 to $050F = Variable G
$0510 to $0527 = Variable H
$0528 to $053F = Display flags
    6 => Flipped
    5 => Mirrored,
    4 => In  background
    3 => Don't destroy when off screen
    2 => Invisible
$0540 to $0557 = Animation frame
$0558 to $056F = Animation
$0570 to $0587 = Animation timer
$0588 to $059F = Enemy handler low
$05A0 to $05B7 = Enemy handler high
$05B8 to $05CF = Flash counter
$05D0 Background animation
$05D1 Background frame
$05D2 Background timer
$05E0 to $05EF = Current column
$05F0 to $05F3 = Palette animation
$05F4 to $05F7 = Palette frame
$05F8 to $05FB = Palette timer
$0600 to $061F = Palette
$0620 to $063F = Original palette
$0640 to $067F = Attribute table
$0680 to $06BF = Local destroyed blocks
$06C0 to $06FF = Destroyed blocks
$0700 to $077F = Channel variables
$0780 to $07FF = Drawing buffer
(Source: HHS)


Internal Data for Mega Man 5

ROM MapRAM MapText TableNotesTutorials