Tile, Table, and Palette locations HUD/layer 3/FX1/Message Box Tiles: D3200 in GAMEBOY mode Message Box Tile Tables: bank 85 or 0x28000 Palette: Supposedly, all but 1 palette come from the first 2 (CRE/HUD) palettes. Palette 18 seems to be loaded during the message box appearance. Palette 08 - Pink Text, White Instruction Type ('select' etc. text) Palette 0C - Blue Text (Can be used for White Instruction Type) Palette 18 - Green Text, Red Arrow (Save dialog) Palette 1C - Orange Text Tile Table Byte Explanation Tile Tables consist of 2 bytes, like 4E 28. The first byte is the tile number used in the tileset that the table uses. Row 1 of the tile table goes from 00-0F, row 2 is from 10-1F, and row 3 is 20-2F, and so on. If you open an unheadered rom in a tile editor and scroll down to D3200 and change to view to gameboy mode, you can see how this is done a lot easier. In the example 4E 28, you see that tile 4E (to the right of the 'S' tile) is a blank tile. The second byte consists of 3 things all together as one: The Palette Number, the Tile Flip, and the Priority Bit. You get the value of this byte by adding the 3 parts together, like, for our example, 4E 28, you can only get the 28 by having a palette number of 08, a flip of 00, and a priority bit of 20: 08 + 00 + 20 = 28. It's actually a bit more complex than that, but this is the easy way, and the only way you really need to know. The Palette Number can only be: 00, 04, 08, 0C, 10, 14, 18, 1C The Tile Flip can only be: 00 - No flip 40 - Horizontal flip 80 - Vertical flip C0 - Horizontal and vertical flip The Priority Bit can only be: 00 or 20 00 - Places tiles behind layer 1, layer 2, and sprites. 20 - Places tiles in front of layer 1, layer 2, and sprites. Letter to HEX Conversion Table By request, I'm including conversion tables to make it easy to type the letters into a ROM with a hex editor by seeing what their hex values are. Included is the original table and one for my map patch. Also, there are two apostrophes, but they're different. Maybe one is a single qoute and the other is an apostrophe, or they could be left single qoute and right single quote and one is used as an apostrophe… it's up to you how you use it, as they aren't used in-game. The item description text is complex, and not listed here. Use a tile editor for that. Original ROM: Letter: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z . , ' ' ? ! Hex: E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF DC's Map Patch: Letter: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z . , ' ' ? ! Hex: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF Other useful info Each line of a message box extends the entire screen. (32 8×8 pixel tiles) The lines above and below each message box consists of a single table placed both at the top and bottom of each message box, and is 1 screen wide (32 tiles)x 1 tile tall. You can add/subtract black tiles to alter the width of the large and small message boxes, but you must also alter all the message boxes below that go with each size in order to make them appear correct. If you edit this blank space, keep in mind that you are changing it for BOTH the top and bottom of the message boxes. The message dialog boxes use the transparent tile at 0E for all the invisible space around the boxes, or the Clearing Tiles. The priority bit hides these tiles behind layers 1 and 2, as well as sprites, but can be seen if there is nothing on layer 2, or if part of layer 2 is transparent. By default, you won't actually see those tiles because they are already using a transparent color. The black part of the message boxes uses tile 4E by default, which is black in the right palettes. The rest of the tiles are the letters and words at the bottom of the layer 3 tileset, as well as the HUD selections. You can use any tile in the layer 3 tileset in your messages. Mini hint maps from item messages, anyone? Message box locations (in hex, clean headerless rom) 28000-2803F Blank lines above and below large (wide) message boxes (like missiles, power bombs, super missiles, items) 28040-2807F Blank lines above and below small (narrow) message boxes (like energy tank, reserve tank, beams, save) 28080-2877E ASM used to determine which message box top and bottom to load and which message to load. 28426-28435 in the ASM: Button Tiles. These are the letter tiles used by the game depending on what you chose for SHOT and DASH in the button config. See below. 2823F in the ASM: '0E 00'. This is the tile used as the clearing tiles above and below message boxes, and during transition. By default, this tile is the transparent tile in the layer 3 tileset and has a priority of 00. Button tiles: E0 28 - A E1 3C - B F7 2C - X F8 38 - Y D0 38 - SEL EB 38 - L F1 38 - R 4E 28 - (space, unused?) Message List Energy Tank 64 bytes, small 2877F-287BE Missile 256 bytes, large word “Missile” 287BF-287FE blank space line 287FF-2883E top of missile icon 2883F-2887E “select” etc. text 2887F-288BE Super Missile 256 bytes, large words “Super Missile” 288BF-288FE blank space line 288FF-2893E top of S.Missile icon 2893F-2897E “select” etc. text 2897F-289BE Power bomb 256 bytes, large words “Power Bomb” 289BF-289FE blank space line 289FF-28A3E top of P. Bomb icon 28A3F-28A7E “select” etc. text 28A7F-28ABE Grapple Beam 256 bytes, large words “Grapple Beam” 28ABF-28AFE blank space line 28AFF-28B3E top of G. Beam icon 28B3F-28B7E “select” etc. text 28B7F-28BBE X-Ray Scope 256 bytes, large words “X-Ray Scope” 28BBF-28BFE blank space line 28BFF-28C3E top of X-Ray icon 28C3F-28C7E “select” etc. text 28C7F-28CBE Varia Suit 64 bytes, small 28CBF-28CFE Spring Ball 64 bytes, small 28CFF-28D3E Morphing Ball 64 bytes, small 28D3F-28D7E Screw Attack 64 bytes, small 28D7F-28DBE Hi-Jump 64 bytes, small 28DBF-28DFE Space Jump 64 bytes, small 28DFF-28E3E Speed Booster 256 bytes, large words “Speed Booster” 28E3F-28E7E blank space line 28E7F-28EBE blank space line 28EBF-28EFE “press &” etc. text 28EFF-28F3E Charge Beam 64 bytes, small 28F3F-28F7E Ice Beam 64 bytes, small 28F7F-28FBE Wave Beam 64 bytes, small 28FBF-28FFE Spazer 64 bytes, small 28FFF-2903E Plasma Beam 64 bytes, small 2903F-2907E Bomb 256 bytes, large word “Bomb” 2907F-290BE top of Samus pic 290BF-290FE middle of Samus pic 290FF-2913E “(morph) &” etc. text 2913F-2917E Map Data Access Completed. 192 bytes, small “Map Data Access” 2917F-291BE blank space line 291BF-291FE “Completed.” 291FF-2923E Energy Recharge Completed. 192 bytes, small “Energy Recharge” 2923F-2927E blank space line 2927F-292BE “Completed.” 292BF-292FE Missile Reload Completed. 192 bytes, small “Missile Reload” 292FF-2933E blank space line 2933F-2937E “Completed.” 2937F-293BE Would you like to save? 256 bytes, small “Would You Like” 293BF-293FE “To Save?” 293FF-2943E blank space line 2943F-2947E “⇒YES NO ” (when dialog appears) 2947F-294BE Save Completed 64 bytes, small 294BF-294FE Reserve Tank 64 bytes, small 294FF-2953E Gravity Suit 64 bytes, small 2953F-2957E These next 3 tables go to the save dialog. Make sure to edit at least the 3 'YES/NO' tables that are used. The table above with the save dialog is the one that is first loaded when the message box appears. After that, the 2 labeled below are the ones used. “⇒YES NO” 64 bytes, small; unused 29581-295C0 “⇒YES NO” 64 bytes, small; selecting YES after NO 295C1-29600 “ YES ⇒NO” 64 bytes, small; selecting NO 29601-29640 Credits Wiki page based on DChronos' message box guide v3. Special thanks to Jathys for help on the color/flip/priority byte, as well as pointing me towards the location of the message box data. ^_^