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

From Data Crystal
Jump to navigation Jump to search
No edit summary
 
(20 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{rommap|game=Mega Man III}}
{{rommap|game=Mega Man 3}}
 
==Robot Master Selected Screen Text==
==Robot Master Selected Screen Text==
{{note|If you modified <tt>0x60F0</tt>, you need to modify <tt>0x612F</tt> so the text displays properly. If you added <tt>40</tt> to the value at <tt>0x60F0</tt>, add <tt>40</tt> to the value at <tt>0x612F</tt> as well.}}


<table class="msgbox" style="border-color: #DFDFDF; background: #AADEDE;"><td class="msgboximg" style="min-width:50px;">[[File:Chip_tiny.png|left|40px]]'''Note:'''<br> If you modified <tt>0x60F0</tt>, you need to modify <tt>0x612F</tt> so the text displays properly. If you added <tt>40</tt> to the value at <tt>0x60F0</tt>, add <tt>40</tt> to the value at <tt>0x612F</tt> as well.</table>
* <tt>0x60F0</tt> = Where the name will be displayed (default <tt>2B</tt>)
 
* <tt>0x612F</tt> = Ends the text drawing (default <tt>35</tt>)
* <tt>0x60F0</tt>= Where the name will be displayed (default <tt>2B</tt>)
* <tt>0x612F</tt>= Ends the text drawing (default <tt>35</tt>)


==Layers==
==Layers==
* <tt>0x006241 to 0x00630F</tt> = Sprite layer of boss select screen
* <tt>0x006241 to 0x00630F</tt> = Sprite layer of boss select screen
* <tt>0x026F10 to 0x026F4F</tt> = Layer of title screen
* <tt>0x026F10 to 0x026F4F</tt> = Layer of title screen
Line 18: Line 15:


===Makeup of Tiles===
===Makeup of Tiles===
* <tt>0x027B30 to 0x02800F</tt> = Tiles making up title and stage select screen (8x8)
* <tt>0x027B30 to 0x02800F</tt> = Tiles making up title and stage select screen (8x8)
* <tt>0x027710 to 0x------</tt> = 16x16 blocks that make up the 32x32 tiles for the title and stage select screen
* <tt>0x027710 to 0x------</tt> = 16x16 blocks that make up the 32x32 tiles for the title and stage select screen
Line 25: Line 21:


==Graphic Banks==
==Graphic Banks==
===Title Screen Banks===
===Title Screen Banks===
* <tt>0x031C07</tt> = ??? bank 1
* <tt>0x031C07</tt> = ??? bank 1
* <tt>0x031C08</tt> = ??? bank 2
* <tt>0x031C08</tt> = ??? bank 2
Line 36: Line 30:


==Palettes==
==Palettes==
* <tt>0x031C13 to 0x031C32</tt> = Palettes for title screen
* <tt>0x031C13 to 0x031C32</tt> = Palettes for title screen


==Megaman's color schemes==
==Megaman's color schemes==
* <tt>0x03C8A8 to 0x03C8AB</tt> = Default (e.g. after death) (<tt>0F 0F 2C 11</tt>)
* <tt>0x03C8A8 to 0x03C8AB</tt> = Default (e.g. after death) (<tt>0F 0F 2C 11</tt>)
* <tt>0x004650 to 0x004653</tt> = P.Buster (<tt>0F 0F 2C 11</tt>)
* <tt>0x004650 to 0x004653</tt> = P.Buster (<tt>0F 0F 2C 11</tt>)
Line 56: Line 48:


==Stage Selector==
==Stage Selector==
* <tt>0x031D03 to 0x031D0B</tt> = Vertical row to show box
* <tt>0x031D03 to 0x031D0B</tt> = Vertical row to show box
* <tt>0x031D0C to 0x031D14</tt> = Horizontal row to show box
* <tt>0x031D0C to 0x031D14</tt> = Horizontal row to show box
Line 92: Line 83:


===Number of Maximum Shots on the Screen===
===Number of Maximum Shots on the Screen===
<div style="border: 1px solid #dfdfdf; background-color: #AADEDE; padding: 0 5px 5px 5px; margin: 0 0 10px 0; -moz-border-radius:10px">[[File:Chip_tiny.png|left|40px]]'''Note:'''<br>More than <tt>03</tt> results in "blanks" being fired, except for Gemini laser and Hard Knuckle that are limited to <tt>01</tt>.</div>
{{note|More than <tt>03</tt> results in "blanks" being fired, except for Gemini laser and Hard Knuckle that are limited to <tt>01</tt>.}}


* <tt>0x03D34D</tt> = Mega Buster (default <tt>03</tt>)
* <tt>0x03D34D</tt> = Mega Buster (default <tt>03</tt>)
Line 108: Line 99:


===Music===
===Music===
 
* <tt>0x3CD1C to 0x3CD2D</tt> = Music pointers
* <tt>0x3CD1C - 0x3CD2D</tt> = Music pointers
 
:<tt>01</tt> = Needle Man
:<tt>01</tt> = Needle Man
:<tt>02</tt> = Magnet Man
:<tt>02</tt> = Magnet Man
:<tt>03</tt> = Gemini Man
:<tt>03</tt> = Gemini Man
:<tt>04</tt> = Hard Man
:<tt>04</tt> = Hard Man
:<tt>05</tt> = Top Man
:<tt>05</tt> = Top Man
:<tt>06</tt> = Snake Man
:<tt>06</tt> = Snake Man
:<tt>07</tt> = Spark Man
:<tt>07</tt> = Spark Man
:<tt>08</tt> = Shadow Man
:<tt>08</tt> = Shadow Man
:<tt>09</tt> = Dr. Wily Stage 1 & 2
:<tt>09</tt> = Dr. Wily Stage 1 & 2
:<tt>0A</tt> = Dr. Wily Stage 3 & 4
:<tt>0A</tt> = Dr. Wily Stage 3 & 4
:<tt>0B</tt> = Dr. Wily Stage 5 & 6
:<tt>0B</tt> = Dr. Wily Stage 5 & 6


* <tt>0x2CCAD to 0x2D0ED</tt> = Title screen
* <tt>0x2CCAD to 0x2D0ED</tt> = Title screen
* <tt>0x2E0EA to 0x2E422</tt> = Top Man
* <tt>0x2FEBF to 0x2FFDD</tt> = Stage Select
==Sprite Data==
{{note|The following information is helpful while using [[Mega_Man_III#Utilities|Capcom Sprite Assembler]].}}


* <tt>0x2E0EA to 0x2E422</tt> = Top Man
===Sprite Bank <tt>0x2A010</tt>===
{| border="1" align="center" cellpadding="4" cellspacing="0" style="margin: 0 0 1em 1em; background: #f7f8ff; border: 1px #8888cc solid; border-collapse: collapse; font-size: 95%"
|- style=background:#ccccff
!'''Sprite ID'''  || '''Description''' || '''Default Sprite Bank Used''' || '''Default Frame Data Location''' || '''Default Frame Data'''
|-
|<tt>1E</tt>      || Magnet Man draw  || <tt>0x49410</tt> || <tt>0x2A392 to 0x2A398</tt> || <tt>40 40 40 40 40 41 42</tt>
|-
|<tt>1F</tt>      || Magnet Man        || <tt>0x49410</tt> || <tt>0x2A39B to 0x2A39E</tt> || <tt>3F 40 43 3E</tt>
|-
|<tt>20</tt>      || Magnet Man jump  || <tt>0x49410</tt> || <tt>0x2A3A1</tt>            || <tt>44</tt>
|-
|<tt>21</tt>      || Magnet Man shoot  || <tt>0x49410</tt> || <tt>0x2A3A4 to 0x2A3A5</tt> || <tt>45 46</tt>
|-
|<tt>22</tt>      || Snake Man        || <tt>0x4A810</tt> || <tt>0x2A3A8 to 0x2A3AA</tt> || <tt>50 52 51</tt>
|-
|<tt>23</tt>      || Snake Man jump    || <tt>0x4A810</tt> || <tt>0x2A3AD to 0x2A3AF</tt> || <tt>53 54 52</tt>
|-
|<tt>24</tt>      || Snake Man shoot  || <tt>0x4A810</tt> || <tt>0x2A3B2 to 0x2A3B4</tt> || <tt>53 54 36</tt>
|-
|<tt>25</tt>      || Snake Man walk    || <tt>0x4A810</tt> || <tt>0x2A3B7 to 0x2A3BA</tt> || <tt>37 7B 7C 7B</tt>
|-
|<tt>26</tt>      || Needle Man        || <tt>0x4A010</tt> || <tt>0x2A3BD to 0x2A3C1</tt> || <tt>5B 5C 5B 38 39</tt>
|-
|<tt>2B</tt>      || Hard Man          || <tt>0x49810</tt> || <tt>0x2A3D9 to 0x2A3DF</tt> || <tt>47 4C 4B 4C 4C 4B 47</tt>
|-
|<tt>32</tt>      || Gemini Man        || <tt>0x4C010</tt> || <tt>0x2A409 to 0x2A40E</tt> || <tt>70 75 71 72 73 71</tt>
|-
|<tt>33</tt>      || Gemini Man jump  || <tt>0x4C010</tt> || <tt>0x2A411 to 0x2A412</tt> || <tt>71 74</tt>
|-
|<tt>34</tt>      || Gemini Man shoot  || <tt>0x4C010</tt> || <tt>0x2A415 to 0x2A417</tt> || <tt>75 76 77</tt>
|-
|<tt>35</tt>      || Gemini Man walk  || <tt>0x4C010</tt> || <tt>0x2A41A to 0x2A41D</tt> || <tt>78 79 7A 79</tt>
|-
|<tt>36</tt>      || Spark Man        || <tt>0x4B410</tt> || <tt>0x2A420 to 0x2A428</tt> || <tt>65 60 62 67 63 64 63 64 60</tt>
|-
|<tt>37</tt>      || Spark Man jump    || <tt>0x4B410</tt> || <tt>0x2A42B to 0x2A42C</tt> || <tt>61 62</tt>
|-
|<tt>38</tt>      || Spark Man charge  || <tt>0x4B410</tt> || <tt>0x2A42F to 0x2A434</tt> || <tt>62 63 64 65 65 65</tt>
|-
|<tt>39</tt>      || Spark Man shoot  || <tt>0x4B410</tt> || <tt>0x2A437 to 0x2A444</tt> || <tt>63 64 63 64 62 66 67 68 69 69 69 69 69</tt>
|-
|<tt>3F</tt>      || Shadow Man        || <tt>0x4B010</tt> || <tt>0x2A459 to 0x2A45C</tt> || <tt>8D 8F 90 91</tt>
|-
|<tt>40</tt>      || Shadow Man Jump  || <tt>0x4B010</tt> || <tt>0x2A45F to 0x2A460</tt> || <tt>92 8F</tt>
|-
|<tt>41</tt>      || Shadow Man throw  || <tt>0x4B010</tt> || <tt>0x2A463 to 0x2A469</tt> || <tt>93 94 95 95 95 95 95</tt>
|-
|<tt>42</tt>      || Shuriken          || <tt>0x4B010</tt> || <tt>0x2A46C to 0x2A472</tt> || <tt>96 97 98 9A 9A 9A</tt>
|-
|<tt>43</tt>      || Shuriken twirling || <tt>0x4B010</tt> || <tt>0x2A475 to 0x2A476</tt> || <tt>9A 9B</tt>
|-
|<tt>44</tt>      || Top Man          || <tt>0x4B810</tt>*|| <tt>0x2A479</tt> || <tt>9C</tt>
|-
|<tt>45</tt>      || Top Man          || <tt>0x4B810</tt>*|| <tt>0x2A47C to 0x2A47E</tt> || <tt>9C A9 A0</tt>
|-
|<tt>46</tt>      || Top              || <tt>0x4B810</tt> || <tt>0x2A481 to 0x2A484</tt> || <tt>9D 9E 9F 9E</tt>
|-
|<tt>47</tt>      || Top Man throw    || <tt>0x4B810</tt>*|| <tt>0x2A487 to 0x2A48A</tt> || <tt>A0 A0 A0 A9</tt>
|-
|<tt>48</tt>      || Top Man spin      || <tt>0x4B810</tt>*|| <tt>0x2A48D to 0x2A492</tt> || <tt>A1 A2 A3 AE AD A4</tt>
|-
|<tt>49</tt>      || Top Man           || <tt>0x4B810</tt>*|| <tt>0x2A495 to 0x2A49A</tt> || <tt>A5 A6 A7 A8 A9 A9</tt>
|-
|}


* <tt>0x2FEBF to 0x2FFDD</tt> = Stage Select
::&#42; This sprite has tiles from another sprite bank.
{{Internal Data|game=Mega Man 3}}

Latest revision as of 19:59, 25 January 2024

Chip tiny.png The following article is a ROM map for Mega Man 3 (NES).

Robot Master Selected Screen Text

Note for template.png
Note:
If you modified 0x60F0, you need to modify 0x612F so the text displays properly. If you added 40 to the value at 0x60F0, add 40 to the value at 0x612F as well.


  • 0x60F0 = Where the name will be displayed (default 2B)
  • 0x612F = Ends the text drawing (default 35)

Layers

  • 0x006241 to 0x00630F = Sprite layer of boss select screen
  • 0x026F10 to 0x026F4F = Layer of title screen
  • 0x026F50 to 0x026F8F = Layer of stage selection screen
  • 0x026F90 to 0x026FCF = Layer of password screen
  • 0x026FD0 to 0x02700F = Boss intro sliding layer after stage selection
  • 0x027010 to 0x02704F = Opening sliding layer of stage select screen (make same as layer of title screen for smooth transition)

Makeup of Tiles

  • 0x027B30 to 0x02800F = Tiles making up title and stage select screen (8x8)
  • 0x027710 to 0x------ = 16x16 blocks that make up the 32x32 tiles for the title and stage select screen
  • 0x027F10 to 0x28000F = Palettes for each stage select tile
  • 0x028010 to 0x------ = Palettes for each title screen tile

Graphic Banks

Title Screen Banks

  • 0x031C07 = ??? bank 1
  • 0x031C08 = ??? bank 2
  • 0x031C09 = Sprite bank 1
  • 0x031C0A = Sprite bank 2
  • 0x031C0B = Sprite bank 3
  • 0x031C0C = Sprite bank 4

Palettes

  • 0x031C13 to 0x031C32 = Palettes for title screen

Megaman's color schemes

  • 0x03C8A8 to 0x03C8AB = Default (e.g. after death) (0F 0F 2C 11)
  • 0x004650 to 0x004653 = P.Buster (0F 0F 2C 11)
  • 0x004654 to 0x004657 = Gemini Laser (0F 0F 30 21)
  • 0x004658 to 0x00465B = Needle Cannon (0F 0F 30 17)
  • 0x00465C to 0x00465F = Hard Knuckle (0F 0F 10 01)
  • 0x004660 to 0x004663 = Magnet Missile (0F 0F 10 16)
  • 0x004664 to 0x004667 = Top Spin (0F 0F 36 00)
  • 0x004668 to 0x00466B = Search Snake (0F 0F 30 19)
  • 0x00466C to 0x00466F = Rush Coil (0F 0F 30 15)
  • 0x004670 to 0x004673 = Spark Shock (0F 0F 30 26)
  • 0x004674 to 0x004677 = Rush Marine (0F 0F 30 15)
  • 0x004678 to 0x00467B = Shadow Blade (0F 0F 34 14)
  • 0x00467C to 0x00467F = Rush Jet (0F 0F 30 15)

Stage Selector

  • 0x031D03 to 0x031D0B = Vertical row to show box
  • 0x031D0C to 0x031D14 = Horizontal row to show box
  • 0x031D15 to 0x031D18 = Y axis location for selection box dots
  • 0x031D19 to 0x031D1D = X axis location for selection box dots

Weapon Usage

Bars Used

  • 0x03DF2C = Gemini Laser (2 bars)
  • 0x03DF2D = Needle Cannon (1 bar)
  • 0x03DF2E = Hard Knuckle (2 bars)
  • 0x03DF2F = Magnet Missile (2 bars)
  • 0x03DF30 = Top Spin (0 bars)
  • 0x03DF31 = Search Snake (1 bar)
  • 0x03DF32 = Rush Coil (3 bars)
  • 0x03DF33 = Spark Shot (1 bar)
  • 0x03DF34 = Spark Shock
  • 0x03DF35 = Shadow Blade
  • 0x03DF36 = Rush Jet (1 bar)

Shots required for bar to decrease

  • 0x03DF38 = Gemini Laser (1 shot)
  • 0x03DF39 = Needle Cannon (3 shots)
  • 0x03DF3A = Hard Knuckle (1 shot)
  • 0x03DF3B = Magnet Missile (1 shot)
  • 0x03DF3C = Top Spin (0 shots (inf until attack connects))
  • 0x03DF3D = Search Snake (2 shots)
  • 0x03DF3E = Rush Coil (1 shot)
  • 0x03DF3F = Spark Shot (1 shot)
  • 0x03DF40 = Rush Marine (how many frames/1 bar, default: 1E)
  • 0x03DF41 = Shadow Blade (2 shots)
  • 0x03DF42 = Rush Jet (how many frames/1 bar, default: 1E)

Number of Maximum Shots on the Screen

Note for template.png
Note:
More than 03 results in "blanks" being fired, except for Gemini laser and Hard Knuckle that are limited to 01.


  • 0x03D34D = Mega Buster (default 03)
  • 0x03D34E = Gemini Laser (default 01)
  • 0x03D34F = Needle Cannon (default 03)
  • 0x03D350 = Hard Knuckle (default 01)
  • 0x03D351 = Magnet Missile (default 02)
  • 0x03D352 = Top Spin (default 00)
  • 0x03D353 = Search Snake (default 03)
  • 0x03D354 = Rush Coil (default 03)
  • 0x03D355 = Spark Shock (default 02)
  • 0x03D356 = Rush Marine (default 03)
  • 0x03D357 = Shadow Blade (default 01)
  • 0x03D358 = Rush Jet (default 03)

Music

  • 0x3CD1C to 0x3CD2D = Music pointers
01 = Needle Man
02 = Magnet Man
03 = Gemini Man
04 = Hard Man
05 = Top Man
06 = Snake Man
07 = Spark Man
08 = Shadow Man
09 = Dr. Wily Stage 1 & 2
0A = Dr. Wily Stage 3 & 4
0B = Dr. Wily Stage 5 & 6
  • 0x2CCAD to 0x2D0ED = Title screen
  • 0x2E0EA to 0x2E422 = Top Man
  • 0x2FEBF to 0x2FFDD = Stage Select

Sprite Data

Note for template.png
Note:
The following information is helpful while using Capcom Sprite Assembler.


Sprite Bank 0x2A010

Sprite ID Description Default Sprite Bank Used Default Frame Data Location Default Frame Data
1E Magnet Man draw 0x49410 0x2A392 to 0x2A398 40 40 40 40 40 41 42
1F Magnet Man 0x49410 0x2A39B to 0x2A39E 3F 40 43 3E
20 Magnet Man jump 0x49410 0x2A3A1 44
21 Magnet Man shoot 0x49410 0x2A3A4 to 0x2A3A5 45 46
22 Snake Man 0x4A810 0x2A3A8 to 0x2A3AA 50 52 51
23 Snake Man jump 0x4A810 0x2A3AD to 0x2A3AF 53 54 52
24 Snake Man shoot 0x4A810 0x2A3B2 to 0x2A3B4 53 54 36
25 Snake Man walk 0x4A810 0x2A3B7 to 0x2A3BA 37 7B 7C 7B
26 Needle Man 0x4A010 0x2A3BD to 0x2A3C1 5B 5C 5B 38 39
2B Hard Man 0x49810 0x2A3D9 to 0x2A3DF 47 4C 4B 4C 4C 4B 47
32 Gemini Man 0x4C010 0x2A409 to 0x2A40E 70 75 71 72 73 71
33 Gemini Man jump 0x4C010 0x2A411 to 0x2A412 71 74
34 Gemini Man shoot 0x4C010 0x2A415 to 0x2A417 75 76 77
35 Gemini Man walk 0x4C010 0x2A41A to 0x2A41D 78 79 7A 79
36 Spark Man 0x4B410 0x2A420 to 0x2A428 65 60 62 67 63 64 63 64 60
37 Spark Man jump 0x4B410 0x2A42B to 0x2A42C 61 62
38 Spark Man charge 0x4B410 0x2A42F to 0x2A434 62 63 64 65 65 65
39 Spark Man shoot 0x4B410 0x2A437 to 0x2A444 63 64 63 64 62 66 67 68 69 69 69 69 69
3F Shadow Man 0x4B010 0x2A459 to 0x2A45C 8D 8F 90 91
40 Shadow Man Jump 0x4B010 0x2A45F to 0x2A460 92 8F
41 Shadow Man throw 0x4B010 0x2A463 to 0x2A469 93 94 95 95 95 95 95
42 Shuriken 0x4B010 0x2A46C to 0x2A472 96 97 98 9A 9A 9A
43 Shuriken twirling 0x4B010 0x2A475 to 0x2A476 9A 9B
44 Top Man 0x4B810* 0x2A479 9C
45 Top Man 0x4B810* 0x2A47C to 0x2A47E 9C A9 A0
46 Top 0x4B810 0x2A481 to 0x2A484 9D 9E 9F 9E
47 Top Man throw 0x4B810* 0x2A487 to 0x2A48A A0 A0 A0 A9
48 Top Man spin 0x4B810* 0x2A48D to 0x2A492 A1 A2 A3 AE AD A4
49 Top Man 0x4B810* 0x2A495 to 0x2A49A A5 A6 A7 A8 A9 A9
* This sprite has tiles from another sprite bank.