Super Mario Bros. 2 (NES)/ROM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a ROM map for Super Mario Bros. 2 (NES).

ROM Map

  • 0059C4 to 005A7D (0000ba) = Graphic Combos for Sprites
  • 005A7F to 005AC4 (000046) = Sprite Pointers for Graphics
  • 006040 to ?????? (??????) = Additional Combos for Sprites
  • 00819F to 00829D (0000ff) = Sound effects data
  • 00876F to 008F0F (0007a1) = Empty
  • 008F10 to 008FC2 (0000b3) = Note Length Tables
  • 008FC3 to 00900F (00004d) = Empty
  • 009010 to 009039 (00002a) = Music Pointers
  • 00903A to 009112 (0000d9) = Music Headers
  • 009113 to 00911B (000009) = Music Headers
  • 00911C to 009124 (000009) = Music Headers
  • 009125 to 00912D (000009) = Music Headers
  • 00912E to 00A19D (001070) = Music Data
  • 00A19E to 00A3FE (000261) = Instrument Sounds
  • 00A3FF to 00C00F (001c11) = Empty
  • 00C02C to 00C437 (00040c) = Palettes used for levels
  • 00C??? to 00C??? (??????) = Tile Definitions
  • 010010 to 010024 (000015) = Starting Area Data
  • 010025 to 0101C8 (0001a4) = Level Pointers
  • 0101C9 to 012433 (00226b) = Level Data
  • 012434 to 0124FF (0000cc) = Empty Data
  • 012500 to 012563 (000064) = Important Data
  • 012564 to 012707 (0001a4) = Enemy Pointers
  • 012708 to 01303F (000938) = Enemy Data
  • 013040 to 01400F (000fc1) = Empty Data
  • 014010 to 0140AF (0000a0) = Card inset for Worlds 1-6
  • 0140B0 to 01414F (0000a0) = Card inset for World 7
  • 0143DD to 014438 (??????) = Selectable Characters' properties
  • 01443A to 01443C (000003) = Mario in action palette
  • 01443E to 014440 (000003) = Princess in action palette
  • 014442 to 014444 (000003) = Toad in action palette
  • 014446 to 014448 (000003) = Luigi in action palette
  • 0144FF to 01450E (000010) = Palettes for Selection screen
  • 014664 to 01800F (0039ac) = Empty
  • 01F2F0 to 01F30F (000020) = Tiles to use for Character animation Tiles
  • 01F4FC to 01F540 (000045) = Sprite palette, mirroring, etc.
  • 01F544 to 01F559 (000016) = Sprite Status
  • 01F66A to 01F670 (000007) = Warp destinations
  • 01F805 to 01FA7C (000278) = Combos of four 8x8 PPU tiles to make one 16x16 block
  • 01FE10 to 01FE16 (000006) = Sprite set for Worlds 1-7 (known valid values: 0C, 0D, 0E, 0F)
  • 01FE17 to 01FE1D (000006) = Landscape set for Worlds 1-7 (known valid values: 0A, 10, 12, 14, 16)
  • 020010 to 04000F (020000) = Graphics used by the game (can be expanded)

Miscellaneous Data

0x000C77 - Amount of time needed to charge jump


0x00102A - Number of cherries required for Starman

0x001034 - sound effect for grabbing a cherry

0x0010DF - Item pulled once the 1-Up flag is activated

0x0010F2 - Sprite pulled after number of big vegetables pulled is activated

0x0011FE - Button for opening doors

0X001820 ~ 0X001A1C - Text for Title

0X001892 ~ 0X0018B1 - Palettes for Title screen

0x001AA9 - song to play at Title screen


0x002E70 ~ 0x00309F - Empty


0x003B70 ~ 0x00400F - Empty


0x004099 - Sound effect from falling in 1-1

0x004556 - Number of enemies defeated for heart


0x004C4A - Panser's spitting time

0x004C74 - Grey panser's spitting direction


0x004D53 - Jump height on coming out of jars


0x004F4E - Sprite Graphic to use for Heart floating

0x004F7B - Health for Birdos

0x004FA8 - Birdo's jump height

0x004FC3 - Birdo's spitting time

0x004FD6 - Birdo's speed (right)

0x004FDC - Birdo's speed (left)

0x004FEA - Birdo's spitting sound

0x005061 - Sound a 1-up makes

0X0050B8 - sound effect for grabbing a mushroom

0x0050CB - Amount of time the stop watch is active


0x0053C7 - Jumping Ninja's 1st jump

0x0053C8 - Jumping Ninja's 2nd jump

0x0053C9 - Running Ninja's 1st jump

0x0053CA - Running Ninja's 2nd jump


0X005523 - Tweeter AI (it can follow you)

0x00552A - Tweeter jump before the other jump

0x00552E - Tweeter's number of jumps of first jump before the second jump

0x005532 - Tweeter's other jump after performing the previous jump


0x00556C - Snifit's jump height

0x0055A3 - Snifit's spitting time


0x005703 - Amount of time the ground shakes from a POW


0x005818 ~ 0x005848 - How the Doors open


0x005ECD ~ 0x00603F - Empty


0x00611E - Health for Claw Grip of World 5

0x006171 - Claw Grip's rock throwing time

0x0061D5 - Rock speed


0X006486 - Amount of time to fly Pidget's carpet

0x00657F - Health for Mouser of World 1

0x006586 - Health for Mouser of World 3

0x0065B0 - Mouser's jump height

0x0065BC - Mouser's bomb holding time

0x0065F4 - Mouser's bomb throwing height

0x0065FB - Time before bomb explosion

0x0065FF - Mouser's bomb throwing speed


0x00673D - Health for Triclydes


0x0068BB - Triclyde's spitting sound


0x006C7E - Health for Fry Guy of World 4

0x006FF7 - Health for Hawkmouth of World 7

0x0070BB - Health for revived Hawkmouth

0x0070C6 - Amount of time Hawkmouth is open (before Wart)

0x0071E0 - Health for Wart of World 7

0x00721D - Wart's speed (left)

0x007223 - Wart's speed (right)


0x00782A - Length of Starman

0x007E7D - Pointer to tiles used for life bar

0x007E66 - Starting Y position

0x007E83 - Starting X position

0x007E88 - Life bar properties (palette, mirroring, etc.)

0x007E93 - Space between each life bar


0x00819F ~ 0x0081C5 - Sound Effect data for Subspace Door appearing

0x0081C6 ~ 0x0081EC - Sound Effect data for Throwing

0x0081ED ~ 0x00820B - Sound Effect data for Birdo Egg Spit

0x00820C ~ 0x008212 - Sound Effect data for Cherry grab, selection, etc.

0x008213 ~ 0x008229 - Sound Effect for Enemy hit

0x00822A ~ 0x008243 - Sound Effect data for Stop Watch click

0x008244 ~ 0x008275 - Sound Effect data for Wart Bubble Spit

0x008276 ~ 0x00829D - Sound Effect data for 1-Up grab


0x00876F ~ 0x008F0F - Empty


0x009010 - Pointer for Mushroom Grab

0x009011 - Pointer for Boss beaten

0x009012 - Pointer for Getting Lives in Bonus Chance

0x009013 - Pointer for Dying

0x009014 - Pointer for Game Over

0x009015 - Pointer for Crystal Grab

0x009016 - ???

0x009017 ~ 0x00901F - Pointers for Character seleciion Screen

0x009020 ~ 0x009026 - Pointers for Main Theme

0x009027 - Pointer for Boss Theme

0x009028 - Pointer for Star Grab Music

0x009029 - Pointer for Wart's Room Music

0x00902A ~ 0x00902D - Pointers for Title Screen Music

0x00902E ~ 0x009032 - Pointers for Sub-Space Music

0x009033 ~ 0x009038 - Pointers for Ending

0x009039 - Pointer for Underground, Cave Music

0x00903A - Music Header for Selection Part 1

0x009040 - Music Header for Selection Part 2

0x009046 - Music Header for Selection Part 3

0x00904C - Music Header for Selection Part 5

0x009052 - Music Header for Selection Part 6

0x009058 - Music Header for Main Theme Part 1

0x00905E - Music Header for Main Theme Part 2

0x009064 - Music Header for Main Theme Part 3

0x00906A - Music Header for Main Theme Part 4

0x009070 - Music Header for Main Theme Part 5

0x009072 - Music Header for Boss Theme

0x009076 - Music Header for Main Theme Part 6

0x00907C - Music Header for Cave

0x009094 - Music Header for Crystal/1-Up won

0x00909E ~ 0x0090A3 - Beat a boss

0x0090A9 - Music Header for Beginning of Bonus

0x0090A3 - Music Header for Selection Part 9

0x0090AE - Music Header for Selection Part 8

0x0090B4 - Music Header for Death (only 1 part)

0x0090B9 - Music Header for Selection Part 7


0x0090BF - Music Header for Title Part 2

0x0090C5 - Music Header for Title Part 1

0x0090CB - Music Header for Title Part 3

0x0090D1 - Music Header for Title Part 4


0x0090D7 - Music Header for Subspace Part 1

0x0090DD - Music Header for Subspace Part 2


0x00912E ~ 0x0091AB - Music Data for Ending (Part 1)

0x0091AC ~ 0x00921C - Music Data for Ending (Part 2)

0x00921D ~ 0x00928F - Music Data for Ending (Part 5)

0x009290 ~ 0x009301 - Music Data for Ending (Part 3)

0x009302 ~ 0x009385 - Music Data for Ending (Part 4)

0x009386 ~ 0x009478 - Music Data for Ending (Part 6)

0x009479 ~ 0x0094CC - Music Data for Star

0x0094CD ~ 0x00955F - Music Data for Underground

0X009560 ~ 0x0095B2 - Music Data for Subspace (Part 1)

0X0095B3 ~ 0x0095EF - Music Data for Subspace (Part 2)

0X0095F0 ~ 0x00961E - Music Data for Subspace (Part 3)

0X00961F ~ 0x00965D - Music Data for Subspace (Part 4)

0X00964E ~ 0x0096B6 - Music Data for Intro (Part 2)

0X0096B7 ~ 0x0097A3 - Music Data for Intro (Part 1)

0X0097A4 ~ 0x009887 - Music Data for Intro (Part 3)

0X009888 ~ 0x0098BC - Music Data for Intro (Part 4)

0X0098BD ~ 0x00996B - Music Data for Selection (Part 1)

0X00996C ~ 0x0099A9 - Music Data for Selection (Part 2)

0X0099AA ~ 0x0099AD - Music Data for Selection (Part 3)

0X0099AE ~ 0x009A35 - Music Data for Selection (Part 4)

0X009A36 ~ 0x009A6C - Music Data for Selection (Part 5)

0X009A6D ~ 0x009AEE - Music Data for Selection (Part 8)

0X009AEF ~ 0x009BA2 - Music Data for Selection (Part 7)

0X009BA3 ~ 0x009BE3 - Music Data for Selection (Part 6)

0X009BE4 ~ 0x009C2F - Music Data for Main Theme (Part 1)

0X009C30 ~ 0x009D08 - Music Data for Main Theme (Part 2)

0X009D09 ~ 0x009D4E - Music Data for Main Theme (Part 3)

0X009D4F ~ 0x009E0F - Music Data for Main Theme (Part 4)

0X009E10 ~ 0x009E5C - Music Data for Main Theme (Part 5)

0X009E5D ~ 0x009F2B - Music Data for Main Theme (Part 6)

0X009F2C ~ 0x009FD6 - Music Data for Boss

0X009FD7 ~ 0x00A0CA - Music Data for Wart

0X00A0CB ~ 0x00A0DD - Music Data for Bonus

0X00A0DE ~ 0x00A101 - Music Data for Game Over

0X00A102 ~ 0x00A157 - Music Data for Boss Beaten

0X00A158 ~ 0x00A17E - Music Data for Bonus 2

0X00A17F = Music Data for Dying, Losing Bonus Chance


0x00A19E ~ 0x00A3FE - Instruments

0x00A25C ~ 0x00A260 - Instrument ???



0x00C438 - World 1 Ground Type status (ice, etc.)

0x00C439 - World 2 Ground Type status (ice, etc.)

0x00C43A - World 3 Ground Type status (ice, etc.)

0x00C43B - World 4 Ground Type status (ice, etc.)

0x00C43C - World 5 Ground Type status (ice, etc.)

0x00C43D - World 6 Ground Type status (ice, etc.)

0x00C43F - World 7 Ground Type status (ice, etc.)

0x00C440 - Pick-up sand status (vertical areas)

0x00C446 - World 1 Type of ground

0x00C447 - World 2 Type of ground

0x00C448 - World 3 Type of ground

0x00C449 - World 4 Type of ground

0x00C44A - World 5 Type of ground

0x00C44B - World 6 Type of ground

0x00C44C - World 7 Type of ground

0x00C44D - World 1 Interior Type status (ice, etc.)

0x00C44E - World 2 Interior Type status (ice, etc.)

0x00C44F - World 3 Interior Type status (ice, etc.)

0x00C450 - World 4 Interior Type status (ice, etc.)

0x00C451 - World 5 Interior Type status (ice, etc.)

0x00C452 - World 6 Interior Type status (ice, etc.)

0x00C453 - World 7 Interior Type status (ice, etc.)


0x00D967 ~ 0x01000F - Empty


FF = end of level (area)

first four bytes after the FF = Header for levels


0x010010 ~ 0x010024 Starting area data

0x010025 ~ 0x0101C8 Level pointers

0x0101C9 ~ 0x01242D Level data

0x01242E ~ 0x0124FF Empty

0x012500 ~ 0x012563 Important data???

0x012564 ~ 0x012707 Enemy pointers

0x012708 ~ 0x01303F Enemy data


0x013040 ~ 0x01400F Empty

0x014010 ~ 0x0140AF - Card inset for Worlds 1-6

0x0140B0 ~ 0x01414F - Card inset for World 7


0x01427F - Bonus Game graphic placement


0x0143DD ~ 0x0143E2 - Mario's pick-up speed for each animation

0x0143E3 - Mario's Jump Speed, still - no object

0x0143E4 - Mario's Jump Speed, still - with object

0x0143E5 - Mario's Jump Speed, charged - no object

0x0143E6 - Mario's Jump Speed, charged - with object

0x0143E7 - Mario's Jump Speed, running - no object

0x0143E8 - Mario's Jump Speed, running - with object

0x0143E9 - Mario's Jump Speed - in quicksand

0x0143EA - Mario's Floating Time

0x0143EB - Mario's Gravity without Jump button pressed

0x0143EC - Mario's Gravity with Jump button pressed

0x0143ED - Mario's Gravity in quicksand

0x0143EE - Mario's Running Speed, right - no object

0x0143EF - Mario's Running Speed, right - with object

0x0143F0 - Mario's Running Speed, right - in quicksand

0x0143F1 - Mario's Running Speed, left - no object

0x0143F2 - Mario's Running Speed, left - with object

0x0143F3 - Mario's Running Speed, left - in quicksand

0x0143F4 ~ 0x0143F9 - Toad's pick-up speed for each animation

0x0143FA - Toad's Jump Speed, still - no object

0x0143FB - Toad's Jump Speed, still - with object

0x0143FC - Toad's Jump Speed, charged - no object

0x0143FD - Toad's Jump Speed, charged - with object

0x0143FE - Toad's Jump Speed, running - no object

0x0143FF - Toad's Jump Speed, running - with object

0x014400 - Toad's Jump Speed - in quicksand

0x014401 - Toad's Floating Time

0x014402 - Toad's Gravity without Jump button pressed

0x014403 - Toad's Gravity with Jump button pressed

0x014404 - Toad's Gravity in quicksand

0x014405 - Toad's Running Speed, right - no object

0x014406 - Toad's Running Speed, right - with object

0x014407 - Toad's Running Speed, right - in quicksand

0x014408 - Toad's Running Speed, left - no object

0x014409 - Toad's Running Speed, left - with object

0x0143FA - Toad's Running Speed, left - in quicksand

0x01440B ~ 0x014410 - Luigi's pick-up speed for each animation

0x014411 - Luigi's Jump Speed, still - no object

0x014412 - Luigi's Jump Speed, still - with object

0x014413 - Luigi's Jump Speed, charged - no object

0x014414 - Luigi's Jump Speed, charged - with object

0x014415 - Luigi's Jump Speed, running - no object

0x014416 - Luigi's Jump Speed, running - with object

0x014417 - Luigi's Jump Speed - in quicksand

0x014418 - Luigi's Floating Time

0x014419 - Luigi's Gravity without Jump button pressed

0x01441A - Luigi's Gravity with Jump button pressed

0x01441B - Luigi's Gravity in quicksand

0x01441C - Luigi's Running Speed, right - no object

0x01441D - Luigi's Running Speed, right - with object

0x01441E - Luigi's Running Speed, right - in quicksand

0x01441F - Luigi's Running Speed, left - no object

0x014420 - Luigi's Running Speed, left - with object

0x014321 - Luigi's Running Speed, left - in quicksand

0x014422 ~ 0x014427 - Princess' pick-up speed for each animation

0x014428 - Princess' Jump Speed, still - no object

0x014429 - Princess' Jump Speed, still - with object

0x01442A - Princess' Jump Speed, charged - no object

0x01442B - Princess' Jump Speed, charged - with object

0x01442C - Princess' Jump Speed, running - no object

0x01442D - Princess' Jump Speed, running - with object

0x01442E - Princess' Jump Speed - in quicksand

0x01442F - Princess' Floating Time

0x014430 - Princess' Gravity without Jump button pressed

0x014431 - Princess' Gravity with Jump button pressed

0x014432 - Princess' Gravity in quicksand

0x014433 - Princess' Running Speed, right - no object

0x014434 - Princess' Running Speed, right - with object

0x014435 - Princess' Running Speed, right - in quicksand

0x014436 - Princess' Running Speed, left - no object

0x014437 - Princess' Running Speed, left - with object

0x014438 - Princess' Running Speed, left - in quicksand D87 - Luigi's jump [Hex edit Not in game] Value A5 [on] or A9 [off].

0x8f - Jump kicking [00 off, 03 on] [in game] (Thanks to Drag on NESDev)


0x01443A ~ 0x01443C - Mario in action palette

0x01443E ~ 0x014440 - Princess in action palette

0x014442 ~ 0x014444 - Toad in action palette

0x014446 ~ 0x014448 - Luigi in action palette


0x0144FF ~ 0x01450E - Palettes for Selection screen


0x014664 ~ 0x01800F - Empty


0x018B70 ~ 0x0192AF - Ending CAST (excluding WART)


0x019450 ~ 0x01C00F - Empty


0x01E022 - First level for World 1

0x01E023 - First level for World 2

0x01E024 - First level for World 3

0x01E025 - First level for World 4

0x01E026 - First level for World 5

0x01E027 - First level for World 6

0x01E028 - First level for World 7


0x01E0D1 - background when Mario is not highlighted

0x01E0D2 ~ 0x01E0D4 - Mario not highlighted palette

0x01E0D6 ~ 0x01E0D8 - Luigi not highlighted palette

0x01E0DA ~ 0x01E0DC - Toad not highlighted palette

0x01E0DE ~ 0x01E0E0 - Princess highlighted palette


0x01E0E8 - background when Mario is highlighted

0x01E0E9 ~ 0x01E0EB - Mario highlighted palette

0x01E0F0 ~ 0x01E0F2 - Luigi highlighted palette

0x01E0F7 ~ 0x01E0F9 - Toad highlighted palette

0x01E0FE ~ 0x01E100 - Princess highlighted palette


0x01E114 ~ 0x01E123 - Palette for the Pause and Card screens


0x01E125 - Background color for the Bonus Chance screen


0x01E12A ~ 0x01E12C - Palette of Roulette Items of the Bonus Chance


0x01E2C9 - song to play at Character select screen

0x01E30C - sound effect for moving character selection to the right

0x01E310 - sound effect for moving character selection to the left

0x01E3BF - sound effect for selecting a character at selection screen


0x01E404 - sound effect after selecting character on card display


0x01E420 - Number of continues you start with

0x01E425 - Number of lives you start with

0x01E276 - Time for the card before level is shown


0x01E501 - Button for Pause

0x01E53D - Button combination for death on pause


0x01E6B0 - Number of hearts next level begins with (any level after 1-1)


0x01ED83 ~ 0x01F00F - Empty


0x01F232 - Maximum number of hearts (you begin with for 1-1)

0x01F233 - Maximum number of hearts after 1 Mushroom

0x01F234 - Maximum number of hearts after 2 Mushrooms

......0F - One heart

......1F - Two hearts

......2F - Three hearts

......4F - Four hearts


0x01F66A - WORLD 1 warp destination

0x01F66B - WORLD 2 warp destination

0x01F66C - WORLD 3 warp destination

0x01F66D - WORLD 4 warp destination

0x01F66E - WORLD 5 warp destination

0x01F66F - WORLD 6 warp destination

0x01F670 - WORLD 7 warp destination


0x01FB05 - Last frame used before the looping animations


0x01FB46 ~ 0x01FE0F - Empty


0x01FE10 - Sprite Graphics set for WORLD 1

0x01FE11 - Sprite Graphics set for WORLD 2

0x01FE12 - Sprite Graphics set for WORLD 3

0x01FE13 - Sprite Graphics set for WORLD 4

0x01FE14 - Sprite Graphics set for WORLD 5

0x01FE15 - Sprite Graphics set for WORLD 6

0x01FE16 - Sprite Graphics set for WORLD 7

0x01FE17 - Landscape Graphics set for WORLD 1

0x01FE18 - Landscape Graphics set for WORLD 2

0x01FE19 - Landscape Graphics set for WORLD 3

0x01FE1A - Landscape Graphics set for WORLD 4

0x01FE1B - Landscape Graphics set for WORLD 5

0x01FE1C - Landscape Graphics set for WORLD 6

0x01FE1D - Landscape Graphics set for WORLD 7

0x01FE1E - Large Mario sprite

0x01FE1F - Small Mario sprite

0x01FE20 - Large Princess sprite

0x01FE21 - Small Princess sprite

0x01FE22 - Large Toad sprite

0x01FE23 - Small Toad sprite

0x01FE24 - Large Luigi sprite

0x01FE25 - Small Luigi sprite


0x01FE57 - Graphic Set loaded (part 2) used for title screen.


0x01FE68 - Graphic Set loaded (part 1) used for character select screen

0x01FE6D - Graphic Set loaded (part 2) used for character select screen

0x01FE72 - Graphic Set loaded (part 3) used for character select screen


0x01FE77 - Title card graphics for WORLD 1

0X01FE78 - Title card graphics for WORLD 2

0X01FE79 - Title card graphics for WORLD 3

0x01FE7A - Title card graphics for WORLD 4

0x01FE7B - Title card graphics for WORLD 5

0x01FE7C - Title card graphics for WORLD 6

0x01FE7D - Title card graphics for WORLD 7