Difference between revisions of "Mega Man 2:ROM map"

From Data Crystal
Jump to: navigation, search
(Stage Select: Additions relating to boss posing screen)
(Crash Man)
 
(41 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{rommap|game=Mega Man 2}}
 
{{rommap|game=Mega Man 2}}
  
 +
==Gameplay Data==
 
===Mega Man===
 
===Mega Man===
* 0x03892E - How far megaman slips after stopping
+
* <tt>0x03891F</tt> = Mega Man's standstill x-velocity integer (Default: <tt>00</tt>)
 
+
* <tt>0x038920</tt> = Mega Man's inching x-velocity integer (Default: <tt>00</tt>)
===Stage Select===
+
* <tt>0x038921</tt> = Mega Man's walking x-velocity integer (Default: <tt>01</tt>)
 
+
* <tt>0x038922</tt> = Mega Man's jumping x-velocity integer (Default: <tt>01</tt>)
* 0x02EE10 - 0x02F1CF - Screen Layout
+
* <tt>0x038923</tt> = Mega Man's slip x-velocity integer (Default: <tt>00</tt>)
* 0x0340D8 - routine for checking if a level has been cleared
+
* <tt>0x038924</tt> = Mega Man's landing x-velocity integer (Default: <tt>00</tt>)
* 0x0340E3 - First level of Wily's castle
+
* <tt>0x03892A</tt> = Mega Man's standstill x-velocity fraction (Default: <tt>00</tt>)
* 0x0340EC - 0x0340EF - routine for checking if a level has been cleared
+
* <tt>0x03892B</tt> = Mega Man's inching x-velocity fraction (Default: <tt>20</tt>)
* 0x0340F6 - Confirming selection
+
* <tt>0x03892C</tt> = Mega Man's walking x-velocity fraction (Default: <tt>60</tt>)
* 0x034186 - First override palette for Boss posing screen
+
* <tt>0x03892D</tt> = Mega Man's jumping x-velocity fraction (Default: <tt>50</tt>)
* 0x03418B - Second override palette for Boss posing screen
+
* <tt>0x03892E</tt> = Mega Man's slip x-velocity fraction (Default: <tt>80</tt>)
* 0x0341BA - Preview boss music
+
* <tt>0x03892F</tt> = Mega Man's landing x-velocity fraction (Default: <tt>00</tt>)
* 0x0342ED - Selection for Bubble Man cursor
+
* <tt>0x038A81</tt> = Mega Man's jump height (Default: <tt>80</tt>)
* 0x0344A9 - 0x0344B8 - Palette background for Stage Select Screen
 
* 0x0344B9 - 0x0344C8 - Palette foreground for Stage Select Screen
 
* 0x034551 - Beginning of Sprites for Stage Select Screen
 
* 0x03462E - Cursor position for Bubble Man Y position
 
* 0x034637 - Cursor position for Bubble Man X position
 
* 0x03464F - 0x034650 - Palette data for Boss posing screen
 
* 0x034651 - 0x03466E - Lines for Boss posing screen data (reverse order)
 
* 0x034670 - Pointer for Bubble Man Stage from selection
 
* 0x034671 - Pointer for Air Man Stage from selection
 
* 0x034672 - Pointer for Quick Man Stage from selection
 
* 0x034673 - Pointer for Wood Man Stage from selection
 
* 0x034674 - Pointer for Crash Man Stage from selection
 
* 0x034675 - Pointer for Flash Man Stage from selection
 
* 0x034676 - Pointer for Metal Man Stage from selection
 
* 0x034677 - Pointer for Heat Man Stage from selection
 
* 0x035994 - Path speed in Wily's castle map
 
* 0x038076 - 0x03807D - routine to see all weapons gained to go to Wily when selecting Start
 
* 0x03C264 - 0x03C269 - routine to see all weapons gained to go to Wily after gaining a weapon
 
  
 
===HP & Weapons Display===
 
===HP & Weapons Display===
* 0x02C142 - How fast the robot masters' health fills up (Default: 03)
+
* <tt>0x02C142</tt> = How fast the robot masters' health fills up (Default: <tt>03</tt>)
* 0x02E12B - How fast the fortress bosses' health fills up (Default: 03)
+
* <tt>0x02E12B</tt> = How fast the fortress bosses' health fills up (Default: <tt>03</tt>)
* 0x0352B2 - How fast Mega Man's health fills up while paused (Default: 03)
+
* <tt>0x0352B2</tt> = How fast Mega Man's health fills up while paused (Default: <tt>03</tt>)
* 0x038315 - Maximum Energy for Mega Man (Default: 1C)
+
* <tt>0x038315</tt> = Maximum Energy for Mega Man (Default: <tt>1C</tt>)
* 0x03831B - How fast Mega Man's health fills up in game (Default: 07)
+
* <tt>0x03831B</tt> = How fast Mega Man's health fills up in-game (Default: <tt>07</tt>)
* 0x03835A - How fast Mega Man's weapon energy fills up in game (Default: 07)
+
* <tt>0x03835A</tt> = How fast Mega Man's weapon energy fills up in-game (Default: <tt>07</tt>)
* 0x03CF79 - X position for energy bar (Default: 18)
+
* <tt>0x03CF79</tt> = X position for energy bar (Default: <tt>18</tt>)
* 0x03CF8F - X position for weapon bar (Default: 10)
+
* <tt>0x03CF8F</tt> = X position for weapon bar (Default: <tt>10</tt>)
* 0x03CFB1 - X position for boss bar (Default: 28)
+
* <tt>0x03CFB1</tt> = X position for boss bar (Default: <tt>28</tt>)
* 0x03CFD8 - Graphics for Energy Bar (Default: 87) [NOTE: this define the leftmost tile (full HP graphic) and automatically picks to the right of it the remaining 4 tiles in descending order of HP, ex. 87>8B, DB>DF]
+
* <tt>0x03CFD8</tt> = Graphics for Energy Bar (Default: <tt>87</tt>) [NOTE: This define the leftmost tile (full HP graphic) and automatically picks to the right of it the remaining 4 tiles in descending order of HP, ex. <tt>87</tt>><tt>8B</tt>, <tt>DB</tt>><tt>DF</tt>.]
* 0x03CFF5 - Y position for 1/7 energy (Default: 18)
+
* <tt>0x03CFF5</tt> = Y position for 1/7 energy (Default: <tt>18</tt>)
* 0x03CFF6 - Y position for 2/7 energy (Default: 20)
+
* <tt>0x03CFF6</tt> = Y position for 2/7 energy (Default: <tt>20</tt>)
* 0x03CFF7 - Y position for 3/7 energy (Default: 28)
+
* <tt>0x03CFF7</tt> = Y position for 3/7 energy (Default: <tt>28</tt>)
* 0x03CFF8 - Y position for 4/7 energy (Default: 30)
+
* <tt>0x03CFF8</tt> = Y position for 4/7 energy (Default: <tt>30</tt>)
* 0x03CFF9 - Y position for 5/7 energy (Default: 38)
+
* <tt>0x03CFF9</tt> = Y position for 5/7 energy (Default: <tt>38</tt>)
* 0x03CFFA - Y position for 6/7 energy (Default: 40)
+
* <tt>0x03CFFA</tt> = Y position for 6/7 energy (Default: <tt>40</tt>)
* 0x03CFFB - Y position for 7/7 energy (Default: 48)
+
* <tt>0x03CFFB</tt> = Y position for 7/7 energy (Default: <tt>48</tt>)
  
 
===Sound Effects during Stage===
 
===Sound Effects during Stage===
* 0x03524E - changing selections in menu, Mega Man forming
+
* <tt>0x03524E</tt> = Changing selections in menu, Mega Man forming (Default: <tt>2F</tt>)
* 0x0381E0 - 0x0381ED - Music played for each level
+
* <tt>0x0381E0</tt> <tt>-</tt> <tt>0x0381ED</tt> = Music played for each level
* 0x038685 - Sound for Mega Man landing
+
* <tt>0x038685</tt> = Sound for Mega Man landing (Default: <tt>29</tt>)
* 0x03C59F - Sound for entering menu screen during action
+
* <tt>0x03C59F</tt> = Sound for entering menu screen during action (Default: <tt>32</tt>)
* 0x03C802 - Sound effect for Mega Man beamed down
+
* <tt>0x03C802</tt> = Sound effect for Mega Man beamed down (Default: <tt>30</tt>)
  
 
===Pause Menu===
 
===Pause Menu===
* 0x0352AC - The amount of energy that E-Tanks set (Default: 1C)
+
* <tt>0x0352AC</tt> = The amount of energy that E-Tanks set (Default: <tt>1C</tt>)
* 0x03539E - Sound effect for turning off menu during action (Default: 30)
+
* <tt>0x03539E</tt> = Sound effect for turning off menu during action (Default: <tt>30</tt>)
* 0x0353E8 - Starting Y position of the weapon icon sprites (Default: 44) [NOTE: there is always 8 pixels of space between each weapon icon]
+
* <tt>0x0353E8</tt> = Starting Y position of the weapon icon sprites (Default: <tt>44</tt>)
* 0x035403 - X position of the weapon icon sprites (Default: 0C)
+
* <tt>0x035403</tt> = X position of the weapon icon sprites (Default: <tt>0C</tt>)
* 0x03542C - Y position of Mega Man's health bar (Default: 44)
+
* <tt>0x03542C</tt> = Y position of Mega Man's health bar (Default: <tt>44</tt>)
* 0x03543D - Y position of the first set of weapon energy bars (Default: 54)
+
* <tt>0x03543D</tt> = Y position of the first set of weapon energy bars (Default: <tt>54</tt>)
* 0x03549C - Y position of the second set of weapon energy bars (Default: 44)
+
* <tt>0x03549C</tt> = Y position of the second set of weapon energy bars (Default: <tt>44</tt>)
* 0x03559E - 0x03562D - Pause menu tile layout
+
* <tt>0x03559E</tt> <tt>-</tt> <tt>0x03562D</tt> = Pause menu tile layout
 
====Arrow and NEXT Sprites====
 
====Arrow and NEXT Sprites====
* 0x03563C - 0x03564F - sprite data
+
* <tt>0x03563C</tt> <tt>-</tt> <tt>0x03564F</tt> (<tt>0x14</tt>) = sprite data
* 0x03563C - Y position
+
* <tt>0x03563C</tt> = Y position
* 0x03563D - PPU Tile
+
* <tt>0x03563D</tt> = PPU Tile
* 0x03563E - Palette, Mirroring
+
* <tt>0x03563E</tt> = Palette, mirroring
* 0x03563F - X position
+
* <tt>0x03563F</tt> = X position
 
  format repeats
 
  format repeats
 
====Weapon Icon Sprites====
 
====Weapon Icon Sprites====
* 0x035650 - 0x03565B - sprite data
+
* <tt>0x035650</tt> <tt>-</tt> <tt>0x03565B</tt> (<tt>0xC</tt>) = sprite data
* 0x035650 - P / Mega Buster (Default: 1F)
+
* <tt>0x035650</tt> = P / Mega Buster (Default: <tt>1F</tt>)
* 0x035651 - H / Atomic Fire (Default: 9F)
+
* <tt>0x035651</tt> = H / Atomic Fire (Default: <tt>9F</tt>)
* 0x035652 - A / Air Shooter (Default: 9B)
+
* <tt>0x035652</tt> = A / Air Shooter (Default: <tt>9B</tt>)
* 0x035653 - W / Leaf Shield (Default: 99)
+
* <tt>0x035653</tt> = W / Leaf Shield (Default: <tt>99</tt>)
* 0x035654 - B / Bubble Lead (Default: 9D)
+
* <tt>0x035654</tt> = B / Bubble Lead (Default: <tt>9D</tt>)
* 0x035655 - Q / Quick Boomerang (Default: 9C)
+
* <tt>0x035655</tt> = Q / Quick Boomerang (Default: <tt>9C</tt>)
* 0x035656 - F / Flash Stopper (Default: 9A)
+
* <tt>0x035656</tt> = F / Flash Stopper (Default: <tt>9A</tt>)
* 0x035657 - M / Metal Blade (Default: 9E)
+
* <tt>0x035657</tt> = M / Metal Blade (Default: <tt>9E</tt>)
* 0x035658 - C / Crash Bomber (Default: 10)
+
* <tt>0x035658</tt> = C / Crash Bomber (Default: <tt>10</tt>)
* 0x035659 - 1 / Item 1 (Default: 15)
+
* <tt>0x035659</tt> = 1 / Item 1 (Default: <tt>15</tt>)
* 0x03565A - 2 / Item 2 (Default: 16)
+
* <tt>0x03565A</tt> = 2 / Item 2 (Default: <tt>16</tt>)
* 0x03565B - 3 / Item 3 (Default: 17)
+
* <tt>0x03565B</tt> = 3 / Item 3 (Default: <tt>17</tt>)
 
 
 
====E-Tank Menu Sprite====
 
====E-Tank Menu Sprite====
* 0x03565C - 0x03565F - sprite data
+
* <tt>0x03565C</tt> <tt>-</tt> <tt>0x03565F</tt> (<tt>0x4</tt>) = sprite data
* 0x03565C - Y position
+
* <tt>0x03565C</tt> = Y position
* 0x03565D - PPU Tile
+
* <tt>0x03565D</tt> = PPU Tile
* 0x03565E - Palette, Mirroring
+
* <tt>0x03565E</tt> = Palette, mirroring
* 0x03565F - X position
+
* <tt>0x03565F</tt> = X position
 
====Extra Life Menu Sprite====
 
====Extra Life Menu Sprite====
* 0x035660 - 0x03566F - sprite data
+
* <tt>0x035660</tt> <tt>-</tt> <tt>0x03566F</tt> (<tt>0x10</tt>) = sprite data
* 0x035660 - Y position
+
* <tt>0x035660</tt> = Y position
* 0x035661 - PPU Tile
+
* <tt>0x035661</tt> = PPU Tile
* 0x035662 - Palette, Mirroring
+
* <tt>0x035662</tt> = Palette, mirroring
* 0x035663 - X position
+
* <tt>0x035663</tt> = X position
 +
format repeats
 +
 
 +
===Items===
 +
* <tt>0x0380D5</tt> = Beginning amount of Health (Default: <tt>1C</tt>)
 +
* <tt>0x0382FD</tt> = Amount of HP large Energy returns (Default: <tt>0A</tt>)
 +
* <tt>0x038301</tt> = Amount of HP small Energy returns (Default: <tt>02</tt>)
 +
* <tt>0x03806C</tt> = Amount of E-Tanks set after starting a new game (Default: <tt>00</tt>)
 +
* <tt>0x038382</tt> = Maximum amount of E-Tanks you can carry (Default: <tt>04</tt>) [NOTE: Carrying anything higher than 4 E-Tanks will generate bad passwords.]
 +
* <tt>0x038390</tt> = Maximum amount of lives you can carry (Default: <tt>63</tt>)  [NOTE: Due to how lives actually work, <tt>00</tt> is game over and <tt>01</tt> is actually 0 lives, so <tt>63</tt> would yield a 98 live limit instead of the usual 99.]
 +
* <tt>0x03C1CB</tt> = Amount of E-Tanks set after continuing from a game over (Default: <tt>00</tt>)
 +
 
 +
===Power Ups===
 +
* <tt>0x03C289</tt> = Power Up from Heat Man (Default: <tt>01</tt>)
 +
* <tt>0x03C28A</tt> = Power Up from Air Man (Default: <tt>02</tt>)
 +
* <tt>0x03C28B</tt> = Power Up from Wood Man (Default: <tt>04</tt>)
 +
* <tt>0x03C28C</tt> = Power Up from Bubble Man (Default: <tt>08</tt>)
 +
* <tt>0x03C28D</tt> = Power Up from Quick Man (Default: <tt>10</tt>)
 +
* <tt>0x03C28E</tt> = Power Up from Flash Man (Default: <tt>20</tt>)
 +
* <tt>0x03C28F</tt> = Power Up from Metal Man (Default: <tt>40</tt>)
 +
* <tt>0x03C290</tt> = Power Up from Crash Man (Default: <tt>80</tt>)
 +
* <tt>0x03C291</tt> = Item # from Heat Man (Default: <tt>01</tt>)
 +
* <tt>0x03C292</tt> = Item # from Air Man (Default: <tt>02</tt>)
 +
* <tt>0x03C293</tt> = Item # from Wood Man (Default: <tt>00</tt>)
 +
* <tt>0x03C294</tt> = Item # from Bubble Man (Default: <tt>00</tt>)
 +
* <tt>0x03C295</tt> = Item # from Quick Man (Default: <tt>00</tt>)
 +
* <tt>0x03C296</tt> = Item # from Flash Man (Default: <tt>04</tt>)
 +
* <tt>0x03C297</tt> = Item # from Metal Man (Default: <tt>00</tt>)
 +
* <tt>0x03C298</tt> = Item # from Crash Man (Default: <tt>00</tt>)
 +
 
 +
==Screen Data==
 +
===Stage Select===
 +
* <tt>0x02EE10</tt> <tt>-</tt> <tt>0x02F1CF</tt> = Stage select screen layout
 +
* <tt>0x0340D8</tt> = Routine for checking if a level has been cleared
 +
* <tt>0x0340EC</tt> <tt>-</tt> <tt>0x0340EF</tt> = Routine for checking if a level has been cleared
 +
* <tt>0x0340F6</tt> = Confirming selection
 +
* <tt>0x034186</tt> = First override palette for Boss posing screen (Default: <tt>2C</tt>)
 +
* <tt>0x03418B</tt> = Second override palette for Boss posing screen (Default: <tt>11</tt>)
 +
* <tt>0x0341BA</tt> = Preview boss music (Default: <tt>0A</tt>)
 +
* <tt>0x0342ED</tt> = Selection for Bubble Man cursor
 +
* <tt>0x0344A9</tt> <tt>-</tt> <tt>0x0344B8</tt> = Palette background for Stage Select Screen
 +
* <tt>0x0344B9</tt> <tt>-</tt> <tt>0x0344C8</tt> = Palette foreground for Stage Select Screen
 +
* <tt>0x034551</tt> = Beginning of Sprites for Stage Select Screen
 +
* <tt>0x03462D</tt> = Cursor Y position for Dr. Wily (Default: <tt>60</tt>)
 +
* <tt>0x03462E</tt> = Cursor Y position for Bubble Man (Default: <tt>20</tt>)
 +
* <tt>0x03462F</tt> = Cursor Y position for Air Man (Default: <tt>20</tt>)
 +
* <tt>0x034630</tt> = Cursor Y position for Quick Man (Default: <tt>20</tt>)
 +
* <tt>0x034631</tt> = Cursor Y position for Wood Man (Default: <tt>60</tt>)
 +
* <tt>0x034632</tt> = Cursor Y position for Crash Man (Default: <tt>A0</tt>)
 +
* <tt>0x034633</tt> = Cursor Y position for Flash Man (Default: <tt>A0</tt>)
 +
* <tt>0x034634</tt> = Cursor Y position for Metal Man (Default: <tt>A0</tt>)
 +
* <tt>0x034635</tt> = Cursor Y position for Heat Man (Default: <tt>60</tt>)
 +
* <tt>0x034636</tt> = Cursor X position for Dr. Wily (Default: <tt>70</tt>)
 +
* <tt>0x034637</tt> = Cursor X position for Bubble Man (Default: <tt>30</tt>)
 +
* <tt>0x034638</tt> = Cursor X position for Air Man (Default: <tt>70</tt>)
 +
* <tt>0x034639</tt> = Cursor X position for Quick Man (Default: <tt>B0</tt>)
 +
* <tt>0x03463A</tt> = Cursor X position for Wood Man (Default: <tt>B0</tt>)
 +
* <tt>0x03463B</tt> = Cursor X position for Crash Man (Default: <tt>B0</tt>)
 +
* <tt>0x03463C</tt> = Cursor X position for Flash Man (Default: <tt>70</tt>)
 +
* <tt>0x03463D</tt> = Cursor X position for Metal Man (Default: <tt>30</tt>)
 +
* <tt>0x03463E</tt> = Cursor X position for Heat Man (Default: <tt>30</tt>)
 +
* <tt>0x03464F</tt> <tt>-</tt> <tt>0x034650</tt> = Palette data for Boss posing screen
 +
* <tt>0x034651</tt> <tt>-</tt> <tt>0x03466E</tt> = Lines for Boss posing screen data (reverse order)
 +
* <tt>0x034670</tt> = Pointer for Bubble Man Stage from selection
 +
* <tt>0x034671</tt> = Pointer for Air Man Stage from selection
 +
* <tt>0x034672</tt> = Pointer for Quick Man Stage from selection
 +
* <tt>0x034673</tt> = Pointer for Wood Man Stage from selection
 +
* <tt>0x034674</tt> = Pointer for Crash Man Stage from selection
 +
* <tt>0x034675</tt> = Pointer for Flash Man Stage from selection
 +
* <tt>0x034676</tt> = Pointer for Metal Man Stage from selection
 +
* <tt>0x034677</tt> = Pointer for Heat Man Stage from selection
 +
* <tt>0x038076</tt> <tt>-</tt> <tt>0x03807D</tt> = routine to see all weapons gained to go to Wily when selecting Start
 +
* <tt>0x03C264</tt> <tt>-</tt> <tt>0x03C269</tt> = routine to see all weapons gained to go to Wily after gaining a weapon
 +
===Wily Castle===
 +
* <tt>0x0340E3</tt> = First level of Wily's castle (Default: <tt>08</tt>)
 +
* <tt>0x035994</tt> = Path velocity in Wily's castle map (Default: <tt>03</tt>)
 +
* <tt>0x035998</tt> = Sound effect played when revealing a path tile (Default: <tt>28</tt>)
 +
====Wily Castle Dots====
 +
* <tt>0x035D9C</tt> <tt>-</tt> <tt>0x035DAF</tt> (0x14) = sprite data
 +
* <tt>0x035D9C</tt> = Y position
 +
* <tt>0x035D9D</tt> = PPU Tile
 +
* <tt>0x035D9E</tt> = Palette, mirroring
 +
* <tt>0x035D9F</tt> = X position
 
  format repeats
 
  format repeats
  
 
===Weapon Gained Screens===
 
===Weapon Gained Screens===
* 0x037D4A - How fast every letter gets revealed (Default: 07)
+
* <tt>0x037D4A</tt> = How fast every letter gets revealed (Default: <tt>07</tt>)
 
====Mega Man====
 
====Mega Man====
* 0x0249FE - 0x024A8A (0x8D) - data
+
* <tt>0x0249FE</tt> <tt>-</tt> <tt>0x024A8A</tt> (0x8D) = Sprite data
* 0x0249FF - Y position
+
* <tt>0x0249FF</tt> = Y position
* 0x024A00 - PPU Tile
+
* <tt>0x024A00</tt> = PPU Tile
* 0x024A01 - Palette, Mirroring
+
* <tt>0x024A01</tt> = Palette, mirroring
* 0x024A02 - X position
+
* <tt>0x024A02</tt> = X position
 
  format repeats
 
  format repeats
 
====Dr. Light====
 
====Dr. Light====
0x024A8B - 0x024AD7 (0x4D) - data
+
* <tt>0x024A8B</tt> <tt>-</tt> <tt>0x024AD7</tt> (0x4D) = Sprite data
* 0x024A8C - Y position
+
* <tt>0x024A8C</tt> = Y position
* 0x024A8D - PPU Tile
+
* <tt>0x024A8D</tt> = PPU Tile
* 0x024A8E - Palette, Mirroring
+
* <tt>0x024A8E</tt> = Palette, mirroring
* 0x024A8F - X position
+
* <tt>0x024A8F</tt> = X position
 
  format repeats
 
  format repeats
  
 
===Title===
 
===Title===
* 0x036235 - Sound effect for switching Normal and Difficult on Title
+
* <tt>0x036235</tt> = Sound effect for switching between Normal and Difficult on Title (Default: <tt>2F</tt>)
* 0x0362D4 - Graphic to flash for selection Normal on Title
+
* <tt>0x0362D1</tt> = Difficulty select arrow sprite tile (Default: <tt>A2</tt>)
* 0x0362D5 - Graphic to flash for selection Difficult on Title
+
* <tt>0x0362D2</tt> = Palette, mirroring for arrow sprite (Default: <tt>01</tt>)
* 0x036322 - Removes all power ups and $00FD
+
* <tt>0x0362D4</tt> = X position for arrow (Default: <tt>30</tt>)
* 0x03686D - Sprite 1 for Title
+
* <tt>0x0362D4</tt> = Y position for arrow when selecting Normal (Default: <tt>98</tt>)
* 0x036877 - Sprite 2 for Title
+
* <tt>0x0362D5</tt> = Y position for arrow when selecting Difficult (Default: <tt>A8</tt>)
* 0x036AAF - 0x036ABE - Palette for sprites on Title
+
* <tt>0x036322</tt> = Removes all power ups and $00FD
* 0x036ACF - 0x036ADE - Palette background for Title
+
* <tt>0x03686D</tt> = Sprite 1 for Title
* 0x037341 - Title Screen Last byte (reversed order)
+
* <tt>0x036877</tt> = Sprite 2 for Title
* 0x037700 - Title Screen First byte (reversed order)
+
* <tt>0x036AAF</tt> <tt>-</tt> <tt>0x036ABE</tt> = Palette for sprites on Title
 
+
* <tt>0x036ACF</tt> <tt>-</tt> <tt>0x036ADE</tt> = Palette background for Title
 +
* <tt>0x037341</tt> = Title Screen Last byte (reversed order)
 +
* <tt>0x037700</tt> = Title Screen First byte (reversed order)
  
 
===Password Stuff===
 
===Password Stuff===
* 0x03700B - Password Y position (A,1)
+
* <tt>0x03700B</tt> = Password Y position (A,1) (Default: <tt>40</tt>)
* 0x03700C - Password Y position (A,2)
+
* <tt>0x03700C</tt> = Password Y position (A,2) (Default: <tt>40</tt>)
* 0x03700D - Password Y position (A,3)
+
* <tt>0x03700D</tt> = Password Y position (A,3) (Default: <tt>40</tt>)
* 0x03700E - Password Y position (A,4)
+
* <tt>0x03700E</tt> = Password Y position (A,4) (Default: <tt>40</tt>)
* 0x03700F - Password Y position (A,5)
+
* <tt>0x03700F</tt> = Password Y position (A,5) (Default: <tt>40</tt>)
* 0x037010 - Password Y position (B,1)
+
* <tt>0x037010</tt> = Password Y position (B,1) (Default: <tt>50</tt>)
* 0x037011 - Password Y position (B,2)
+
* <tt>0x037011</tt> = Password Y position (B,2) (Default: <tt>50</tt>)
* 0x037012 - Password Y position (B,3)
+
* <tt>0x037012</tt> = Password Y position (B,3) (Default: <tt>50</tt>)
* 0x037013 - Password Y position (B,4)
+
* <tt>0x037013</tt> = Password Y position (B,4) (Default: <tt>50</tt>)
* 0x037014 - Password Y position (B,5)
+
* <tt>0x037014</tt> = Password Y position (B,5) (Default: <tt>50</tt>)
* 0x037015 - Password Y position (C,1)
+
* <tt>0x037015</tt> = Password Y position (C,1) (Default: <tt>60</tt>)
* 0x037016 - Password Y position (C,2)
+
* <tt>0x037016</tt> = Password Y position (C,2) (Default: <tt>60</tt>)
* 0x037017 - Password Y position (C,3)
+
* <tt>0x037017</tt> = Password Y position (C,3) (Default: <tt>60</tt>)
* 0x037018 - Password Y position (C,4)
+
* <tt>0x037018</tt> = Password Y position (C,4) (Default: <tt>60</tt>)
* 0x037019 - Password Y position (C,5)
+
* <tt>0x037019</tt> = Password Y position (C,5) (Default: <tt>60</tt>)
* 0x03701A - Password Y position (D,1)
+
* <tt>0x03701A</tt> = Password Y position (D,1) (Default: <tt>70</tt>)
* 0x03701B - Password Y position (D,2)
+
* <tt>0x03701B</tt> = Password Y position (D,2) (Default: <tt>70</tt>)
* 0x03701C - Password Y position (D,3)
+
* <tt>0x03701C</tt> = Password Y position (D,3) (Default: <tt>70</tt>)
* 0x03701D - Password Y position (D,4)
+
* <tt>0x03701D</tt> = Password Y position (D,4) (Default: <tt>70</tt>)
* 0x03701E - Password Y position (D,5)
+
* <tt>0x03701E</tt> = Password Y position (D,5) (Default: <tt>70</tt>)
* 0x03701F - Password Y position (E,1)
+
* <tt>0x03701F</tt> = Password Y position (E,1) (Default: <tt>80</tt>)
* 0x037020 - Password Y position (E,2)
+
* <tt>0x037020</tt> = Password Y position (E,2) (Default: <tt>80</tt>)
* 0x037021 - Password Y position (E,3)
+
* <tt>0x037021</tt> = Password Y position (E,3) (Default: <tt>80</tt>)
* 0x037022 - Password Y position (E,4)
+
* <tt>0x037022</tt> = Password Y position (E,4) (Default: <tt>80</tt>)
* 0x037023 - Password Y position (E,5)
+
* <tt>0x037023</tt> = Password Y position (E,5) (Default: <tt>80</tt>)
* 0x037024 - Password X position (A,1)
+
* <tt>0x037024</tt> = Password X position (A,1) (Default: <tt>41</tt>)
* 0x037025 - Password X position (A,2)
+
* <tt>0x037025</tt> = Password X position (A,2) (Default: <tt>51</tt>)
* 0x037026 - Password X position (A,3)
+
* <tt>0x037026</tt> = Password X position (A,3) (Default: <tt>61</tt>)
* 0x037027 - Password X position (A,4)
+
* <tt>0x037027</tt> = Password X position (A,4) (Default: <tt>71</tt>)
* 0x037028 - Password X position (A,5)
+
* <tt>0x037028</tt> = Password X position (A,5) (Default: <tt>81</tt>)
* 0x037029 - Password X position (B,1)
+
* <tt>0x037029</tt> = Password X position (B,1) (Default: <tt>41</tt>)
* 0x03702A - Password X position (B,2)
+
* <tt>0x03702A</tt> = Password X position (B,2) (Default: <tt>51</tt>)
* 0x03702B - Password X position (B,3)
+
* <tt>0x03702B</tt> = Password X position (B,3) (Default: <tt>61</tt>)
* 0x03702C - Password X position (B,4)
+
* <tt>0x03702C</tt> = Password X position (B,4) (Default: <tt>71</tt>)
* 0x03702D - Password X position (B,5)
+
* <tt>0x03702D</tt> = Password X position (B,5) (Default: <tt>81</tt>)
* 0x03702E - Password X position (C,1)
+
* <tt>0x03702E</tt> = Password X position (C,1) (Default: <tt>41</tt>)
* 0x03702F - Password X position (C,2)
+
* <tt>0x03702F</tt> = Password X position (C,2) (Default: <tt>51</tt>)
* 0x037030 - Password X position (C,3)
+
* <tt>0x037030</tt> = Password X position (C,3) (Default: <tt>61</tt>)
* 0x037031 - Password X position (C,4)
+
* <tt>0x037031</tt> = Password X position (C,4) (Default: <tt>71</tt>)
* 0x037032 - Password X position (C,5)
+
* <tt>0x037032</tt> = Password X position (C,5) (Default: <tt>81</tt>)
* 0x037033 - Password X position (D,1)
+
* <tt>0x037033</tt> = Password X position (D,1) (Default: <tt>41</tt>)
* 0x037034 - Password X position (D,2)
+
* <tt>0x037034</tt> = Password X position (D,2) (Default: <tt>51</tt>)
* 0x037035 - Password X position (D,3)
+
* <tt>0x037035</tt> = Password X position (D,3) (Default: <tt>61</tt>)
* 0x037036 - Password X position (D,4)
+
* <tt>0x037036</tt> = Password X position (D,4) (Default: <tt>71</tt>)
* 0x037037 - Password X position (D,5)
+
* <tt>0x037037</tt> = Password X position (D,5) (Default: <tt>81</tt>)
* 0x037038 - Password X position (E,1)
+
* <tt>0x037038</tt> = Password X position (E,1) (Default: <tt>41</tt>)
* 0x037039 - Password X position (E,2)
+
* <tt>0x037039</tt> = Password X position (E,2) (Default: <tt>51</tt>)
* 0x03703A - Password X position (E,3)
+
* <tt>0x03703A</tt> = Password X position (E,3) (Default: <tt>61</tt>)
* 0x03703B - Password X position (E,4)
+
* <tt>0x03703B</tt> = Password X position (E,4) (Default: <tt>71</tt>)
* 0x03703C - Password X position (E,5)
+
* <tt>0x03703C</tt> = Password X position (E,5) (Default: <tt>81</tt>)
 +
* <tt>0x037056</tt> = Password related (A,1)
 +
* <tt>0x03709B</tt> = Password related (E,5)
  
* 0x037056 - Password related (A,1)
 
* 0x03709B - Password related (E,5)
 
 
===Items===
 
* 0x0380D5 - Beginning amount of Health (Default: 1C)
 
* 0x0382FD - Amount of HP large Energy returns (Default: 0A)
 
* 0x038301 - Amount of HP small Energy returns (Default: 02)
 
* 0x03806C - Amount of E-Tanks set after starting a new game (Default: 00)
 
* 0x038382 - Maximum amount of E-Tanks you can carry (Default: 04) [NOTE: carrying anything higher than 4 on game over will generate bad passwords]
 
* 0x038390 - Maximum amount of lives you can carry (Default: 63)  [NOTE: due to how lives actually work, 00 hex is game over and 01 hex is actually 00, so 63 hex would yield a 98 live limit instead of the usual 99]
 
* 0x03C1CB - Amount of E-Tanks set after continuing from a game over (Default: 00)
 
 
===Power Ups===
 
* 0x03C289 - Power Up from Heat Man
 
* 0x03C28A - Power Up from Air Man
 
* 0x03C28B - Power Up from Wood Man
 
* 0x03C28C - Power Up from Bubble Man
 
* 0x03C28D - Power Up from Quick Man
 
* 0x03C28E - Power Up from Flash Man
 
* 0x03C28F - Power Up from Metal Man
 
* 0x03C290 - Power Up from Crash Man
 
* 0x03C291 - Item # from Heat Man
 
* 0x03C292 - Item # from Air Man
 
* 0x03C293 - Item # from Wood Man
 
* 0x03C294 - Item # from Bubble Man
 
* 0x03C295 - Item # from Quick Man
 
* 0x03C296 - Item # from Flash Man
 
* 0x03C297 - Item # from Metal Man
 
* 0x03C298 - Item # from Crash Man
 
 
==Weapon Attributes==
 
==Weapon Attributes==
 
===Mega Buster===
 
===Mega Buster===
* 0x03DA7C - 0x03DA8F (0x14) - routine
+
* <tt>0x03DA7C</tt> <tt>-</tt> <tt>0x03DA8F</tt> (<tt>0x14</tt>) = Routine
  $DA6C:A5 27    LDA $0027 = #$00
+
  $DA6C:A5 27    LDA $0027   ;Load single frame input poll
  $DA6E:29 02    AND #$02
+
  $DA6E:29 02    AND #$02   ;Check bit 2 (Whether player pressed B)
  $DA70:F0 2B    BEQ $DA9D
+
  $DA70:F0 2B    BEQ $DA9C  ;If bit 2 not on, player didn't press B, skip to end and leave subroutine
  $DA72:A2 04    LDX #$04
+
  $DA72:A2 04    LDX #$04    ;Loads X with #$04
  $DA74:BD 20 04  LDA $0420,X @ $0460 = #$42
+
  $DA74:BD 20 04  LDA $0420,X ;Check memory position $0424, status of third projectile slot
  $DA77:10 07    BPL $DA80
+
  $DA77:10 07    BPL $DA80   ;Branch if Bit 7 is not set - Bit 7 of 424 is 1 if a projectile exists and 0 if not. In other words, if a projectile is in this slot, continue, otherwise jump to shooting routine
  $DA79:CA        DEX
+
  $DA79:CA        DEX         ;Decrement X
  $DA7A:E0 01    CPX #$01
+
  $DA7A:E0 01    CPX #$01    ;Check if X is 1
  $DA7C:D0 F6    BNE $DA74
+
  $DA7C:D0 F6    BNE $DA74   ;If X isn't, branch back to projectile check. This repeats until you have checked all 3 projectile slots
  $DA7E:F0 1D    BEQ $DA9D
+
  $DA7E:F0 1D    BEQ $DA9C  ;If it is 1, you've checked every projectile slot, end subroutine
  $DA80:A9 24    LDA #$24
+
  $DA80:A9 24    LDA #$24    ;Load Accumulator w/ #$24  
  $DA82:20 51 C0  JSR $C051
+
  $DA82:20 51 C0  JSR $C051   ;Jump to sound effect routine (Play sound #24, Mega Buster shot)
  $DA85:A0 00    LDY #$00
+
  $DA85:A0 00    LDY #$00    ;Load Y with #$00
  $DA87:20 E0 D3  JSR $D3E0
+
  $DA87:20 E0 D3  JSR $D3E0   ;Jump to bullet generation routine - X, set by the previous loop, is the projectile slot to create bullet in. Y is bullet type, in this case 0 is Mega Buster shots
  $DA8A:A9 0F    LDA #$0F
+
  $DA8A:A9 0F    LDA #$0F    ;Load Accumulator with #$0F
  $DA8C:85 36    STA $0036 = #$00
+
  $DA8C:85 36    STA $0036   ;Set timer for how long it takes MM to lower arm after firing to 15 frames
  $DA8E:A9 01    LDA #$01
+
  $DA8E:A9 01    LDA #$01    ;Load Accumulator with #$01
  $DA90:85 3D    STA $003D = #$00
+
  $DA90:85 3D    STA $003D   ;Set sprite for firing this to 1, buster shot (0 is none, 2 is super arm, 3 is throw)
  $DA92:A6 2C    LDX $002C = #$03
+
  $DA92:A6 2C    LDX $002C   ;Load $002C, Mega Man's current state, into X
  $DA94:18        CLC
+
  $DA94:18        CLC         ;Always clear carry flag before addition!
  $DA95:7D D4 D3  ADC $D3D4,X @ $D414 = #$AD
+
  $DA95:7D D4 D3  ADC $D3D4,X ;Add something at $D3D4 + $002C's position. I think this is deciding which shooting sprite to use (2C indicates whether MM is standing, jumping, walking, etc).
  $DA98:8D 00 04  STA $0400 = #$00
+
  $DA98:8D 00 04  STA $0400   ;Store Rockman animation
  $DA9B:18        CLC
+
  $DA9B:18        CLC         ;Clear carry
  $DA9C:60        RTS
+
  $DA9C:60        RTS         ;We're done here folks
* 0x03DA91 - Sound effect for basic Mega Man shooting (Default: 24)
+
* <tt>0x03D4A7</tt> = Velocity of Mega Man's buster shots (Default: <tt>04</tt>) [NOTE: Shots that are too fast will not be able to properly register hits at all, so avoid going beyond around <tt>0B</tt>.]
 +
* <tt>0x03DA83</tt> = Maximum number of buster shots on-screen (Default: <tt>04</tt>) [NOTE: Values <tt>00</tt>, <tt>01</tt>, and <tt>10</tt> and beyond are all invalid, while <tt>02</tt> is actually 1, so <tt>04</tt> would actually mean 3 shots on-screen.]
 +
** What this literally is is how far into the object handling chart in memory ($0420 - $043F) the projectile generation loop is going. Weapons are normally stored in $0422 - $0429, so with a maximum of 3 bullets on screen, the loop checks $0424, $0423, and $0422. Increasing this past 0F enters the enemy handling range ($0430~$043F)
 +
* <tt>0x03DA91</tt> = Sound effect for basic Mega Man shooting (Default: <tt>24</tt>)
  
 
===Atomic Fire===
 
===Atomic Fire===
* 0x03DD61 - Charge time between first and second level (Default: 7D)
+
* <tt>0x03DD61</tt> = Charge time between first and second level (Default: <tt>7D</tt>)
* 0x03DD67 - Charge time between first and third level (Default: BB) [NOTE: if this value is lower than the value above, then that value is overwritten and it jumps straight to the third charge level]
+
* <tt>0x03DD67</tt> = Charge time between first and third level (Default: <tt>BB</tt>) [NOTE: If this value is lower than the value above, then that value is overwritten and it jumps straight to the third charge level.]
* 0x03DE46 - 0x03DE48 - Sound effect for Atomic Heat charge per level (Default: 35, 36, 37)
+
* <tt>0x03DE46</tt> <tt>-</tt> <tt>0x03DE48</tt> = Sound effect for Atomic Heat charge per level (Default: <tt>35</tt>, <tt>36</tt>, <tt>37</tt>)
* 0x03DE49 - 0x03DE50 - First and third color of Atomic Heat per level, including non-charging (Default: 0F15, 3115, 352C, 3030)
+
* <tt>0x03DE49</tt> <tt>-</tt> <tt>0x03DE50</tt> = First and third color of Atomic Heat per level, including non-charging (Default: <tt>0F15</tt>, <tt>3115</tt>, <tt>352C</tt>, <tt>3030</tt>)
* 0x03DE55 - 0x03DE57 - Amount of energy that Atomic Heat uses per shot per level (Default: 01, 06, 0A)
+
* <tt>0x03DE55</tt> <tt>-</tt> <tt>0x03DE57</tt> = Amount of energy that Atomic Heat uses per shot per level (Default: <tt>01</tt>, <tt>06</tt>, <tt>0A</tt>)
  
 
===Air Shooter===
 
===Air Shooter===
* 0x03DAC3 - 0x03DAF5 (0x33) - routine
+
* <tt>0x03DAC3</tt> <tt>-</tt> <tt>0x03DAF5</tt> (<tt>0x33</tt>) = Routine
 
  $DAB3:A5 27    LDA $0027 = #$00
 
  $DAB3:A5 27    LDA $0027 = #$00
 
  $DAB5:29 02    AND #$02
 
  $DAB5:29 02    AND #$02
Line 280: Line 322:
 
  $DAE4:38        SEC
 
  $DAE4:38        SEC
 
  $DAE5:60        RTS
 
  $DAE5:60        RTS
* 0x03DAE6 - Sound effect for Air Shooter (Default: 3F)
+
* <tt>0x03DAE6</tt> = Sound effect for Air Shooter (Default: <tt>3F</tt>)
* 0x03DAEE - Amount of energy that Air Shooter uses per shot (Default: 02)
+
* <tt>0x03DAEE</tt> = Amount of energy that Air Shooter uses per shot (Default: <tt>02</tt>)
  
 
===Leaf Shield===
 
===Leaf Shield===
* 0x03DF0D - Sound effect for Leaf Shield turning (Default: 01)
+
* <tt>0x03DF0D</tt> = Sound effect for Leaf Shield turning (Default: <tt>01</tt>)
* 0x03DF1F - Sound effect for Leaf Shield appearing (Default: 31)
+
* <tt>0x03DF1F</tt> = Sound effect for Leaf Shield appearing (Default: <tt>31</tt>)
* 0x03DF72 - Amount of energy that Leaf Shield uses per shot (Default: 03)
+
* <tt>0x03DF72</tt> = Amount of energy that Leaf Shield uses per shot (Default: <tt>03</tt>)
  
 
===Bubble Lead===
 
===Bubble Lead===
* 0x03DB34 - Sound effect for Bubble Lead (Default: 24)
+
* <tt>0x03DB34</tt> = Sound effect for Bubble Lead (Default: <tt>24</tt>)
* 0x03DB3D - Amount of Bubble Lead shots before reducing energy (Default: 02)
+
* <tt>0x03DB3D</tt> = Amount of Bubble Lead shots before reducing energy (Default: <tt>02</tt>)
  
 
===Quick Boomerang===
 
===Quick Boomerang===
* 0x03DB4B - 0x03DB89 (0x3F) - routine
+
* <tt>0x03DB4B</tt> <tt>-</tt> <tt>0x03DB89</tt> (<tt>0x3F</tt>) = Routine
 
  $DB3B:A5 27    LDA $0027 = #$00
 
  $DB3B:A5 27    LDA $0027 = #$00
 
  $DB3D:29 02    AND #$02
 
  $DB3D:29 02    AND #$02
Line 326: Line 368:
 
  $DB78:38        SEC
 
  $DB78:38        SEC
 
  $DB79:60        RTS
 
  $DB79:60        RTS
* 0x03DB54 - Fire rate speed for Quick Boomerang (Default: 0B)
+
* <tt>0x03DB54</tt> = Fire rate velocity for Quick Boomerang (Default: <tt>0B</tt>)
* 0x03DB6F - Sound effect for Quick Boomerang (Default: 24)
+
* <tt>0x03DB6F</tt> = Sound effect for Quick Boomerang (Default: <tt>24</tt>)
* 0x03DB78 - Amount of Quick Boomerang shots before reducing energy (Default: 08)
+
* <tt>0x03DB78</tt> = Amount of Quick Boomerang shots before reducing energy (Default: <tt>08</tt>)
  
 
===Quick Boomerang Mechanics===
 
===Quick Boomerang Mechanics===
* 0x03DFDE - 0x03E025 (0x48) - routine
+
* <tt>0x03DFDE</tt> <tt>-</tt> <tt>0x03E025</tt> (<tt>0x48</tt>) = Routine
 
  $DFCE:BD E0 04  LDA $04E0,X @ $04E3 = #$0D
 
  $DFCE:BD E0 04  LDA $04E0,X @ $04E3 = #$0D
 
  $DFD1:C9 12    CMP #$12
 
  $DFD1:C9 12    CMP #$12
Line 362: Line 404:
 
  $E012:20 EF EE  JSR $EEEF
 
  $E012:20 EF EE  JSR $EEEF
 
  $E015:60        RTS
 
  $E015:60        RTS
* 0x03DFE2 - How far Quick Boomerang flies out (Default: 12)
+
* <tt>0x03DFE2</tt> = How far Quick Boomerang flies out (Default: <tt>12</tt>)
* 0x03DFFF - How far Quick Boomerang flies down before coming up (Default: 40)
+
* <tt>0x03DFFF</tt> = How far Quick Boomerang flies down before coming up (Default: <tt>40</tt>)
* 0x03E007 - How far Quick Boomerang flies back (Default: 23)
+
* <tt>0x03E007</tt> = How far Quick Boomerang flies back (Default: <tt>23</tt>)
  
 
===Flash Stopper===
 
===Flash Stopper===
* 0x03DC41 - 0x03DC5C (0x1C) - routine
+
* <tt>0x03DC41</tt> <tt>-</tt> <tt>0x03DC5C</tt> (<tt>0x1C</tt>) = Routine
 
  $DC31:A5 27    LDA $0027 = #$00
 
  $DC31:A5 27    LDA $0027 = #$00
 
  $DC33:29 02    AND #$02
 
  $DC33:29 02    AND #$02
Line 380: Line 422:
 
  $DC48:A9 21    LDA #$21
 
  $DC48:A9 21    LDA #$21
 
  $DC4A:20 51 C0  JSR $C051
 
  $DC4A:20 51 C0  JSR $C051
* 0x03DC59 - Sound effect for Flash Stopper (Default: 21)
+
* <tt>0x03DC59</tt> = Sound effect for Flash Stopper (Default: <tt>21</tt>)
  
 
===Flash Stopper Mechanics===
 
===Flash Stopper Mechanics===
* 0x03E168 - 0x03E19F (0x38) - routine
+
* <tt>0x03E168</tt> <tt>-</tt> <tt>0x03E19F</tt> (<tt>0x38</tt>) = Routine
 
  $E158:DE 20 06  DEC $0620,X @ $0680 = #$03
 
  $E158:DE 20 06  DEC $0620,X @ $0680 = #$03
 
  $E15B:D0 15    BNE $E172
 
  $E15B:D0 15    BNE $E172
Line 410: Line 452:
 
  $E18C:9D 40 04  STA $0440,X @ $04A0 = #$B4
 
  $E18C:9D 40 04  STA $0440,X @ $04A0 = #$B4
 
  $E18F:60        RTS
 
  $E18F:60        RTS
* 0x03D49D - Duration until weapon energy starts to drain (Default: 0F)
+
* <tt>0x03D49D</tt> = Duration until weapon energy starts to drain (Default: <tt>0F</tt>)
  
 
===Metal Blade===
 
===Metal Blade===
* 0x03DC5D - 0x03DC65 (0x9) - routine
+
* <tt>0x03DC5D</tt> <tt>-</tt> <tt>0x03DC65</tt> (<tt>0x9</tt>) = Routine
 
  $DC4D:A9 0F    LDA #$0F
 
  $DC4D:A9 0F    LDA #$0F
 
  $DC4F:85 36    STA $0036 = #$00
 
  $DC4F:85 36    STA $0036 = #$00
Line 420: Line 462:
 
  $DC56:38        SEC
 
  $DC56:38        SEC
 
  $DC57:60        RTS
 
  $DC57:60        RTS
* 0x03DBC9 - Sound effect for Metal Blade (Default: 23)
+
* <tt>0x03DBC9</tt> = Sound effect for Metal Blade (Default: <tt>23</tt>)
* 0x03DBD2 - Amount of Metal Blade shots before reducing energy (Default: 04)
+
* <tt>0x03DBD2</tt> = Amount of Metal Blade shots before reducing energy (Default: <tt>04</tt>)
  
 
===Crash Bomber===
 
===Crash Bomber===
* 0x03DBA6 - Sound effect for Crash Bomber (Default: 24)
+
* <tt>0x03DBA6</tt> = Sound effect for Crash Bomber (Default: <tt>24</tt>)
* 0x03DB99 - Amount of energy that Crash Bomber uses per shot (Default: 04)
+
* <tt>0x03DB99</tt> = Amount of energy that Crash Bomber uses per shot (Default: <tt>04</tt>)
* 0x03E089 - Sound effect for Crash Bomber clasping wall (Default: 2E)
+
* <tt>0x03E089</tt> = Sound effect for Crash Bomber clasping wall (Default: <tt>2E</tt>)
* 0x03E09C - Timer until Crash Bomber detonates (Default: 7E)
+
* <tt>0x03E09C</tt> = Timer until Crash Bomber detonates (Default: <tt>7E</tt>)
* 0x03E0DA - Sound effect for Crash Bomber exploding (Default: 2B)
+
* <tt>0x03E0DA</tt> = Sound effect for Crash Bomber exploding (Default: <tt>2B</tt>)
  
 
===Items===
 
===Items===
* 0x03DC85 - Amount of energy that Item 1 uses per use (Default: 02)
+
* <tt>0x03DC85</tt> = Amount of energy that Item 1 uses per use (Default: <tt>02</tt>)
* 0x03E230 - Amount of time before subtracting one energy from Item 2 (Default: 13)
+
* <tt>0x03E230</tt> = Amount of time before subtracting one energy from Item 2 (Default: <tt>13</tt>)
* 0x03E34C - Amount of time before subtracting one energy from Item 3 (Default: 1F)
+
* <tt>0x03E34C</tt> = Amount of time before subtracting one energy from Item 3 (Default: <tt>1F</tt>)
 +
 
 +
==Enemy Behavior==
  
 
===Attack Power Table===
 
===Attack Power Table===
* 0x02E9C4 - Wood Man's contact damage
+
* <tt>0x02E9C4</tt> = Wood Man's contact damage (Default: <tt>08</tt>)
* 0x02E9C8 - Flash Man's contact damage
+
* <tt>0x02E9C8</tt> = Flash Man's contact damage (Default: <tt>06</tt>)
* 0x03ED76 - Shelled Fish's contact damage
+
* <tt>0x03ED76</tt> = Crabbot's contact damage (Default: <tt>04</tt>)
* 0x03ED78 - Large Frog's contact damage
+
* <tt>0x03ED78</tt> = Grand Croaker's contact damage (Default: <tt>04</tt>)
* 0x03ED79 - Small Frog's contact damage
+
* <tt>0x03ED79</tt> = Petit Croaker's contact damage (Default: <tt>01</tt>)
* 0x03ED82 - (16) Ball Bat attack
+
* <tt>0x03ED82</tt> = Bubble Bat's contact damage (Default: <tt>04</tt>)
* 0x03ED83 - (17) Rabbit attack
+
* <tt>0x03ED83</tt> = Robo-Rabbit's contact damage (Default: <tt>04</tt>)
* 0x03ED84 - (18) Rabbit's projectile attack (carrot)
+
* <tt>0x03ED84</tt> = Robo-Rabbit's projectile carrot (Default: <tt>02</tt>)
* 0x03ED85 - (19) Dog's attack
+
* <tt>0x03ED85</tt> = Hot Dog's contact damage (Default: <tt>08</tt>)
* 0x03ED87 - (1B) Dog's fire projectile attack
+
* <tt>0x03ED87</tt> = Hot Dog's projectile fire stream (Default: <tt>04</tt>)
* 0x03ED89 - (1D) Ape's attack
+
* <tt>0x03ED89</tt> = Mecha Monkey's contact damage (Default: <tt>04</tt>)
* 0x03ED8B - (1F) Chicken's contact damage
+
* <tt>0x03ED8B</tt> = Atomic Chicken's contact damage (Default: <tt>04</tt>)
* 0x03EDA1 - (35) Sniper Joe's projectile attack (round ball)
+
* <tt>0x03EDA1</tt> = Returning Sniper Joe's projectile pellet (Default: <tt>02</tt>)
* 0x03EDA4 - (38) Large Bird's attack
+
* <tt>0x03EDA4</tt> = Pipi's contact damage (Default: <tt>04</tt>)
* 0x03EDA6 - (3A) Large Bird's egg attack
+
* <tt>0x03EDA6</tt> = Pipi's egg projectile (Default: <tt>04</tt>)
* 0x03EDA8 - (3C) Small Bird's attack
+
* <tt>0x03EDA8</tt> = Copipi's contact damage (Default: <tt>02</tt>)
* 0x03EDB7 - One arm shooter's attack
+
* <tt>0x03EDB7</tt> = Crazy Cannon's contact damage (Default: <tt>04</tt>)
* 0x03EDB9 - One arm shooter's projectile attack (pellet)
+
* <tt>0x03EDB9</tt> = Crazy Cannon's projectile pellet (Default: <tt>02</tt>)
* 0x03EDBA - Body of Sniper Joe's machine attack
+
* <tt>0x03EDBA</tt> = Sniper Armor's contact damage (Default: <tt>08</tt>)
* 0x03EDBB - Sniper Joe's attack
+
* <tt>0x03EDBB</tt> = Sniper Armor's projectile pellet (Default: <tt>04</tt>)
* 0x03EDBC - (50) Snake-like Pod's attack
+
* <tt>0x03EDBC</tt> = Schworm's contact damage (Default: <tt>02</tt>)
* 0x03EDBD - Snake-like Pod's projectile attack (snake rod)
+
* <tt>0x03EDBD</tt> = Schworm's projectile snake rod (Default: <tt>02</tt>)
* 0x03EDCD - Wood Man's Leaf Shield
+
* <tt>0x03EDCD</tt> = Wood Man's Leaf Shield (Default: <tt>08</tt>)
* 0x03EDCE - Falling Leaves from Wood Man
+
* <tt>0x03EDCE</tt> = Wood Man's Falling Leaves (Default: <tt>04</tt>)
  
==Boss Behavior==
 
 
===Heat Man===
 
===Heat Man===
* <tt>'''0x02C16E to 0x02C---''' = Routine for attack</tt>
+
* <tt>0x02C16E</tt> <tt>-</tt> <tt>0x02C---</tt> (<tt>0x??</tt>) = Routine for attack
* <tt>0x02C207 = (07) Projectile 1 y-velocity</tt>
+
* <tt>0x02C207</tt> = Atomic Fire 1's y-velocity (Default: <tt>07</tt>)
* <tt>0x02C208 = (05) Projectile 2 y-velocity</tt>
+
* <tt>0x02C208</tt> = Atomic Fire 2's y-velocity (Default: <tt>05</tt>)
* <tt>0x02C209 = (03) Projectile 3 y-velocity</tt>
+
* <tt>0x02C209</tt> = Atomic Fire 3's y-velocity (Default: <tt>03</tt>)
* <tt>0x02C20A = (3A) Projectile 1 x-velocity; lower value means faster velocity</tt>
+
* <tt>0x02C20A</tt> = Atomic Fire 1's x-velocity (Default: <tt>3A</tt>) [NOTE: Unlike other instances of velocity, lower values for these x-velocities means faster velocity.]
* <tt>0x02C20B = (2E) Projectile 2 x-velocity</tt>
+
* <tt>0x02C20B</tt> = Atomic Fire 2's x-velocity (Default: <tt>2E</tt>)
* <tt>0x02C20C = (1C) Projectile 3 x-velocity</tt>
+
* <tt>0x02C20C</tt> = Atomic Fire 3's x-velocity (Default: <tt>1C</tt>)
* <tt>0x02C1BB = (58) Projectile type </tt>
+
* <tt>0x02C1BB</tt> = Projectile type (Default: <tt>58</tt>)
* <tt>0x02C1A1 = (02) # Projectiles thrown; extra shots tend to be glitchy</tt>
+
* <tt>0x02C1A1</tt> = Number of Atomic Fires thrown (Default: <tt>02</tt>) [NOTE: Extra shots tend to be glitchy.]
* <tt>0x02C253 = (04) Charge velocity</tt>
+
* <tt>0x02C253</tt> = Charge x-velocity (Default: <tt>04</tt>)
* <tt>0x02C29D = (1F) Delay 1 before charge*</tt>
+
* <tt>0x02C29D</tt> = Delay 1 before charge (Default: <tt>1F</tt>) [NOTE: After Heat Man is damaged, he will wait before charging. This and the two values below are randomly chosen as the delay interval.]
* <tt>0x02C29E = (3E) Delay 2 before charge*</tt>
+
* <tt>0x02C29E</tt> = Delay 2 before charge (Default: <tt>3E</tt>)
* <tt>0x02C29F = (5D) Delay 3 before charge*</tt>
+
* <tt>0x02C29F</tt> = Delay 3 before charge (Default: <tt>5D</tt>)
: *After Heat Man takes damage, he will delay temporarily before doing his charge attack.  One of these three values is randomly chosen as the delay interval, in frames.
 
  
 
===Flash Man===
 
===Flash Man===
* <tt>'''0x02C966 to 0x02CAF8''' = Routine for attack</tt>
+
* <tt>0x02C966</tt> <tt>-</tt> <tt>0x02CAF8</tt> (<tt>0x193</tt>) = Routine for attack
* <tt>0x02C97D = (06) Walk velocity fraction</tt>
+
* <tt>0x02C97D</tt> = Walk x-velocity fraction (Default: <tt>06</tt>)
* <tt>0x02C982 = (01) Walk velocity integer</tt>
+
* <tt>0x02C982</tt> = Walk x-velocity integer (Default: <tt>01</tt>)
* <tt>0x02C98B = (BB) Delay before time stopper; only counts down while boss is walking</tt>
+
* <tt>0x02C98B</tt> = Delay before Time Stopper (Default: <tt>BB</tt>) [NOTE: It only counts down while the boss is walking.]
* <tt>0x02CA09 = (06) Number of projectiles to shoot</tt>
+
* <tt>0x02CA09</tt> = Number of pellets to shoot (Default: <tt>06</tt>)
* <tt>0x02CA52 = () Length of time stopper/projectile frequency?</tt>
+
* <tt>0x02CA52</tt> = Length of Time Stopper/projectile frequency? (Default: <tt>06</tt>) [NOTE: Uncertain about value's function; alter it at own risk.]
* <tt>0x02CA71 = (35) Projectile type</tt>
+
* <tt>0x02CA71</tt> = Projectile type (Default: <tt>35</tt>)
* <tt>0x02CA81 = (08) Projectile x-velocity</tt>
+
* <tt>0x02CA81</tt> = Pellet x-velocity (Default: <tt>08</tt>)
* <tt>0x02CAC6 = (00) Jump x-velocity integer</tt>
+
* <tt>0x02CAC6</tt> = Jump x-velocity integer (Default: <tt>00</tt>)
* <tt>0x02CACE = (04) Jump y-velocity integer</tt>
+
* <tt>0x02CACE</tt> = Jump y-velocity integer (Default: <tt>04</tt>)
  
 
===Metal Man===
 
===Metal Man===
* <tt>0x02CBB5 = (06) Jump Height 1; higher than 07 bonks the ceiling</tt>
+
* <tt>0x02CBB5</tt> = Jump height 1 (Default: <tt>06</tt>) [NOTE: Anything higher than 07 will make Metal Man bonk the ceiling.]
* <tt>0x02CBB6 = (05) Jump Height 2</tt>
+
* <tt>0x02CBB6</tt> = Jump height 2 (Default: <tt>05</tt>)
* <tt>0x02CBB7 = (04) Jump Height 3</tt>
+
* <tt>0x02CBB7</tt> = Jump height 3 (Default: <tt>04</tt>)
* <tt>0x02CC1D = (06) Metal blade frequency? changes behavior if different than 06</tt>
+
* <tt>0x02CC1D</tt> = Metal Blade frequency? (Default: <tt>06</tt>) [NOTE: Uncertain about value's function, seems to change behavior if value's different than 06; alter it at own risk.]
* <tt>0x02CC29 = (20) Sound of Metal Blade</tt>
+
* <tt>0x02CC29</tt> = Metal Blade sound (Default: <tt>20</tt>)
* <tt>0x02CC2D = () Projectile type</tt>
+
* <tt>0x02CC2D</tt> = Projectile type (Default: <tt>5C</tt>)
* <tt>0x02CC3F = (04) Speed of Metal Blade</tt>
+
* <tt>0x02CC3F</tt> = Metal Blade x-velocity (Default: <tt>04</tt>)
  
 
===Crash Man===
 
===Crash Man===
* <tt>0x02CCF2 = (47) Walk velocity fraction</tt>
+
* <tt>0x02CCF2</tt> = Walk x-velocity fraction (Default: <tt>47</tt>)
* <tt>0x02CCF7 = (01) Walk velocity integer</tt>
+
* <tt>0x02CCF7</tt> = Walk x-velocity integer (Default: <tt>01</tt>)
* <tt>0x02CD07 = (27) Jump behavior*</tt>
+
* <tt>0x02CD07</tt> = RAM address to check for jumping (see below) (Default: <tt>27</tt>) [NOTE: If changed to 0x17, he always jumps. If any value other than 0x27 or 0x17, he doesn't react to your attacks with a jump anymore.]
: *If changed to 0x17, he always jumps. If any value other than 0x27 or 0x17, he doesn't react to your attacks with a jump anymore.
+
* <tt>0x02CD09</tt> = Button to check for jumping (Default: <tt>02</tt>) [NOTE: What it does is that it checks if x button is pressed. Ex. if set to 02, Crash Man will check the B button; if set to 01, he will check the A button instead; if set to 03, Crash Man will check both A and B, etc.]
* <tt>0x02CD2A = (06) Jump velocity integer</tt>
+
* <tt>0x02CD2A</tt> = Jump y-velocity integer (Default: <tt>06</tt>)
* <tt>0x02CDAF = (44) Jump velocity fraction</tt>
+
* <tt>0x02CDAF</tt> = Jump y-velocity fraction (Default: <tt>44</tt>)
* <tt>0x02CDD3 = (5E) Not sure, change to another value to have him always shoot when jumping</tt>
+
* <tt>0x02CDD3</tt> = If an object of this type currently exists, Crash Man won't shoot when jumping (Default: <tt>5E</tt>)
* <tt>0x02CDEE = (06) Crash Bomber x-velocity integer</tt>
+
* <tt>0x02CDDA</tt> = Projectile type (Default: <tt>5E</tt>)
 +
* <tt>0x02CDEE</tt> = Crash Bomber x-velocity integer (Default: <tt>06</tt>)
  
 
===Quick Man===
 
===Quick Man===
* <tt>0x02C86E = (03) Number of boomerangs</tt>
+
* <tt>0x02C86E</tt> = Number of Quick Boomerangs (Default: <tt>03</tt>)
* <tt>0x02C872 = (59) Projectile Type</tt>
+
* <tt>0x02C872</tt> = Projectile type (Default: <tt>59</tt>)
* <tt>0x02C882 = (25) Boomerang delay in frames before second motion</tt>
+
* <tt>0x02C882</tt> = Quick Boomerang delay in frames before second motion (Default: <tt>25</tt>)
* <tt>0x02C887 = (04) Boomerang velocity first motion</tt>
+
* <tt>0x02C887</tt> = Boomerang x-velocity first motion (Default: <tt>04</tt>)
* <tt>0x03B726 = (04) Boomerang velocity second motion</tt>
+
* <tt>0x03B726</tt> = Boomerang x-velocity second motion (Default: <tt>04</tt>)
* <tt>0x02C8A3 = (07) Middle jump y-velocity</tt>
+
* <tt>0x02C8A3</tt> = Medium jump y-velocity (Default: <tt>07</tt>)
* <tt>0x02C8A4 = (08) High jump y-velocity</tt>
+
* <tt>0x02C8A4</tt> = High jump y-velocity (Default: <tt>08</tt>)
* <tt>0x02C8A5 = (04) Low jump y-velocity</tt>
+
* <tt>0x02C8A5</tt> = Low jump y-velocity (Default: <tt>04</tt>)
* <tt>0x02C8E4 = (3E) Running time in frames</tt>
+
* <tt>0x02C8E4</tt> = Running time in frames (Default: <tt>3E</tt>)
* <tt>0x02C8DF = (02) Running velocity integer</tt>
+
* <tt>0x02C8DF</tt> = Running velocity integer (Default: <tt>02</tt>)
  
 
===Bubble Man===
 
===Bubble Man===
* <tt>0x02C70B = (FF) Landing speed integer</tt>
+
* <tt>0x02C70B</tt> = Landing speed integer (Default: <tt>FF</tt>)
* <tt>0x02C6D3 = (01) Rising speed integer</tt>
+
* <tt>0x02C6D3</tt> = Rising speed integer (Default: <tt>01</tt>)
* <tt>0x02C74F = (5A) Gun projectile type</tt>
+
* <tt>0x02C74F</tt> = Gun projectile type (Default: <tt>5A</tt>)
  
 
===Wood Man===
 
===Wood Man===
* <tt>0x02C537 = (12) Delay between rising leaves</tt>
+
* <tt>0x02C537</tt> = Delay between rising leaves (Default: <tt>12</tt>)
* <tt>0x02C5DD = (04) Jump y-velocity integer</tt>
+
* <tt>0x02C5DD</tt> = Jump y-velocity integer (Default: <tt>04</tt>)
* <tt>0x02C5E2 = (01) Jump x-velocity integer</tt>
+
* <tt>0x02C5E2</tt> = Jump x-velocity integer (Default: <tt>01</tt>)
* <tt>0x02C5A9 = (04) Leaf Shield launch x-velocity integer</tt>
+
* <tt>0x02C5A9</tt> = Leaf Shield launch x-velocity integer (Default: <tt>04</tt>)
* <tt>0x02C553 = (03) Number of falling leaves</tt>
+
* <tt>0x02C553</tt> = Number of falling leaves (Default: <tt>03</tt>)
* <tt>0x02C576 = (02) Falling leaf x-velocity integer</tt>
+
* <tt>0x02C576</tt> = Falling leaf x-velocity integer (Default: <tt>02</tt>)
* <tt>0x02C567 = (20) Falling leaf y-pos start</tt>
+
* <tt>0x02C567</tt> = Falling leaf y-position start (Default: <tt>20</tt>)
* <tt>0x02C522 = () Leaf Shield projectile type</tt>
+
* <tt>0x02C522</tt> = Leaf Shield projectile type (Default: <tt>61</tt>)
* <tt>0x02C557 = () Falling leaves projectile type</tt>
+
* <tt>0x02C557</tt> = Falling leaves projectile type (Default: <tt>62</tt>)
* <tt>0x02C542 = () Rising leaves projectile type</tt>
+
* <tt>0x02C542</tt> = Rising leaves projectile type (Default: <tt>62</tt>)
* <tt>0x03DA34 = () Leaf Shield fall speed???</tt>
+
* <tt>0x03DA34</tt> = Leaf Shield fall y-velocity? (Default: <tt>00</tt>) [NOTE: Uncertain about value's function; alter it at own risk.]
* <tt>0x03D8F6 = (02) ??*</tt>
+
* <tt>0x03D8F6</tt> = [NOTE: Unsure; changing this value to <tt>06</tt> makes an interesting Leaf Shield pattern.] (Default: <tt>02</tt>)
: *Change to 0x06 for an interesting leaf shield pattern
+
* <tt>0x03B855</tt> = Leaf fall y-velocity? (Default: <tt>20</tt>) [NOTE: Uncertain about value's function; alter it at own risk. Unlike other instances of velocity, lower values means faster velocity. Values <tt>40</tt> and higher make it so that it doesn't fall. High numbers make leaves instantly despawn, causing faster patterns]
* <tt>0x03B855 = (20) Leaf fall speed?*</tt>
 
: *Decrease value to increase speed. At 0x40, it doesn't fall. Change to a high number to instantly despawn leaves for a fast pattern.
 
  
 
===Air Man===
 
===Air Man===
* <tt>'''0x02C2F3 to 0x02C50A''' = Routine for attack</tt>
+
* <tt>0x02C2F3</tt> <tt>-</tt> <tt>0x02C50A</tt> (<tt>0x218</tt>) = Routine for attack
* <tt>0x02C30C = (03) Number of tornado patterns before jump phase</tt>
+
* <tt>0x02C30C</tt> = Number of tornado patterns before jump phase (Default: <tt>03</tt>)
* <tt>0x02C393 to 0x02C428 (0096) = Tornado properties</tt>
+
* <tt>0x02C393</tt> <tt>-</tt> <tt>0x02C428</tt> (0x96) = Tornado properties [NOTE: Air Man has 5 possible tornado patterns, each with 6 tornadoes. In each 30-byte block of properties, the first 6 bytes correspond to the tornadoes in the first pattern, the next 6 bytes correspond to the tornadoes in the second pattern, etc.]
** <tt>0x02C393 to 0x02C3B0 (001E) = y-velocity fractions*</tt>
+
** <tt>0x02C393</tt> <tt>-</tt> <tt>0x02C3B0</tt> (0x1E) = y-velocity fractions
*** <tt>0x02C393 to 0x02C398 (0006) = Pattern #1 tornadoes</tt>
+
** <tt>0x02C3B1</tt> <tt>-</tt> <tt>0x02C3CE</tt> (0x1E) = y-velocity integers
*** <tt>0x02C399 to 0x02C39E (0006) = Pattern #2 tornadoes</tt>
+
** <tt>0x02C3CF</tt> <tt>-</tt> <tt>0x02C3EC</tt> (0x1E) = x-velocity fractions
*** <tt>0x02C39F to 0x02C3A4 (0006) = Pattern #3 tornadoes</tt>
+
** <tt>0x02C3ED</tt> <tt>-</tt> <tt>0x02C40A</tt> (0x1E) = x-velocity integers
*** <tt>0x02C3A5 to 0x02C3AA (0006) = Pattern #4 tornadoes</tt>
+
** <tt>0x02C40B</tt> <tt>-</tt> <tt>0x02C428</tt> (0x1E) = delay before tornado finishes deploying
*** <tt>0x02C3AB to 0x02C3B0 (0006) = Pattern #5 tornadoes</tt>
+
* <tt>0x02C4DD</tt> = First jump y-velocity fraction (Default: <tt>E6</tt>)
** <tt>0x02C3B1 to 0x02C3CE (001E) = y-velocity integers*</tt>
+
* <tt>0x02C4DE</tt> = Second jump y-velocity fraction (Default: <tt>76</tt>)
** <tt>0x02C3CF to 0x02C3EC (001E) = x-velocity fractions*</tt>
+
* <tt>0x02C4E0</tt> = First jump y-velocity integer (Default: <tt>04</tt>)
** <tt>0x02C3ED to 0x02C40A (001E) = x-velocity integers*</tt>
+
* <tt>0x02C4E1</tt> = Second jump y-velocity integer (Default: <tt>07</tt>)
** <tt>0x02C40B to 0x02C428 (001E) = delay before tornado finishes deploying*</tt>
+
* <tt>0x02C4E3</tt> = First jump x-velocity fraction (Default: <tt>39</tt>)
: *Air Man has 5 possible tornado patterns, each with 6 tornadoes. In each 30-byte block of properties, the first 6 bytes correspond to the tornadoes in the first pattern, the next 6 bytes correspond to the tornadoes in the second pattern, etc.
+
* <tt>0x02C4E4</tt> = Second jump x-velocity fraction (Default: <tt>9A</tt>)
* <tt>0x02C4DD = (E6) First jump y-velocity fraction</tt>
+
* <tt>0x02C4E6</tt> = First jump x-velocity integer (Default: <tt>01</tt>)
* <tt>0x02C4DE = (76) Second jump y-velocity fraction</tt>
+
* <tt>0x02C4E7</tt> = Second jump x-velocity integer (Default: <tt>01</tt>)
* <tt>0x02C4E0 = (04) First jump y-velocity integer</tt>
 
* <tt>0x02C4E1 = (07) Second jump y-velocity integer</tt>
 
* <tt>0x02C4E3 = (39) First jump x-velocity fraction</tt>
 
* <tt>0x02C4E4 = (9A) Second jump x-velocity fraction</tt>
 
* <tt>0x02C4E6 = (01) First jump x-velocity integer</tt>
 
* <tt>0x02C4E7 = (01) Second jump x-velocity integer</tt>
 
  
 
===Wily Machine===
 
===Wily Machine===
* <tt>0x02DA2E = (02) Phase 1 weakness #1 to disable*</tt>
+
* <tt>0x02DA2E</tt> = Phase 1 weakness #1 to disable (Default: <tt>02</tt>) [NOTE: Only one damage table is provided for Wily Machine's weaknesses. However, during each phase, the game manually ignores damage when you have certain weapons equipped. By default, damage is negated if you have Air Shooter or Quick Boomerang equipped in phase 1, or if you have Atomic Fire equipped in phase 2.]
* <tt>0x02DA32 = (05) Phase 1 weakness #2 to disable*</tt>
+
* <tt>0x02DA32</tt> = Phase 1 weakness #2 to disable (Default: <tt>05</tt>)
* <tt>0x02DA3A = (01) Phase 2 weakness to disable*</tt>
+
* <tt>0x02DA3A</tt> = Phase 2 weakness to disable (Default: <tt>01</tt>)
: *Only one damage table is provided for Wily Machine's weaknesses. However, during each phase of fighting Wily Machine, the game manually ignores damage when you have certain weapons equipped, giving the impression that each phase has different weaknesses. Normally, in Phase 1, damage is negated if you have Air Shooter or Quick Boomerang equipped. In Phase 2, damage is negated if you have Atomic Fire equipped.
 
 
 
==Damage Values==
 
The data below shows how much damage each boss will take from a specific weapon. In the ROM, each weapon is grouped and is separate from the Robot Master data. This is based on the USA version of Mega Man 2. Japanese values are located further up in the ROM.
 
 
 
It should be noted that any hex value from 00 to 79 (0 to 127) deals damage to the enemy, whereas hex values ranging from 80 to FF (128 to 255) will fully heal the enemy.
 
  
 +
==Boss Weakness Damage==
 
'''(Credit to [[Overseer190]])'''
 
'''(Credit to [[Overseer190]])'''
  
====Mega Buster====
+
[NOTE: This is based on the USA version of Mega Man 2. Japanese values are located further up in the ROM. Also, any hex value from 00 to 7F (0 to 127) deals damage to the enemy, whereas hex values ranging from 80 to FF (128 to 255) will fully heal the enemy.]
*0x02E952: HeatMan (Default is 02)
 
*0x02E953: AirMan (Default is 02)
 
*0x02E954: WoodMan (Default is 01)
 
*0x02E955: BubbleMan (Default is 01)
 
*0x02E956: QuickMan (Default is 02)
 
*0x02E957: FlashMan (Default is 02)
 
*0x02E958: MetalMan (Default is 01)
 
*0x02E959: CrashMan (Default is 01)
 
*0x02E95A: Mecha Dragon (Default is 01)
 
*0x02E95B: Picopico-kun (Default is 02)
 
*0x02E95C: Guts Tank (Default is 02)
 
*0x02E95D: Boobeam Trap (Default is 00)
 
*0x02E95E: Wily Machine 2 (Default is 02)
 
*0x02E95F: Alien (Default is FF)
 
  
====Atomic Fire====
+
===Mega Buster===
The game treats this weapon differently than the others because of its charging feature. An uncharged shot directly takes from the Mega Buster damage chart as seen above. A partially charged shot takes the Mega Buster table as well, but multiplies the value by 2 and always rounds up to the nearest whole number. A charged shot '''uses its own table''' as seen below...
+
* <tt>0x02E952</tt> = Heat Man (Default: <tt>02</tt>)
 +
* <tt>0x02E953</tt> = Air Man (Default: <tt>02</tt>)
 +
* <tt>0x02E954</tt> = Wood Man (Default: <tt>01</tt>)
 +
* <tt>0x02E955</tt> = Bubble Man (Default: <tt>01</tt>)
 +
* <tt>0x02E956</tt> = Quick Man (Default: <tt>02</tt>)
 +
* <tt>0x02E957</tt> = Flash Man (Default: <tt>02</tt>)
 +
* <tt>0x02E958</tt> = Metal Man (Default: <tt>01</tt>)
 +
* <tt>0x02E959</tt> = Crash Man (Default: <tt>01</tt>)
 +
* <tt>0x02E95A</tt> = Mecha Dragon (Default: <tt>01</tt>)
 +
* <tt>0x02E95B</tt> = Picopico-kun (Default: <tt>00</tt>)
 +
* <tt>0x02E95C</tt> = Guts Tank (Default: <tt>01</tt>)
 +
* <tt>0x02E95D</tt> = Boobeam Trap (Default: <tt>00</tt>)
 +
* <tt>0x02E95E</tt> = Wily Machine 2 (Default: <tt>01</tt>)
 +
* <tt>0x02E95F</tt> = Alien (Default: <tt>FF</tt>)
  
*0x02E960: HeatMan (Default is FF)
+
===Atomic Fire===
*0x02E961: AirMan (Default is 06)
+
[NOTE: An uncharged shot uses the Mega Buster's damage chart, a partially charged shot uses the Mega Buster's damage chart and multiplies the value by 2, and a charged shot uses the table below.]
*0x02E962: WoodMan (Default is 0E)
+
* <tt>0x02E960</tt> = Heat Man (Default: <tt>FF</tt>)
*0x02E963: BubbleMan (Default is 00)
+
* <tt>0x02E961</tt> = Air Man (Default: <tt>06</tt>)
*0x02E964: QuickMan (Default is 0A)
+
* <tt>0x02E962</tt> = Wood Man (Default: <tt>0E</tt>)
*0x02E965: FlashMan (Default is 06)
+
* <tt>0x02E963</tt> = Bubble Man (Default: <tt>00</tt>)
*0x02E966: MetalMan (Default is 04)
+
* <tt>0x02E964</tt> = Quick Man (Default: <tt>0A</tt>)
*0x02E967: CrashMan (Default is 06)
+
* <tt>0x02E965</tt> = Flash Man (Default: <tt>06</tt>)
*0x02E968: Mecha Dragon (Default is 08)
+
* <tt>0x02E966</tt> = Metal Man (Default: <tt>04</tt>)
*0x02E969: Picopico-kun (Default is 02)
+
* <tt>0x02E967</tt> = Crash Man (Default: <tt>06</tt>)
*0x02E96A: Guts Tank (Default is 08)
+
* <tt>0x02E968</tt> = Mecha Dragon (Default: <tt>08</tt>)
*0x02E96B: Boobeam Trap (Default is 00)
+
* <tt>0x02E969</tt> = Picopico-kun (Default: <tt>00</tt>)
*0x02E96C: Wily Machine 2 (Default is 0E)
+
* <tt>0x02E96A</tt> = Guts Tank (Default: <tt>08</tt>)
*0x02E96D: Alien (Default is FF)
+
* <tt>0x02E96B</tt> = Boobeam Trap (Default: <tt>00</tt>)
 +
* <tt>0x02E96C</tt> = Wily Machine 2 (Default: <tt>0E</tt>)
 +
* <tt>0x02E96D</tt> = Alien (Default: <tt>FF</tt>)
  
====Air Shooter====
+
===Air Shooter===
*0x02E96E: HeatMan (Default is 02)
+
* <tt>0x02E96E</tt> = Heat Man (Default: <tt>02</tt>)
*0x02E96F: AirMan (Default is 00)
+
* <tt>0x02E96F</tt> = Air Man (Default: <tt>00</tt>)
*0x02E970: WoodMan (Default is 04)
+
* <tt>0x02E970</tt> = Wood Man (Default: <tt>04</tt>)
*0x02E971: BubbleMan (Default is 00)
+
* <tt>0x02E971</tt> = Bubble Man (Default: <tt>00</tt>)
*0x02E972: QuickMan (Default is 02)
+
* <tt>0x02E972</tt> = Quick Man (Default: <tt>02</tt>)
*0x02E973: FlashMan (Default is 00)
+
* <tt>0x02E973</tt> = Flash Man (Default: <tt>00</tt>)
*0x02E974: MetalMan (Default is 00)
+
* <tt>0x02E974</tt> = Metal Man (Default: <tt>00</tt>)
*0x02E975: CrashMan (Default is 0A)
+
* <tt>0x02E975</tt> = Crash Man (Default: <tt>0A</tt>)
*0x02E976: Mecha Dragon (Default is 00)
+
* <tt>0x02E976</tt> = Mecha Dragon (Default: <tt>00</tt>)
*0x02E977: Picopico-kun (Default is 00)
+
* <tt>0x02E977</tt> = Picopico-kun (Default: <tt>00</tt>)
*0x02E978: Guts Tank (Default is 00)
+
* <tt>0x02E978</tt> = Guts Tank (Default: <tt>00</tt>)
*0x02E979: Boobeam Trap (Default is 00)
+
* <tt>0x02E979</tt> = Boobeam Trap (Default: <tt>00</tt>)
*0x02E97A: Wily Machine 2 (Default is 01)
+
* <tt>0x02E97A</tt> = Wily Machine 2 (Default: <tt>01</tt>)
*0x02E97B: Alien (Default is FF)
+
* <tt>0x02E97B</tt> = Alien (Default: <tt>FF</tt>)
  
====Leaf Shield====
+
===Leaf Shield===
*0x02E97C: HeatMan (Default is 00)
+
* <tt>0x02E97C</tt> = Heat Man (Default: <tt>00</tt>)
*0x02E97D: AirMan (Default is 08)
+
* <tt>0x02E97D</tt> = Air Man (Default: <tt>08</tt>)
*0x02E97E: WoodMan (Default is FF)
+
* <tt>0x02E97E</tt> = Wood Man (Default: <tt>FF</tt>)
*0x02E97F: BubbleMan (Default is 00)
+
* <tt>0x02E97F</tt> = Bubble Man (Default: <tt>00</tt>)
*0x02E980: QuickMan (Default is 00)
+
* <tt>0x02E980</tt> = Quick Man (Default: <tt>00</tt>)
*0x02E981: FlashMan (Default is 00)
+
* <tt>0x02E981</tt> = Flash Man (Default: <tt>00</tt>)
*0x02E982: MetalMan (Default is 00)
+
* <tt>0x02E982</tt> = Metal Man (Default: <tt>00</tt>)
*0x02E983: CrashMan (Default is 00)
+
* <tt>0x02E983</tt> = Crash Man (Default: <tt>00</tt>)
*0x02E984: Mecha Dragon (Default is 00)
+
* <tt>0x02E984</tt> = Mecha Dragon (Default: <tt>00</tt>)
*0x02E985: Picopico-kun (Default is 00)
+
* <tt>0x02E985</tt> = Picopico-kun (Default: <tt>00</tt>)
*0x02E986: Guts Tank (Default is 00)
+
* <tt>0x02E986</tt> = Guts Tank (Default: <tt>00</tt>)
*0x02E987: Boobeam Trap (Default is 00)
+
* <tt>0x02E987</tt> = Boobeam Trap (Default: <tt>00</tt>)
*0x02E988: Wily Machine 2 (Default is 00)
+
* <tt>0x02E988</tt> = Wily Machine 2 (Default: <tt>00</tt>)
*0x02E989: Alien (Default is FF)
+
* <tt>0x02E989</tt> = Alien (Default: <tt>FF</tt>)
  
====Bubble Lead====
+
===Bubble Lead===
*0x02E98A: HeatMan (Default is 06)
+
* <tt>0x02E98A</tt> = Heat Man (Default: <tt>06</tt>)
*0x02E98B: AirMan (Default is 00)
+
* <tt>0x02E98B</tt> = Air Man (Default: <tt>00</tt>)
*0x02E98C: WoodMan (Default is 00)
+
* <tt>0x02E98C</tt> = Wood Man (Default: <tt>00</tt>)
*0x02E98D: BubbleMan (Default is 00)
+
* <tt>0x02E98D</tt> = Bubble Man (Default: <tt>FF</tt>)
*0x02E98E: QuickMan (Default is 00)
+
* <tt>0x02E98E</tt> = Quick Man (Default: <tt>00</tt>)
*0x02E98F: FlashMan (Default is 02)
+
* <tt>0x02E98F</tt> = Flash Man (Default: <tt>02</tt>)
*0x02E990: MetalMan (Default is 00)
+
* <tt>0x02E990</tt> = Metal Man (Default: <tt>00</tt>)
*0x02E991: CrashMan (Default is 00)
+
* <tt>0x02E991</tt> = Crash Man (Default: <tt>01</tt>)
*0x02E992: Mecha Dragon (Default is 00)
+
* <tt>0x02E992</tt> = Mecha Dragon (Default: <tt>00</tt>)
*0x02E993: Picopico-kun (Default is 00)
+
* <tt>0x02E993</tt> = Picopico-kun (Default: <tt>00</tt>)
*0x02E994: Guts Tank (Default is 00)
+
* <tt>0x02E994</tt> = Guts Tank (Default: <tt>01</tt>)
*0x02E995: Boobeam Trap (Default is 01)
+
* <tt>0x02E995</tt> = Boobeam Trap (Default: <tt>00</tt>)
*0x02E996: Wily Machine 2 (Default is 00)
+
* <tt>0x02E996</tt> = Wily Machine 2 (Default: <tt>00</tt>)
*0x02E997: Alien (Default is 01)
+
* <tt>0x02E997</tt> = Alien (Default: <tt>01</tt>)
  
====Quick Boomerang====
+
===Quick Boomerang===
*0x02E998: HeatMan (Default is 02)
+
* <tt>0x02E998</tt> = Heat Man (Default: <tt>02</tt>)
*0x02E999: AirMan (Default is 02)
+
* <tt>0x02E999</tt> = Air Man (Default: <tt>02</tt>)
*0x02E99A: WoodMan (Default is 00)
+
* <tt>0x02E99A</tt> = Wood Man (Default: <tt>00</tt>)
*0x02E99B: BubbleMan (Default is 02)
+
* <tt>0x02E99B</tt> = Bubble Man (Default: <tt>02</tt>)
*0x02E99C: QuickMan (Default is 00)
+
* <tt>0x02E99C</tt> = Quick Man (Default: <tt>00</tt>)
*0x02E99D: FlashMan (Default is 00)
+
* <tt>0x02E99D</tt> = Flash Man (Default: <tt>00</tt>)
*0x02E99E: MetalMan (Default is 04)
+
* <tt>0x02E99E</tt> = Metal Man (Default: <tt>04</tt>)
*0x02E99F: CrashMan (Default is 00)
+
* <tt>0x02E99F</tt> = Crash Man (Default: <tt>01</tt>)
*0x02E9A0: Mecha Dragon (Default is 01)
+
* <tt>0x02E9A0</tt> = Mecha Dragon (Default: <tt>01</tt>)
*0x02E9A1: Picopico-kun (Default is 00)
+
* <tt>0x02E9A1</tt> = Picopico-kun (Default: <tt>00</tt>)
*0x02E9A2: Guts Tank (Default is 02)
+
* <tt>0x02E9A2</tt> = Guts Tank (Default: <tt>02</tt>)
*0x02E9A3: Boobeam Trap (Default is 00)
+
* <tt>0x02E9A3</tt> = Boobeam Trap (Default: <tt>00</tt>)
*0x02E9A4: Wily Machine 2 (Default is 01)
+
* <tt>0x02E9A4</tt> = Wily Machine 2 (Default: <tt>01</tt>)
*0x02E9A5: Alien (Default is FF)
+
* <tt>0x02E9A5</tt> = Alien (Default: <tt>FF</tt>)
  
====Crash Bombs====
+
===Crash Bombs===
ROM address "0x02E9B2" is unused as Boobeam Traps take 4 damage from being hit by ''a weapon that does not have a "no hit" flag.'' The location of this flag is unknown...
+
* <tt>0x02E9A6</tt> = Heat Man (Default: <tt>FF</tt>)
 +
* <tt>0x02E9A7</tt> = Air Man (Default: <tt>00</tt>)
 +
* <tt>0x02E9A8</tt> = Wood Man (Default: <tt>02</tt>)
 +
* <tt>0x02E9A9</tt> = Bubble Man (Default: <tt>02</tt>)
 +
* <tt>0x02E9AA</tt> = Quick Man (Default: <tt>04</tt>)
 +
* <tt>0x02E9AB</tt> = Flash Man (Default: <tt>03</tt>)
 +
* <tt>0x02E9AC</tt> = Metal Man (Default: <tt>00</tt>)
 +
* <tt>0x02E9AD</tt> = Crash Man (Default: <tt>00</tt>)
 +
* <tt>0x02E9AE</tt> = Mecha Dragon (Default: <tt>01</tt>)
 +
* <tt>0x02E9AF</tt> = Picopico-kun (Default: <tt>00</tt>)
 +
* <tt>0x02E9B0</tt> = Guts Tank (Default: <tt>01</tt>)
 +
* <tt>0x02E9B1</tt> = Boobeam Trap (Default: <tt>00</tt>) [NOTE: This value is unused as Boobeam Traps take 4 damage from being hit by "a weapon that does not have a 'no hit' flag." The location of this flag is unknown.]
 +
* <tt>0x02E9B2</tt> = Wily Machine 2 (Default: <tt>04</tt>)
 +
* <tt>0x02E9B3</tt> = Alien (Default: <tt>FF</tt>)
  
*0x02E9A6: HeatMan (Default is FF)
+
===Metal Blade===
*0x02E9A7: AirMan (Default is 00)
+
* <tt>0x02E9B4</tt> = Heat Man (Default: <tt>01</tt>)
*0x02E9A8: WoodMan (Default is 02)
+
* <tt>0x02E9B5</tt> = Air Man (Default: <tt>00</tt>)
*0x02E9A9: BubbleMan (Default is 02)
+
* <tt>0x02E9B6</tt> = Wood Man (Default: <tt>02</tt>)
*0x02E9AA: QuickMan (Default is 04)
+
* <tt>0x02E9B7</tt> = Bubble Man (Default: <tt>04</tt>)
*0x02E9AB: FlashMan (Default is 00)
+
* <tt>0x02E9B8</tt> = Quick Man (Default: <tt>00</tt>)
*0x02E9AC: MetalMan (Default is 03)
+
* <tt>0x02E9B9</tt> = Flash Man (Default: <tt>04</tt>)
*0x02E9AD: CrashMan (Default is 00)
+
* <tt>0x02E9BA</tt> = Metal Man (Default: <tt>0E</tt>)
*0x02E9AE: Mecha Dragon (Default is 01)
+
* <tt>0x02E9BB</tt> = Crash Man (Default: <tt>00</tt>)
*0x02E9AF: Picopico-kun (Default is 00)
+
* <tt>0x02E9BC</tt> = Mecha Dragon (Default: <tt>00</tt>)
*0x02E9B0: Guts Tank (Default is 01)
+
* <tt>0x02E9BD</tt> = Picopico-kun (Default: <tt>00</tt>)
*0x02E9B1: Boobeam Trap (Default is 01*)
+
* <tt>0x02E9BE</tt> = Guts Tank (Default: <tt>00</tt>)
*0x02E9B2: Wily Machine 2 (Default is 01)
+
* <tt>0x02E9BF</tt> = Boobeam Trap (Default: <tt>00</tt>)
*0x02E9B3: Alien (Default is FF)
+
* <tt>0x02E9C0</tt> = Wily Machine 2 (Default: <tt>01</tt>)
 
+
* <tt>0x02E9C1</tt> = Alien (Default: <tt>FF</tt>)
====Metal Blade====
 
*0x02E9B4: HeatMan (Default is 01)
 
*0x02E9B5: AirMan (Default is 00)
 
*0x02E9B6: WoodMan (Default is 02)
 
*0x02E9B7: BubbleMan (Default is 04)
 
*0x02E9B8: QuickMan (Default is 00)
 
*0x02E9B9: FlashMan (Default is 04)
 
*0x02E9BA: MetalMan (Default is 0E)
 
*0x02E9BB: CrashMan (Default is 00)
 
*0x02E9BC: Mecha Dragon (Default is 00)
 
*0x02E9BD: Picopico-kun (Default is 00)
 
*0x02E9BE: Guts Tank (Default is 00)
 
*0x02E9BF: Boobeam Trap (Default is 00)
 
*0x02E9C0: Wily Machine 2 (Default is 01)
 
*0x02E9C1: Alien (Default is FF)
 

Latest revision as of 17:40, 28 September 2021

Gameplay Data

Mega Man

  • 0x03891F = Mega Man's standstill x-velocity integer (Default: 00)
  • 0x038920 = Mega Man's inching x-velocity integer (Default: 00)
  • 0x038921 = Mega Man's walking x-velocity integer (Default: 01)
  • 0x038922 = Mega Man's jumping x-velocity integer (Default: 01)
  • 0x038923 = Mega Man's slip x-velocity integer (Default: 00)
  • 0x038924 = Mega Man's landing x-velocity integer (Default: 00)
  • 0x03892A = Mega Man's standstill x-velocity fraction (Default: 00)
  • 0x03892B = Mega Man's inching x-velocity fraction (Default: 20)
  • 0x03892C = Mega Man's walking x-velocity fraction (Default: 60)
  • 0x03892D = Mega Man's jumping x-velocity fraction (Default: 50)
  • 0x03892E = Mega Man's slip x-velocity fraction (Default: 80)
  • 0x03892F = Mega Man's landing x-velocity fraction (Default: 00)
  • 0x038A81 = Mega Man's jump height (Default: 80)

HP & Weapons Display

  • 0x02C142 = How fast the robot masters' health fills up (Default: 03)
  • 0x02E12B = How fast the fortress bosses' health fills up (Default: 03)
  • 0x0352B2 = How fast Mega Man's health fills up while paused (Default: 03)
  • 0x038315 = Maximum Energy for Mega Man (Default: 1C)
  • 0x03831B = How fast Mega Man's health fills up in-game (Default: 07)
  • 0x03835A = How fast Mega Man's weapon energy fills up in-game (Default: 07)
  • 0x03CF79 = X position for energy bar (Default: 18)
  • 0x03CF8F = X position for weapon bar (Default: 10)
  • 0x03CFB1 = X position for boss bar (Default: 28)
  • 0x03CFD8 = Graphics for Energy Bar (Default: 87) [NOTE: This define the leftmost tile (full HP graphic) and automatically picks to the right of it the remaining 4 tiles in descending order of HP, ex. 87>8B, DB>DF.]
  • 0x03CFF5 = Y position for 1/7 energy (Default: 18)
  • 0x03CFF6 = Y position for 2/7 energy (Default: 20)
  • 0x03CFF7 = Y position for 3/7 energy (Default: 28)
  • 0x03CFF8 = Y position for 4/7 energy (Default: 30)
  • 0x03CFF9 = Y position for 5/7 energy (Default: 38)
  • 0x03CFFA = Y position for 6/7 energy (Default: 40)
  • 0x03CFFB = Y position for 7/7 energy (Default: 48)

Sound Effects during Stage

  • 0x03524E = Changing selections in menu, Mega Man forming (Default: 2F)
  • 0x0381E0 - 0x0381ED = Music played for each level
  • 0x038685 = Sound for Mega Man landing (Default: 29)
  • 0x03C59F = Sound for entering menu screen during action (Default: 32)
  • 0x03C802 = Sound effect for Mega Man beamed down (Default: 30)

Pause Menu

  • 0x0352AC = The amount of energy that E-Tanks set (Default: 1C)
  • 0x03539E = Sound effect for turning off menu during action (Default: 30)
  • 0x0353E8 = Starting Y position of the weapon icon sprites (Default: 44)
  • 0x035403 = X position of the weapon icon sprites (Default: 0C)
  • 0x03542C = Y position of Mega Man's health bar (Default: 44)
  • 0x03543D = Y position of the first set of weapon energy bars (Default: 54)
  • 0x03549C = Y position of the second set of weapon energy bars (Default: 44)
  • 0x03559E - 0x03562D = Pause menu tile layout

Arrow and NEXT Sprites

  • 0x03563C - 0x03564F (0x14) = sprite data
  • 0x03563C = Y position
  • 0x03563D = PPU Tile
  • 0x03563E = Palette, mirroring
  • 0x03563F = X position
format repeats

Weapon Icon Sprites

  • 0x035650 - 0x03565B (0xC) = sprite data
  • 0x035650 = P / Mega Buster (Default: 1F)
  • 0x035651 = H / Atomic Fire (Default: 9F)
  • 0x035652 = A / Air Shooter (Default: 9B)
  • 0x035653 = W / Leaf Shield (Default: 99)
  • 0x035654 = B / Bubble Lead (Default: 9D)
  • 0x035655 = Q / Quick Boomerang (Default: 9C)
  • 0x035656 = F / Flash Stopper (Default: 9A)
  • 0x035657 = M / Metal Blade (Default: 9E)
  • 0x035658 = C / Crash Bomber (Default: 10)
  • 0x035659 = 1 / Item 1 (Default: 15)
  • 0x03565A = 2 / Item 2 (Default: 16)
  • 0x03565B = 3 / Item 3 (Default: 17)

E-Tank Menu Sprite

  • 0x03565C - 0x03565F (0x4) = sprite data
  • 0x03565C = Y position
  • 0x03565D = PPU Tile
  • 0x03565E = Palette, mirroring
  • 0x03565F = X position

Extra Life Menu Sprite

  • 0x035660 - 0x03566F (0x10) = sprite data
  • 0x035660 = Y position
  • 0x035661 = PPU Tile
  • 0x035662 = Palette, mirroring
  • 0x035663 = X position
format repeats

Items

  • 0x0380D5 = Beginning amount of Health (Default: 1C)
  • 0x0382FD = Amount of HP large Energy returns (Default: 0A)
  • 0x038301 = Amount of HP small Energy returns (Default: 02)
  • 0x03806C = Amount of E-Tanks set after starting a new game (Default: 00)
  • 0x038382 = Maximum amount of E-Tanks you can carry (Default: 04) [NOTE: Carrying anything higher than 4 E-Tanks will generate bad passwords.]
  • 0x038390 = Maximum amount of lives you can carry (Default: 63) [NOTE: Due to how lives actually work, 00 is game over and 01 is actually 0 lives, so 63 would yield a 98 live limit instead of the usual 99.]
  • 0x03C1CB = Amount of E-Tanks set after continuing from a game over (Default: 00)

Power Ups

  • 0x03C289 = Power Up from Heat Man (Default: 01)
  • 0x03C28A = Power Up from Air Man (Default: 02)
  • 0x03C28B = Power Up from Wood Man (Default: 04)
  • 0x03C28C = Power Up from Bubble Man (Default: 08)
  • 0x03C28D = Power Up from Quick Man (Default: 10)
  • 0x03C28E = Power Up from Flash Man (Default: 20)
  • 0x03C28F = Power Up from Metal Man (Default: 40)
  • 0x03C290 = Power Up from Crash Man (Default: 80)
  • 0x03C291 = Item # from Heat Man (Default: 01)
  • 0x03C292 = Item # from Air Man (Default: 02)
  • 0x03C293 = Item # from Wood Man (Default: 00)
  • 0x03C294 = Item # from Bubble Man (Default: 00)
  • 0x03C295 = Item # from Quick Man (Default: 00)
  • 0x03C296 = Item # from Flash Man (Default: 04)
  • 0x03C297 = Item # from Metal Man (Default: 00)
  • 0x03C298 = Item # from Crash Man (Default: 00)

Screen Data

Stage Select

  • 0x02EE10 - 0x02F1CF = Stage select screen layout
  • 0x0340D8 = Routine for checking if a level has been cleared
  • 0x0340EC - 0x0340EF = Routine for checking if a level has been cleared
  • 0x0340F6 = Confirming selection
  • 0x034186 = First override palette for Boss posing screen (Default: 2C)
  • 0x03418B = Second override palette for Boss posing screen (Default: 11)
  • 0x0341BA = Preview boss music (Default: 0A)
  • 0x0342ED = Selection for Bubble Man cursor
  • 0x0344A9 - 0x0344B8 = Palette background for Stage Select Screen
  • 0x0344B9 - 0x0344C8 = Palette foreground for Stage Select Screen
  • 0x034551 = Beginning of Sprites for Stage Select Screen
  • 0x03462D = Cursor Y position for Dr. Wily (Default: 60)
  • 0x03462E = Cursor Y position for Bubble Man (Default: 20)
  • 0x03462F = Cursor Y position for Air Man (Default: 20)
  • 0x034630 = Cursor Y position for Quick Man (Default: 20)
  • 0x034631 = Cursor Y position for Wood Man (Default: 60)
  • 0x034632 = Cursor Y position for Crash Man (Default: A0)
  • 0x034633 = Cursor Y position for Flash Man (Default: A0)
  • 0x034634 = Cursor Y position for Metal Man (Default: A0)
  • 0x034635 = Cursor Y position for Heat Man (Default: 60)
  • 0x034636 = Cursor X position for Dr. Wily (Default: 70)
  • 0x034637 = Cursor X position for Bubble Man (Default: 30)
  • 0x034638 = Cursor X position for Air Man (Default: 70)
  • 0x034639 = Cursor X position for Quick Man (Default: B0)
  • 0x03463A = Cursor X position for Wood Man (Default: B0)
  • 0x03463B = Cursor X position for Crash Man (Default: B0)
  • 0x03463C = Cursor X position for Flash Man (Default: 70)
  • 0x03463D = Cursor X position for Metal Man (Default: 30)
  • 0x03463E = Cursor X position for Heat Man (Default: 30)
  • 0x03464F - 0x034650 = Palette data for Boss posing screen
  • 0x034651 - 0x03466E = Lines for Boss posing screen data (reverse order)
  • 0x034670 = Pointer for Bubble Man Stage from selection
  • 0x034671 = Pointer for Air Man Stage from selection
  • 0x034672 = Pointer for Quick Man Stage from selection
  • 0x034673 = Pointer for Wood Man Stage from selection
  • 0x034674 = Pointer for Crash Man Stage from selection
  • 0x034675 = Pointer for Flash Man Stage from selection
  • 0x034676 = Pointer for Metal Man Stage from selection
  • 0x034677 = Pointer for Heat Man Stage from selection
  • 0x038076 - 0x03807D = routine to see all weapons gained to go to Wily when selecting Start
  • 0x03C264 - 0x03C269 = routine to see all weapons gained to go to Wily after gaining a weapon

Wily Castle

  • 0x0340E3 = First level of Wily's castle (Default: 08)
  • 0x035994 = Path velocity in Wily's castle map (Default: 03)
  • 0x035998 = Sound effect played when revealing a path tile (Default: 28)

Wily Castle Dots

  • 0x035D9C - 0x035DAF (0x14) = sprite data
  • 0x035D9C = Y position
  • 0x035D9D = PPU Tile
  • 0x035D9E = Palette, mirroring
  • 0x035D9F = X position
format repeats

Weapon Gained Screens

  • 0x037D4A = How fast every letter gets revealed (Default: 07)

Mega Man

  • 0x0249FE - 0x024A8A (0x8D) = Sprite data
  • 0x0249FF = Y position
  • 0x024A00 = PPU Tile
  • 0x024A01 = Palette, mirroring
  • 0x024A02 = X position
format repeats

Dr. Light

  • 0x024A8B - 0x024AD7 (0x4D) = Sprite data
  • 0x024A8C = Y position
  • 0x024A8D = PPU Tile
  • 0x024A8E = Palette, mirroring
  • 0x024A8F = X position
format repeats

Title

  • 0x036235 = Sound effect for switching between Normal and Difficult on Title (Default: 2F)
  • 0x0362D1 = Difficulty select arrow sprite tile (Default: A2)
  • 0x0362D2 = Palette, mirroring for arrow sprite (Default: 01)
  • 0x0362D4 = X position for arrow (Default: 30)
  • 0x0362D4 = Y position for arrow when selecting Normal (Default: 98)
  • 0x0362D5 = Y position for arrow when selecting Difficult (Default: A8)
  • 0x036322 = Removes all power ups and $00FD
  • 0x03686D = Sprite 1 for Title
  • 0x036877 = Sprite 2 for Title
  • 0x036AAF - 0x036ABE = Palette for sprites on Title
  • 0x036ACF - 0x036ADE = Palette background for Title
  • 0x037341 = Title Screen Last byte (reversed order)
  • 0x037700 = Title Screen First byte (reversed order)

Password Stuff

  • 0x03700B = Password Y position (A,1) (Default: 40)
  • 0x03700C = Password Y position (A,2) (Default: 40)
  • 0x03700D = Password Y position (A,3) (Default: 40)
  • 0x03700E = Password Y position (A,4) (Default: 40)
  • 0x03700F = Password Y position (A,5) (Default: 40)
  • 0x037010 = Password Y position (B,1) (Default: 50)
  • 0x037011 = Password Y position (B,2) (Default: 50)
  • 0x037012 = Password Y position (B,3) (Default: 50)
  • 0x037013 = Password Y position (B,4) (Default: 50)
  • 0x037014 = Password Y position (B,5) (Default: 50)
  • 0x037015 = Password Y position (C,1) (Default: 60)
  • 0x037016 = Password Y position (C,2) (Default: 60)
  • 0x037017 = Password Y position (C,3) (Default: 60)
  • 0x037018 = Password Y position (C,4) (Default: 60)
  • 0x037019 = Password Y position (C,5) (Default: 60)
  • 0x03701A = Password Y position (D,1) (Default: 70)
  • 0x03701B = Password Y position (D,2) (Default: 70)
  • 0x03701C = Password Y position (D,3) (Default: 70)
  • 0x03701D = Password Y position (D,4) (Default: 70)
  • 0x03701E = Password Y position (D,5) (Default: 70)
  • 0x03701F = Password Y position (E,1) (Default: 80)
  • 0x037020 = Password Y position (E,2) (Default: 80)
  • 0x037021 = Password Y position (E,3) (Default: 80)
  • 0x037022 = Password Y position (E,4) (Default: 80)
  • 0x037023 = Password Y position (E,5) (Default: 80)
  • 0x037024 = Password X position (A,1) (Default: 41)
  • 0x037025 = Password X position (A,2) (Default: 51)
  • 0x037026 = Password X position (A,3) (Default: 61)
  • 0x037027 = Password X position (A,4) (Default: 71)
  • 0x037028 = Password X position (A,5) (Default: 81)
  • 0x037029 = Password X position (B,1) (Default: 41)
  • 0x03702A = Password X position (B,2) (Default: 51)
  • 0x03702B = Password X position (B,3) (Default: 61)
  • 0x03702C = Password X position (B,4) (Default: 71)
  • 0x03702D = Password X position (B,5) (Default: 81)
  • 0x03702E = Password X position (C,1) (Default: 41)
  • 0x03702F = Password X position (C,2) (Default: 51)
  • 0x037030 = Password X position (C,3) (Default: 61)
  • 0x037031 = Password X position (C,4) (Default: 71)
  • 0x037032 = Password X position (C,5) (Default: 81)
  • 0x037033 = Password X position (D,1) (Default: 41)
  • 0x037034 = Password X position (D,2) (Default: 51)
  • 0x037035 = Password X position (D,3) (Default: 61)
  • 0x037036 = Password X position (D,4) (Default: 71)
  • 0x037037 = Password X position (D,5) (Default: 81)
  • 0x037038 = Password X position (E,1) (Default: 41)
  • 0x037039 = Password X position (E,2) (Default: 51)
  • 0x03703A = Password X position (E,3) (Default: 61)
  • 0x03703B = Password X position (E,4) (Default: 71)
  • 0x03703C = Password X position (E,5) (Default: 81)
  • 0x037056 = Password related (A,1)
  • 0x03709B = Password related (E,5)

Weapon Attributes

Mega Buster

  • 0x03DA7C - 0x03DA8F (0x14) = Routine
$DA6C:A5 27     LDA $0027   ;Load single frame input poll
$DA6E:29 02     AND #$02    ;Check bit 2 (Whether player pressed B)
$DA70:F0 2B     BEQ $DA9C   ;If bit 2 not on, player didn't press B, skip to end and leave subroutine
$DA72:A2 04     LDX #$04    ;Loads X with #$04
$DA74:BD 20 04  LDA $0420,X ;Check memory position $0424, status of third projectile slot
$DA77:10 07     BPL $DA80   ;Branch if Bit 7 is not set - Bit 7 of 424 is 1 if a projectile exists and 0 if not. In other words, if a projectile is in this slot, continue, otherwise jump to shooting routine
$DA79:CA        DEX         ;Decrement X
$DA7A:E0 01     CPX #$01    ;Check if X is 1
$DA7C:D0 F6     BNE $DA74   ;If X isn't, branch back to projectile check. This repeats until you have checked all 3 projectile slots
$DA7E:F0 1D     BEQ $DA9C   ;If it is 1, you've checked every projectile slot, end subroutine
$DA80:A9 24     LDA #$24    ;Load Accumulator w/ #$24 
$DA82:20 51 C0  JSR $C051   ;Jump to sound effect routine (Play sound #24, Mega Buster shot)
$DA85:A0 00     LDY #$00    ;Load Y with #$00
$DA87:20 E0 D3  JSR $D3E0   ;Jump to bullet generation routine - X, set by the previous loop, is the projectile slot to create bullet in. Y is bullet type, in this case 0 is Mega Buster shots
$DA8A:A9 0F     LDA #$0F    ;Load Accumulator with #$0F
$DA8C:85 36     STA $0036   ;Set timer for how long it takes MM to lower arm after firing to 15 frames
$DA8E:A9 01     LDA #$01    ;Load Accumulator with #$01
$DA90:85 3D     STA $003D   ;Set sprite for firing this to 1, buster shot (0 is none, 2 is super arm, 3 is throw) 
$DA92:A6 2C     LDX $002C   ;Load $002C, Mega Man's current state, into X
$DA94:18        CLC         ;Always clear carry flag before addition!
$DA95:7D D4 D3  ADC $D3D4,X ;Add something at $D3D4 + $002C's position. I think this is deciding which shooting sprite to use (2C indicates whether MM is standing, jumping, walking, etc). 
$DA98:8D 00 04  STA $0400   ;Store Rockman animation
$DA9B:18        CLC         ;Clear carry
$DA9C:60        RTS         ;We're done here folks
  • 0x03D4A7 = Velocity of Mega Man's buster shots (Default: 04) [NOTE: Shots that are too fast will not be able to properly register hits at all, so avoid going beyond around 0B.]
  • 0x03DA83 = Maximum number of buster shots on-screen (Default: 04) [NOTE: Values 00, 01, and 10 and beyond are all invalid, while 02 is actually 1, so 04 would actually mean 3 shots on-screen.]
    • What this literally is is how far into the object handling chart in memory ($0420 - $043F) the projectile generation loop is going. Weapons are normally stored in $0422 - $0429, so with a maximum of 3 bullets on screen, the loop checks $0424, $0423, and $0422. Increasing this past 0F enters the enemy handling range ($0430~$043F)
  • 0x03DA91 = Sound effect for basic Mega Man shooting (Default: 24)

Atomic Fire

  • 0x03DD61 = Charge time between first and second level (Default: 7D)
  • 0x03DD67 = Charge time between first and third level (Default: BB) [NOTE: If this value is lower than the value above, then that value is overwritten and it jumps straight to the third charge level.]
  • 0x03DE46 - 0x03DE48 = Sound effect for Atomic Heat charge per level (Default: 35, 36, 37)
  • 0x03DE49 - 0x03DE50 = First and third color of Atomic Heat per level, including non-charging (Default: 0F15, 3115, 352C, 3030)
  • 0x03DE55 - 0x03DE57 = Amount of energy that Atomic Heat uses per shot per level (Default: 01, 06, 0A)

Air Shooter

  • 0x03DAC3 - 0x03DAF5 (0x33) = Routine
$DAB3:A5 27     LDA $0027 = #$00
$DAB5:29 02     AND #$02
$DAB7:F0 2B     BEQ $DAE4
$DAB9:A2 04     LDX #$04
$DABB:BD 20 04  LDA $0420,X @ $0480 = #$40
$DABE:30 24     BMI $DAE4
$DAC0:CA        DEX
$DAC1:E0 01     CPX #$01
$DAC3:D0 F6     BNE $DABB
$DAC5:A2 04     LDX #$04
$DAC7:86 01     STX $0001 = #$74
$DAC9:A0 02     LDY #$02
$DACB:20 E0 D3  JSR $D3E0
$DACE:A6 01     LDX $0001 = #$74
$DAD0:CA        DEX
$DAD1:E0 01     CPX #$01
$DAD3:D0 F2     BNE $DAC7
$DAD5:A9 3F     LDA #$3F
$DAD7:20 51 C0  JSR $C051
$DADA:38        SEC
$DADB:A5 9D     LDA $009D = #$16
$DADD:E9 02     SBC #$02
$DADF:85 9D     STA $009D = #$16
$DAE1:4C 8A DA  JMP $DA8A
$DAE4:38        SEC
$DAE5:60        RTS
  • 0x03DAE6 = Sound effect for Air Shooter (Default: 3F)
  • 0x03DAEE = Amount of energy that Air Shooter uses per shot (Default: 02)

Leaf Shield

  • 0x03DF0D = Sound effect for Leaf Shield turning (Default: 01)
  • 0x03DF1F = Sound effect for Leaf Shield appearing (Default: 31)
  • 0x03DF72 = Amount of energy that Leaf Shield uses per shot (Default: 03)

Bubble Lead

  • 0x03DB34 = Sound effect for Bubble Lead (Default: 24)
  • 0x03DB3D = Amount of Bubble Lead shots before reducing energy (Default: 02)

Quick Boomerang

  • 0x03DB4B - 0x03DB89 (0x3F) = Routine
$DB3B:A5 27     LDA $0027 = #$00
$DB3D:29 02     AND #$02
$DB3F:D0 0A     BNE $DB4B
$DB41:A5 AB     LDA $00AB = #$03
$DB43:C9 0B     CMP #$0B
$DB45:F0 04     BEQ $DB4B
$DB47:E6 AB     INC $00AB = #$03
$DB49:18        CLC
$DB4A:60        RTS
$DB4B:A2 05     LDX #$05
$DB4D:BD 20 04  LDA $0420,X @ $0425 = #$C3
$DB50:10 07     BPL $DB59
$DB52:CA        DEX
$DB53:E0 01     CPX #$01
$DB55:D0 F6     BNE $DB4D
$DB57:F0 1F     BEQ $DB78
$DB59:A0 05     LDY #$05
$DB5B:20 E0 D3  JSR $D3E0
$DB5E:A9 24     LDA #$24
$DB60:20 51 C0  JSR $C051
$DB63:E6 AC     INC $00AC = #$04
$DB65:A5 AC     LDA $00AC = #$04
$DB67:C9 08     CMP #$08
$DB69:D0 06     BNE $DB71
$DB6B:A9 00     LDA #$00
$DB6D:85 AC     STA $00AC = #$04
$DB6F:C6 A0     DEC $00A0 = #$09
$DB71:A9 00     LDA #$00
$DB73:85 AB     STA $00AB = #$03
$DB75:4C 8A DA  JMP $DA8A
$DB78:38        SEC
$DB79:60        RTS
  • 0x03DB54 = Fire rate velocity for Quick Boomerang (Default: 0B)
  • 0x03DB6F = Sound effect for Quick Boomerang (Default: 24)
  • 0x03DB78 = Amount of Quick Boomerang shots before reducing energy (Default: 08)

Quick Boomerang Mechanics

  • 0x03DFDE - 0x03E025 (0x48) = Routine
$DFCE:BD E0 04  LDA $04E0,X @ $04E3 = #$0D
$DFD1:C9 12     CMP #$12
$DFD3:B0 14     BCS $DFE9
$DFD5:38        SEC
$DFD6:BD 60 06  LDA $0660,X @ $0663 = #$DB
$DFD9:E9 4B     SBC #$4B
$DFDB:9D 60 06  STA $0660,X @ $0663 = #$DB
$DFDE:BD 40 06  LDA $0640,X @ $0643 = #$FE
$DFE1:E9 00     SBC #$00
$DFE3:9D 40 06  STA $0640,X @ $0643 = #$FE
$DFE6:4C 0F E0  JMP $E00F
$DFE9:D0 08     BNE $DFF3
$DFEB:BD 20 04  LDA $0420,X @ $0423 = #$C3
$DFEE:49 40     EOR #$40
$DFF0:9D 20 04  STA $0420,X @ $0423 = #$C3
$DFF3:BD E0 04  LDA $04E0,X @ $04E3 = #$0D
$DFF6:C9 23     CMP #$23
$DFF8:D0 04     BNE $DFFE
$DFFA:5E 20 04  LSR $0420,X @ $0423 = #$C3
$DFFD:60        RTS
$DFFE:18        CLC
$DFFF:BD 60 06  LDA $0660,X @ $0663 = #$DB
$E002:69 4B     ADC #$4B
$E004:9D 60 06  STA $0660,X @ $0663 = #$DB
$E007:BD 40 06  LDA $0640,X @ $0643 = #$FE
$E00A:69 00     ADC #$00
$E00C:9D 40 06  STA $0640,X @ $0643 = #$FE
$E00F:FE E0 04  INC $04E0,X @ $04E3 = #$0D
$E012:20 EF EE  JSR $EEEF
$E015:60        RTS
  • 0x03DFE2 = How far Quick Boomerang flies out (Default: 12)
  • 0x03DFFF = How far Quick Boomerang flies down before coming up (Default: 40)
  • 0x03E007 = How far Quick Boomerang flies back (Default: 23)

Flash Stopper

  • 0x03DC41 - 0x03DC5C (0x1C) = Routine
$DC31:A5 27     LDA $0027 = #$00
$DC33:29 02     AND #$02
$DC35:F0 1F     BEQ $DC56
$DC37:A2 02     LDX #$02
$DC39:AD 22 04  LDA $0422 = #$00
$DC3C:30 18     BMI $DC56
$DC3E:A0 08     LDY #$08
$DC40:20 E0 D3  JSR $D3E0
$DC43:A9 01     LDA #$01
$DC45:8D A6 05  STA $05A6 = #$01
$DC48:A9 21     LDA #$21
$DC4A:20 51 C0  JSR $C051
  • 0x03DC59 = Sound effect for Flash Stopper (Default: 21)

Flash Stopper Mechanics

  • 0x03E168 - 0x03E19F (0x38) = Routine
$E158:DE 20 06  DEC $0620,X @ $0680 = #$03
$E15B:D0 15     BNE $E172
$E15D:A9 0F     LDA #$0F
$E15F:9D 20 06  STA $0620,X @ $0680 = #$03
$E162:C6 A1     DEC $00A1 = #$1C
$E164:D0 0C     BNE $E172
$E166:5E 20 04  LSR $0420,X @ $0480 = #$00
$E169:A9 00     LDA #$00
$E16B:85 AA     STA $00AA = #$00
$E16D:A9 01     LDA #$01
$E16F:85 50     STA $0050 = #$00
$E171:60        RTS
$E172:A9 01     LDA #$01
$E174:85 AA     STA $00AA = #$00
$E176:A9 00     LDA #$00
$E178:85 50     STA $0050 = #$00
$E17A:85 4F     STA $004F = #$00
$E17C:A9 80     LDA #$80
$E17E:9D A0 04  STA $04A0,X @ $0500 = #$A6
$E181:18        CLC
$E182:65 1F     ADC $001F = #$00
$E184:9D 60 04  STA $0460,X @ $04C0 = #$00
$E187:AD 40 04  LDA $0440 = #$00
$E18A:69 00     ADC #$00
$E18C:9D 40 04  STA $0440,X @ $04A0 = #$B4
$E18F:60        RTS
  • 0x03D49D = Duration until weapon energy starts to drain (Default: 0F)

Metal Blade

  • 0x03DC5D - 0x03DC65 (0x9) = Routine
$DC4D:A9 0F     LDA #$0F
$DC4F:85 36     STA $0036 = #$00
$DC51:A9 03     LDA #$03
$DC53:4C 90 DA  JMP $DA90
$DC56:38        SEC
$DC57:60        RTS
  • 0x03DBC9 = Sound effect for Metal Blade (Default: 23)
  • 0x03DBD2 = Amount of Metal Blade shots before reducing energy (Default: 04)

Crash Bomber

  • 0x03DBA6 = Sound effect for Crash Bomber (Default: 24)
  • 0x03DB99 = Amount of energy that Crash Bomber uses per shot (Default: 04)
  • 0x03E089 = Sound effect for Crash Bomber clasping wall (Default: 2E)
  • 0x03E09C = Timer until Crash Bomber detonates (Default: 7E)
  • 0x03E0DA = Sound effect for Crash Bomber exploding (Default: 2B)

Items

  • 0x03DC85 = Amount of energy that Item 1 uses per use (Default: 02)
  • 0x03E230 = Amount of time before subtracting one energy from Item 2 (Default: 13)
  • 0x03E34C = Amount of time before subtracting one energy from Item 3 (Default: 1F)

Enemy Behavior

Attack Power Table

  • 0x02E9C4 = Wood Man's contact damage (Default: 08)
  • 0x02E9C8 = Flash Man's contact damage (Default: 06)
  • 0x03ED76 = Crabbot's contact damage (Default: 04)
  • 0x03ED78 = Grand Croaker's contact damage (Default: 04)
  • 0x03ED79 = Petit Croaker's contact damage (Default: 01)
  • 0x03ED82 = Bubble Bat's contact damage (Default: 04)
  • 0x03ED83 = Robo-Rabbit's contact damage (Default: 04)
  • 0x03ED84 = Robo-Rabbit's projectile carrot (Default: 02)
  • 0x03ED85 = Hot Dog's contact damage (Default: 08)
  • 0x03ED87 = Hot Dog's projectile fire stream (Default: 04)
  • 0x03ED89 = Mecha Monkey's contact damage (Default: 04)
  • 0x03ED8B = Atomic Chicken's contact damage (Default: 04)
  • 0x03EDA1 = Returning Sniper Joe's projectile pellet (Default: 02)
  • 0x03EDA4 = Pipi's contact damage (Default: 04)
  • 0x03EDA6 = Pipi's egg projectile (Default: 04)
  • 0x03EDA8 = Copipi's contact damage (Default: 02)
  • 0x03EDB7 = Crazy Cannon's contact damage (Default: 04)
  • 0x03EDB9 = Crazy Cannon's projectile pellet (Default: 02)
  • 0x03EDBA = Sniper Armor's contact damage (Default: 08)
  • 0x03EDBB = Sniper Armor's projectile pellet (Default: 04)
  • 0x03EDBC = Schworm's contact damage (Default: 02)
  • 0x03EDBD = Schworm's projectile snake rod (Default: 02)
  • 0x03EDCD = Wood Man's Leaf Shield (Default: 08)
  • 0x03EDCE = Wood Man's Falling Leaves (Default: 04)

Heat Man

  • 0x02C16E - 0x02C--- (0x??) = Routine for attack
  • 0x02C207 = Atomic Fire 1's y-velocity (Default: 07)
  • 0x02C208 = Atomic Fire 2's y-velocity (Default: 05)
  • 0x02C209 = Atomic Fire 3's y-velocity (Default: 03)
  • 0x02C20A = Atomic Fire 1's x-velocity (Default: 3A) [NOTE: Unlike other instances of velocity, lower values for these x-velocities means faster velocity.]
  • 0x02C20B = Atomic Fire 2's x-velocity (Default: 2E)
  • 0x02C20C = Atomic Fire 3's x-velocity (Default: 1C)
  • 0x02C1BB = Projectile type (Default: 58)
  • 0x02C1A1 = Number of Atomic Fires thrown (Default: 02) [NOTE: Extra shots tend to be glitchy.]
  • 0x02C253 = Charge x-velocity (Default: 04)
  • 0x02C29D = Delay 1 before charge (Default: 1F) [NOTE: After Heat Man is damaged, he will wait before charging. This and the two values below are randomly chosen as the delay interval.]
  • 0x02C29E = Delay 2 before charge (Default: 3E)
  • 0x02C29F = Delay 3 before charge (Default: 5D)

Flash Man

  • 0x02C966 - 0x02CAF8 (0x193) = Routine for attack
  • 0x02C97D = Walk x-velocity fraction (Default: 06)
  • 0x02C982 = Walk x-velocity integer (Default: 01)
  • 0x02C98B = Delay before Time Stopper (Default: BB) [NOTE: It only counts down while the boss is walking.]
  • 0x02CA09 = Number of pellets to shoot (Default: 06)
  • 0x02CA52 = Length of Time Stopper/projectile frequency? (Default: 06) [NOTE: Uncertain about value's function; alter it at own risk.]
  • 0x02CA71 = Projectile type (Default: 35)
  • 0x02CA81 = Pellet x-velocity (Default: 08)
  • 0x02CAC6 = Jump x-velocity integer (Default: 00)
  • 0x02CACE = Jump y-velocity integer (Default: 04)

Metal Man

  • 0x02CBB5 = Jump height 1 (Default: 06) [NOTE: Anything higher than 07 will make Metal Man bonk the ceiling.]
  • 0x02CBB6 = Jump height 2 (Default: 05)
  • 0x02CBB7 = Jump height 3 (Default: 04)
  • 0x02CC1D = Metal Blade frequency? (Default: 06) [NOTE: Uncertain about value's function, seems to change behavior if value's different than 06; alter it at own risk.]
  • 0x02CC29 = Metal Blade sound (Default: 20)
  • 0x02CC2D = Projectile type (Default: 5C)
  • 0x02CC3F = Metal Blade x-velocity (Default: 04)

Crash Man

  • 0x02CCF2 = Walk x-velocity fraction (Default: 47)
  • 0x02CCF7 = Walk x-velocity integer (Default: 01)
  • 0x02CD07 = RAM address to check for jumping (see below) (Default: 27) [NOTE: If changed to 0x17, he always jumps. If any value other than 0x27 or 0x17, he doesn't react to your attacks with a jump anymore.]
  • 0x02CD09 = Button to check for jumping (Default: 02) [NOTE: What it does is that it checks if x button is pressed. Ex. if set to 02, Crash Man will check the B button; if set to 01, he will check the A button instead; if set to 03, Crash Man will check both A and B, etc.]
  • 0x02CD2A = Jump y-velocity integer (Default: 06)
  • 0x02CDAF = Jump y-velocity fraction (Default: 44)
  • 0x02CDD3 = If an object of this type currently exists, Crash Man won't shoot when jumping (Default: 5E)
  • 0x02CDDA = Projectile type (Default: 5E)
  • 0x02CDEE = Crash Bomber x-velocity integer (Default: 06)

Quick Man

  • 0x02C86E = Number of Quick Boomerangs (Default: 03)
  • 0x02C872 = Projectile type (Default: 59)
  • 0x02C882 = Quick Boomerang delay in frames before second motion (Default: 25)
  • 0x02C887 = Boomerang x-velocity first motion (Default: 04)
  • 0x03B726 = Boomerang x-velocity second motion (Default: 04)
  • 0x02C8A3 = Medium jump y-velocity (Default: 07)
  • 0x02C8A4 = High jump y-velocity (Default: 08)
  • 0x02C8A5 = Low jump y-velocity (Default: 04)
  • 0x02C8E4 = Running time in frames (Default: 3E)
  • 0x02C8DF = Running velocity integer (Default: 02)

Bubble Man

  • 0x02C70B = Landing speed integer (Default: FF)
  • 0x02C6D3 = Rising speed integer (Default: 01)
  • 0x02C74F = Gun projectile type (Default: 5A)

Wood Man

  • 0x02C537 = Delay between rising leaves (Default: 12)
  • 0x02C5DD = Jump y-velocity integer (Default: 04)
  • 0x02C5E2 = Jump x-velocity integer (Default: 01)
  • 0x02C5A9 = Leaf Shield launch x-velocity integer (Default: 04)
  • 0x02C553 = Number of falling leaves (Default: 03)
  • 0x02C576 = Falling leaf x-velocity integer (Default: 02)
  • 0x02C567 = Falling leaf y-position start (Default: 20)
  • 0x02C522 = Leaf Shield projectile type (Default: 61)
  • 0x02C557 = Falling leaves projectile type (Default: 62)
  • 0x02C542 = Rising leaves projectile type (Default: 62)
  • 0x03DA34 = Leaf Shield fall y-velocity? (Default: 00) [NOTE: Uncertain about value's function; alter it at own risk.]
  • 0x03D8F6 = [NOTE: Unsure; changing this value to 06 makes an interesting Leaf Shield pattern.] (Default: 02)
  • 0x03B855 = Leaf fall y-velocity? (Default: 20) [NOTE: Uncertain about value's function; alter it at own risk. Unlike other instances of velocity, lower values means faster velocity. Values 40 and higher make it so that it doesn't fall. High numbers make leaves instantly despawn, causing faster patterns]

Air Man

  • 0x02C2F3 - 0x02C50A (0x218) = Routine for attack
  • 0x02C30C = Number of tornado patterns before jump phase (Default: 03)
  • 0x02C393 - 0x02C428 (0x96) = Tornado properties [NOTE: Air Man has 5 possible tornado patterns, each with 6 tornadoes. In each 30-byte block of properties, the first 6 bytes correspond to the tornadoes in the first pattern, the next 6 bytes correspond to the tornadoes in the second pattern, etc.]
    • 0x02C393 - 0x02C3B0 (0x1E) = y-velocity fractions
    • 0x02C3B1 - 0x02C3CE (0x1E) = y-velocity integers
    • 0x02C3CF - 0x02C3EC (0x1E) = x-velocity fractions
    • 0x02C3ED - 0x02C40A (0x1E) = x-velocity integers
    • 0x02C40B - 0x02C428 (0x1E) = delay before tornado finishes deploying
  • 0x02C4DD = First jump y-velocity fraction (Default: E6)
  • 0x02C4DE = Second jump y-velocity fraction (Default: 76)
  • 0x02C4E0 = First jump y-velocity integer (Default: 04)
  • 0x02C4E1 = Second jump y-velocity integer (Default: 07)
  • 0x02C4E3 = First jump x-velocity fraction (Default: 39)
  • 0x02C4E4 = Second jump x-velocity fraction (Default: 9A)
  • 0x02C4E6 = First jump x-velocity integer (Default: 01)
  • 0x02C4E7 = Second jump x-velocity integer (Default: 01)

Wily Machine

  • 0x02DA2E = Phase 1 weakness #1 to disable (Default: 02) [NOTE: Only one damage table is provided for Wily Machine's weaknesses. However, during each phase, the game manually ignores damage when you have certain weapons equipped. By default, damage is negated if you have Air Shooter or Quick Boomerang equipped in phase 1, or if you have Atomic Fire equipped in phase 2.]
  • 0x02DA32 = Phase 1 weakness #2 to disable (Default: 05)
  • 0x02DA3A = Phase 2 weakness to disable (Default: 01)

Boss Weakness Damage

(Credit to Overseer190)

[NOTE: This is based on the USA version of Mega Man 2. Japanese values are located further up in the ROM. Also, any hex value from 00 to 7F (0 to 127) deals damage to the enemy, whereas hex values ranging from 80 to FF (128 to 255) will fully heal the enemy.]

Mega Buster

  • 0x02E952 = Heat Man (Default: 02)
  • 0x02E953 = Air Man (Default: 02)
  • 0x02E954 = Wood Man (Default: 01)
  • 0x02E955 = Bubble Man (Default: 01)
  • 0x02E956 = Quick Man (Default: 02)
  • 0x02E957 = Flash Man (Default: 02)
  • 0x02E958 = Metal Man (Default: 01)
  • 0x02E959 = Crash Man (Default: 01)
  • 0x02E95A = Mecha Dragon (Default: 01)
  • 0x02E95B = Picopico-kun (Default: 00)
  • 0x02E95C = Guts Tank (Default: 01)
  • 0x02E95D = Boobeam Trap (Default: 00)
  • 0x02E95E = Wily Machine 2 (Default: 01)
  • 0x02E95F = Alien (Default: FF)

Atomic Fire

[NOTE: An uncharged shot uses the Mega Buster's damage chart, a partially charged shot uses the Mega Buster's damage chart and multiplies the value by 2, and a charged shot uses the table below.]

  • 0x02E960 = Heat Man (Default: FF)
  • 0x02E961 = Air Man (Default: 06)
  • 0x02E962 = Wood Man (Default: 0E)
  • 0x02E963 = Bubble Man (Default: 00)
  • 0x02E964 = Quick Man (Default: 0A)
  • 0x02E965 = Flash Man (Default: 06)
  • 0x02E966 = Metal Man (Default: 04)
  • 0x02E967 = Crash Man (Default: 06)
  • 0x02E968 = Mecha Dragon (Default: 08)
  • 0x02E969 = Picopico-kun (Default: 00)
  • 0x02E96A = Guts Tank (Default: 08)
  • 0x02E96B = Boobeam Trap (Default: 00)
  • 0x02E96C = Wily Machine 2 (Default: 0E)
  • 0x02E96D = Alien (Default: FF)

Air Shooter

  • 0x02E96E = Heat Man (Default: 02)
  • 0x02E96F = Air Man (Default: 00)
  • 0x02E970 = Wood Man (Default: 04)
  • 0x02E971 = Bubble Man (Default: 00)
  • 0x02E972 = Quick Man (Default: 02)
  • 0x02E973 = Flash Man (Default: 00)
  • 0x02E974 = Metal Man (Default: 00)
  • 0x02E975 = Crash Man (Default: 0A)
  • 0x02E976 = Mecha Dragon (Default: 00)
  • 0x02E977 = Picopico-kun (Default: 00)
  • 0x02E978 = Guts Tank (Default: 00)
  • 0x02E979 = Boobeam Trap (Default: 00)
  • 0x02E97A = Wily Machine 2 (Default: 01)
  • 0x02E97B = Alien (Default: FF)

Leaf Shield

  • 0x02E97C = Heat Man (Default: 00)
  • 0x02E97D = Air Man (Default: 08)
  • 0x02E97E = Wood Man (Default: FF)
  • 0x02E97F = Bubble Man (Default: 00)
  • 0x02E980 = Quick Man (Default: 00)
  • 0x02E981 = Flash Man (Default: 00)
  • 0x02E982 = Metal Man (Default: 00)
  • 0x02E983 = Crash Man (Default: 00)
  • 0x02E984 = Mecha Dragon (Default: 00)
  • 0x02E985 = Picopico-kun (Default: 00)
  • 0x02E986 = Guts Tank (Default: 00)
  • 0x02E987 = Boobeam Trap (Default: 00)
  • 0x02E988 = Wily Machine 2 (Default: 00)
  • 0x02E989 = Alien (Default: FF)

Bubble Lead

  • 0x02E98A = Heat Man (Default: 06)
  • 0x02E98B = Air Man (Default: 00)
  • 0x02E98C = Wood Man (Default: 00)
  • 0x02E98D = Bubble Man (Default: FF)
  • 0x02E98E = Quick Man (Default: 00)
  • 0x02E98F = Flash Man (Default: 02)
  • 0x02E990 = Metal Man (Default: 00)
  • 0x02E991 = Crash Man (Default: 01)
  • 0x02E992 = Mecha Dragon (Default: 00)
  • 0x02E993 = Picopico-kun (Default: 00)
  • 0x02E994 = Guts Tank (Default: 01)
  • 0x02E995 = Boobeam Trap (Default: 00)
  • 0x02E996 = Wily Machine 2 (Default: 00)
  • 0x02E997 = Alien (Default: 01)

Quick Boomerang

  • 0x02E998 = Heat Man (Default: 02)
  • 0x02E999 = Air Man (Default: 02)
  • 0x02E99A = Wood Man (Default: 00)
  • 0x02E99B = Bubble Man (Default: 02)
  • 0x02E99C = Quick Man (Default: 00)
  • 0x02E99D = Flash Man (Default: 00)
  • 0x02E99E = Metal Man (Default: 04)
  • 0x02E99F = Crash Man (Default: 01)
  • 0x02E9A0 = Mecha Dragon (Default: 01)
  • 0x02E9A1 = Picopico-kun (Default: 00)
  • 0x02E9A2 = Guts Tank (Default: 02)
  • 0x02E9A3 = Boobeam Trap (Default: 00)
  • 0x02E9A4 = Wily Machine 2 (Default: 01)
  • 0x02E9A5 = Alien (Default: FF)

Crash Bombs

  • 0x02E9A6 = Heat Man (Default: FF)
  • 0x02E9A7 = Air Man (Default: 00)
  • 0x02E9A8 = Wood Man (Default: 02)
  • 0x02E9A9 = Bubble Man (Default: 02)
  • 0x02E9AA = Quick Man (Default: 04)
  • 0x02E9AB = Flash Man (Default: 03)
  • 0x02E9AC = Metal Man (Default: 00)
  • 0x02E9AD = Crash Man (Default: 00)
  • 0x02E9AE = Mecha Dragon (Default: 01)
  • 0x02E9AF = Picopico-kun (Default: 00)
  • 0x02E9B0 = Guts Tank (Default: 01)
  • 0x02E9B1 = Boobeam Trap (Default: 00) [NOTE: This value is unused as Boobeam Traps take 4 damage from being hit by "a weapon that does not have a 'no hit' flag." The location of this flag is unknown.]
  • 0x02E9B2 = Wily Machine 2 (Default: 04)
  • 0x02E9B3 = Alien (Default: FF)

Metal Blade

  • 0x02E9B4 = Heat Man (Default: 01)
  • 0x02E9B5 = Air Man (Default: 00)
  • 0x02E9B6 = Wood Man (Default: 02)
  • 0x02E9B7 = Bubble Man (Default: 04)
  • 0x02E9B8 = Quick Man (Default: 00)
  • 0x02E9B9 = Flash Man (Default: 04)
  • 0x02E9BA = Metal Man (Default: 0E)
  • 0x02E9BB = Crash Man (Default: 00)
  • 0x02E9BC = Mecha Dragon (Default: 00)
  • 0x02E9BD = Picopico-kun (Default: 00)
  • 0x02E9BE = Guts Tank (Default: 00)
  • 0x02E9BF = Boobeam Trap (Default: 00)
  • 0x02E9C0 = Wily Machine 2 (Default: 01)
  • 0x02E9C1 = Alien (Default: FF)