"THE ULTIMATE SMB3 LEVEL AND POINTER DATA DOCUMENT" Version 1.0 Data collected and document written by: Quick Curly 8/25/2008 - 8/27/2008 INTRODUCTION *************************************************************** The following document is for Super Mario Bros. 3 for the NES. First off, I am assuming you have a fair bit of mathematical knowledge - specifically of Decimal (Base 10) and Hex (Base 16) and how you can convert from one to the other. If you do not, you will have to read my explanation on it first before you get into the pointer explanation. This document is split into four parts. First, I've displayed the Hex values (Base 16) corresponding to the Base 10 numbers from 0 to 255 for your convenience. Secondly, I've collected all of the data for each level in the game so you do not have to write it all out yourself. NOTE: The data can be found in SMB3 Workshop, but in this document you will see it all in an organized format to make it visually easier to study. Thirdly, I provide you with a good enough explanation about how the pointers in SMB3 work if you are not yet aware. This will ultimately allow you to change the locations Mario is sent to when he enters a pipe or door, which greatly increases your capabilities when making your levels. I also explain how the mathematics work for those who do not know. The last "half" sections are the obligatory "Thank You" and "Contact" sections. Enjoy! :) HEX VALUES (Format: Base 16 = Base 10) *************************************************************** 00 = 0 01 = 1 02 = 2 03 = 3 04 = 4 05 = 5 06 = 6 07 = 7 08 = 8 09 = 9 0A = 10 0B = 11 0C = 12 0D = 13 0E = 14 0F = 15 10 = 16 11 = 17 12 = 18 13 = 19 14 = 20 15 = 21 16 = 22 17 = 23 18 = 24 19 = 25 1A = 26 1B = 27 1C = 28 1D = 29 1E = 30 1F = 31 20 = 32 21 = 33 22 = 34 23 = 35 24 = 36 25 = 37 26 = 38 27 = 39 28 = 40 29 = 41 2A = 42 2B = 43 2C = 44 2D = 45 2E = 46 2F = 47 30 = 48 31 = 49 32 = 50 33 = 51 34 = 52 35 = 53 36 = 54 37 = 55 38 = 56 39 = 57 3A = 58 3B = 59 3C = 60 3D = 61 3E = 62 3F = 63 40 = 64 41 = 65 42 = 66 43 = 67 44 = 68 45 = 69 46 = 70 47 = 71 48 = 72 49 = 73 4A = 74 4B = 75 4C = 76 4D = 77 4E = 78 4F = 79 50 = 80 51 = 81 52 = 82 53 = 83 54 = 84 55 = 85 56 = 86 57 = 87 58 = 88 59 = 89 5A = 90 5B = 91 5C = 92 5D = 93 5E = 94 5F = 95 60 = 96 61 = 97 62 = 98 63 = 99 64 = 100 65 = 101 66 = 102 67 = 103 68 = 104 69 = 105 6A = 106 6B = 107 6C = 108 6D = 109 6E = 110 6F = 111 70 = 112 71 = 113 72 = 114 73 = 115 74 = 116 75 = 117 76 = 118 77 = 119 78 = 120 79 = 121 7A = 122 7B = 123 7C = 124 7D = 125 7E = 126 7F = 127 80 = 128 81 = 129 82 = 130 83 = 131 84 = 132 85 = 133 86 = 134 87 = 135 88 = 136 89 = 137 8A = 138 8B = 139 8C = 140 8D = 141 8E = 142 8F = 143 90 = 144 91 = 145 92 = 146 93 = 147 94 = 148 95 = 149 96 = 150 97 = 151 98 = 152 99 = 153 9A = 154 9B = 155 9C = 156 9D = 157 9E = 158 9F = 159 A0 = 160 A1 = 161 A2 = 162 A3 = 163 A4 = 164 A5 = 165 A6 = 166 A7 = 167 A8 = 168 A9 = 169 AA = 170 AB = 171 AC = 172 AD = 173 AE = 174 AF = 175 B0 = 176 B1 = 177 B2 = 178 B3 = 179 B4 = 180 B5 = 181 B6 = 182 B7 = 183 B8 = 184 B9 = 185 BA = 186 BB = 187 BC = 188 BD = 189 BE = 190 BF = 191 C0 = 192 C1 = 193 C2 = 194 C3 = 195 C4 = 196 C5 = 197 C6 = 198 C7 = 199 C8 = 200 C9 = 201 CA = 202 CB = 203 CC = 204 CD = 205 CE = 206 CF = 207 D0 = 208 D1 = 209 D2 = 210 D3 = 211 D4 = 212 D5 = 213 D6 = 214 D7 = 215 D8 = 216 D9 = 217 DA = 218 DB = 219 DC = 220 DD = 221 DE = 222 DF = 223 E0 = 224 E1 = 225 E2 = 226 E3 = 227 E4 = 228 E5 = 229 E6 = 230 E7 = 231 E8 = 232 E9 = 233 EA = 234 EB = 235 EC = 236 ED = 237 EE = 238 EF = 239 F0 = 240 F1 = 241 F2 = 242 F3 = 243 F4 = 244 F5 = 245 F6 = 246 F7 = 247 F8 = 248 F9 = 249 FA = 250 FB = 251 FC = 252 FD = 253 FE = 254 FF = 255 LEVEL DATA *************************************************************** This is a collection of the data for all the levels. This includes the original number of 3-byte objects, 4-byte objects, and enemies in the level. You cannot have more objects than the original number. Having smaller numbers does not hurt though. I've seen cases where the numbers ARE higher, but that is only because the numbers were reduced elsewhere. WORLD MAPS World Map Ene. data Obj. data Obj. set --------------------------------------------------------------- World 1 Map 0 185BA 2 Dungeon World 2 Map 0 1864B 2 Dungeon World 3 Map 0 1876C 2 Dungeon World 4 Map 0 1891D 2 Dungeon World 5 Map 0 18A3E 2 Dungeon World 6 Map 0 18B5F 2 Dungeon World 7 Map 0 18D10 2 Dungeon World 8 Map 0 18E31 2 Dungeon Warp Zone 0 19072 2 Dungeon WORLD 1 Level 3-b 4-b Ene. Ene. data Obj. data Obj. set --------------------------------------------------------------- 1-1 81 5 15 C537 1FB92 1 Plains 1-2 99 32 16 C6BA 20F3A 3 Hilly 1-3 73 3 15 C2FE 1EE19 1 Plains 1-4 94 0 18 CC43 23511 4 Sky 1-5 102 55 13 C93B 1AA51 E Underground 1-6 97 11 12 CC1D 233B8 4 Sky Dungeon 13 39 12 D33B 2A96D 2 Dungeon Ship 62 12 16 D6FA 2EDC7 A Ship 1 Bonus 12 10 0 C016 1FCA3 1 Plains 2 Bonus 8 6 0 C016 1FA59 1 Plains 3 Bonus 8 0 1 CFE2 27A3A D Cloudy 4 End 5 2 2 C594 1FE58 1 Plains 5 Bonus 68 2 1 D03C 27884 D Cloudy 5 End 6 1 1 C570 1FD78 1 Plains D. Spike 7 12 5 D361 2AA3A 2 Dungeon Ship Boss 21 0 1 D9F6 2FA12 A Ship Hammer 1 4 1 2 C73B 213FB 3 Hilly Hammer 2 5 1 2 C73B 21415 3 Hilly End Castle 2 0 1 D2BF 2A847 2 Dungeon Anchors Awy 5 0 1 D6AC 2EC39 A Ship Cn Shp 47 3 3 DA14 2FC25 A Ship Cn Shp Bos 25 0 3 DA1F 2FCC8 A Ship WORLD 2 Level 3-b 4-b Ene. Ene. data Obj. data Obj. set --------------------------------------------------------------- 2-1 150 0 18 D199 2946F 9 Desert 2-2 77 25 13 C8A5 218A8 3 Hilly 2-3 137 0 16 D200 29925 9 Desert 2-4 216 1 15 D26F 29C88 9 Desert 2-5 117 1 15 D1D1 2974A 9 Desert Dungeon 104 0 16 D232 29ACA 9 Desert Quicksand 38 19 10 C853 2161D 3 Hilly Pyramid 80 34 15 C5CC 20587 3 Hilly Ship 100 10 19 D72C 2EEBB A Ship 1 Bonus 87 0 0 C016 2963B 9 Desert 2 End 2 0 1 D2B5 29F28 9 Desert 3 End 6 0 1 D2BA 29F38 9 Desert 5 Bonus 28 4 0 C016 298B7 9 Desert D. Spike 38 0 3 D264 29C0C 9 Desert Pyd Out 58 0 2 D107 28F36 9 Desert Ship Boss 25 0 1 D9FB 2FA5B A Ship Hdn Hammer 5 1 0 C012 20CC5 3 Hilly Hammer 1 11 0 2 D15D 29206 9 Desert Hammer 2 11 0 3 D152 29206 9 Desert P 1 End 1 15 6 1 C153 1ADA9 E Underground P 2 End 2 15 6 1 C153 1ADF8 E Underground End Castle 2 0 1 D2BF 2A7F7 2 Dungeon Anchors Awy 5 0 1 D6AC 2EC07 A Ship WORLD 3 Level 3-b 4-b Ene. Ene. data Obj. data Obj. set --------------------------------------------------------------- 3-1 111 8 12 CE35 2531A 6 Water 3-2 76 3 17 CA33 227E0 4 Sky 3-3 61 28 13 C59E 1FE79 1 Plains 3-4 107 20 16 C9C3 1B729 E Underground 3-5 129 13 14 CDFB 2506A 6 Water 3-6 62 16 11 CA73 22949 4 Sky 3-7 116 4 21 C47E 1F8CC 1 Plains 3-8 50 32 6 C964 1AC69 E Underground 3-9 160 8 22 C39F 1F118 1 Plains Dungeon 1 39 18 16 D3A3 2AB91 2 Dungeon Dungeon 2 12 25 9 D372 2AA89 2 Dungeon Ship 89 7 21 D767 2F019 A Ship 1 End 3 1 1 C4BF 1FA42 1 Plains 2 End 27 5 3 CA68 228DA 4 Sky 3 End 6 3 1 C5C7 1FFAA 1 Plains 5 Bonus 39 26 2 C990 1B29B E Underground 5 End 8 5 2 C32D 1EF0A 1 Plains 6 End 8 3 2 CA96 22A4D 4 Sky 7 Bonus 13 2 4 CE99 26B5F D Cloudy 8 End 9 4 1 C56B 1FD43 1 Plains 9 Bonus 39 26 1 C993 1B29B E Underground 9 End 6 1 1 C3E3 1F322 1 Plains D1 Wtr Rm 40 23 3 D3D5 2AC58 2 Dungeon D2 Wtr Rm 8 21 6 D38F 2AB1B 2 Dungeon Ship Boss 25 0 1 DA00 2FAB0 A Ship Hammer 1 6 1 3 C650 1F3F7 1 Plains Hammer 2 5 2 3 C650 1F417 1 Plains Hammer 3 6 2 3 C650 1FE0B 1 Plains Hammer 4 7 1 3 C650 1FDE8 1 Plains Hdn Hammer 4 2 3 C650 213F7 3 Hilly P 1 End 1 16 9 1 C158 1AF91 E Underground P 1 End 2 16 9 1 C158 1AFEF E Underground P 2 End 1 17 8 1 C15D 1AE47 E Underground P 2 End 2 17 8 1 C15D 1AEA4 E Underground P 3 End 1 14 5 1 C162 1AF01 E Underground P 3 End 2 14 5 1 C162 1AF49 E Underground End Castle 2 0 1 D2BF 2A807 2 Dungeon Anchors Awy 5 0 1 D6AC 2EC20 A Ship WORLD 4 Level 3-b 4-b Ene. Ene. data Obj. data Obj. set --------------------------------------------------------------- 4-1 85 6 12 CEA7 26B98 B Giant 4-2 68 1 14 CF24 27077 B Giant 4-3 99 36 16 C873 216E5 3 Hilly 4-4 81 2 6 CFC9 272BD B Giant 4-5 86 0 19 CFFC 2773C B Giant 4-6 95 4 23 C267 1EAEF 1 Plains Dungeon 1 16 29 13 D538 2B6B6 2 Dungeon Dungeon 2 30 33 10 D518 2B5CE 2 Dungeon Ship 109 10 25 D7A8 2F14A A Ship 1 Bonus 9 5 2 D041 27962 B Giant 1 End 6 1 1 C570 1FDC8 1 Plains 2 End 6 1 1 C570 1FDC8 1 Plains 3 Begin 26 0 2 CF1C 2701F B Giant 3 End 6 1 1 C570 1FDC8 1 Plains 4 Bonus 75 5 0 C016 1FA93 1 Plains 4 End 6 1 1 C570 1FDC8 1 Plains 5 Bonus 11 5 2 C335 1EF40 1 Plains 5 End 6 1 1 C570 1FDC8 1 Plains 6 Small 95 4 23 C1EA 1E885 1 Plains D1 Ugrd Rm 24 9 4 C978 1B149 E Underground D2 Ugrd Rm 45 0 4 CE27 25289 8 Pipe D2 Bonus 15 11 2 C998 1B385 E Underground Ship Boss 25 0 1 D6B1 2EC52 A Ship Hammer 1 5 0 2 D0FA 27F6E B Giant P 1 End 1 15 6 1 C167 1ADA9 E Underground P 1 End 2 15 6 1 C167 1ADF8 E Underground P 2 End 1 16 9 1 C16C 1AF91 E Underground P 2 End 2 16 9 1 C16C 1AFEF E Underground End Castle 2 0 1 D2BF 2A817 2 Dungeon Anchors Awy 5 0 1 D6AC 2F435 A Ship WORLD 5 Level 3-b 4-b Ene. Ene. data Obj. data Obj. set --------------------------------------------------------------- 5-1 112 42 16 C3F2 1F45B 1 Plains 5-2 134 58 21 C8CE 1A587 E Underground 5-3 115 26 26 C2AE 1EC4E 1 Plains 5-4 54 10 15 D049 27A5C D Cloudy 5-5 100 1 14 CB1A 22F12 4 Sky 5-6 53 6 19 CF50 27151 D Cloudy 5-7 91 15 15 CEED 26EC8 D Cloudy 5-8 69 0 5 CE80 26A6F D Cloudy 5-9 39 11 20 CF8B 27212 D Cloudy Dungeon 1 17 80 14 D3E0 2AD36 2 Dungeon Tower (1) 21 24 6 D4FC 2B485 2 Dungeon Tower (2) 22 21 2 D510 2B52E 2 Dungeon Dungeon 2 32 5 26 D2C9 2A8C2 2 Dungeon Ship 74 14 22 D6B6 2ECA7 A Ship 1 Bonus 9 18 3 C424 1F65D 1 Plains 2 Pipe 123 1 3 CE5B 25491 8 Pipe 2 Bonus 34 10 2 C9A0 1B3E8 E Underground 2 End 6 1 1 C570 1FD78 1 Plains 3 Begin 6 3 0 C016 1EC26 1 Plains 3 End 6 1 1 C570 1FD78 1 Plains 4 End 3 1 2 CE91 26B48 D Cloudy 5 Bonus 34 10 1 C9A3 1B3E8 E Underground 6 End 3 1 2 CE91 26B48 D Cloudy 7 Bonus 62 4 3 C176 1E509 1 Plains 8 End 3 1 2 CE91 26B48 D Cloudy 9 End 3 1 2 CE91 26B48 D Cloudy D1 Bonus 15 7 1 D40C 2AEB3 2 Dungeon T Out (1) 69 7 2 CFF4 27647 D Cloudy T Out (2) 37 4 2 CFEC 275BE D Cloudy T (Down) 20 0 1 CFE7 27578 D Cloudy D2 B/End 7 15 1 D2C4 2A867 2 Dungeon Ship Boss 25 0 1 DA05 2FB05 A Ship Hammer 1 5 1 3 C650 20CC5 3 Hilly Hammer 2 6 1 3 C650 21432 3 Hilly Hammer 3 9 1 3 C650 27FC3 D Cloudy Hammer 4 6 1 3 C650 2799B D Cloudy End Castle 2 0 1 D2BF 2A827 2 Dungeon Anchors Awy 5 0 1 D6AC 2F44E A Ship WORLD 6 Level 3-b 4-b Ene. Ene. data Obj. data Obj. set --------------------------------------------------------------- 6-1 39 5 11 CBD2 2323C C Ice 6-2 68 0 19 CB62 2315C C Ice 6-3 93 0 9 CA9E 22A7B C Ice 6-4 129 2 17 CC7B 23635 C Ice 6-5 99 33 11 C5FB 207E7 3 Hilly 6-6 120 55 31 C65B 20CEC 3 Hilly 6-7 148 0 4 CD27 23AFA C Ice 6-8 132 24 20 C9F5 1B8C4 E Underground 6-9 156 64 16 C61E 209E7 3 Hilly 6-10 111 0 15 CCF8 239A3 C Ice Dungeon 1 24 23 11 D4C0 2B161 2 Dungeon Dungeon 2 86 0 11 CABB 22B9C C Ice Dungeon 3 38 30 16 D480 2B042 2 Dungeon Ship 112 6 15 D7F5 2F2C3 A Ship 1 Bonus 25 0 0 C016 23F39 C Ice 2 End 7 2 1 CC18 23391 C Ice 3 Bonus 72 36 2 C9AB 1B480 E Underground 4 Bonus 14 2 1 D037 27848 D Cloudy 5 Out 71 1 1 CAE3 22CFA C Ice 6 Out 28 1 2 CCF0 23941 C Ice 7 End 16 1 2 CD35 23CC0 C Ice 9 Out 17 1 2 CD3D 23CFE C Ice 9 Bonus 72 36 3 C9A8 1B480 E Underground 10 Bonus 72 36 1 C9AE 1B480 E Underground D1 Spike 27 13 5 D4E3 2B20F 2 Dungeon D2 Boss 24 0 1 CADE 22CA8 C Ice D3 Fall 7 3 4 D4B2 2B136 2 Dungeon Ship Boss 34 0 1 DA0A 2FB5A A Ship Hammer 1 5 0 3 C650 23F20 C Ice Hammer 2 6 0 3 C650 23F8E C Ice P 1 End 1 15 6 1 C149 1ADA9 E Underground P 1 End 2 15 6 1 C149 1ADF8 E Underground P 2 End 1 10 5 1 C14E 1B04D E Underground P 2 End 2 10 5 1 C14E 1B089 E Underground End Castle 2 0 1 D2BF 2A837 2 Dungeon Anchors Awy 5 0 1 D6AC 2F467 A Ship WORLD 7 Level 3-b 4-b Ene. Ene. data Obj. data Obj. set --------------------------------------------------------------- 7-1 149 0 15 CDA3 24BA7 8 Pipe 7-2 157 2 20 D114 28FFE 9 Desert 7-3 87 22 18 C703 21294 3 Hilly 7-4 106 3 13 CDD2 24DD4 6 Water 7-5 62 38 17 C181 1E5DD 1 Plains 7-6 132 0 8 CE66 25610 8 Pipe 7-7 153 3 10 CD45 23D3F 4 Sky 7-8 129 3 32 C33D 1EF7F 1 Plains 7-9 178 0 15 D16A 2924F 9 Desert Plant 1 59 0 7 D08C 27C33 5 Piranha Plt. Dungeon 1 77 19 2 D4F4 2B29E 2 Dungeon Dungeon 2 30 29 21 D42B 2AF10 2 Dungeon Plant 2 83 0 6 D078 27B30 5 Piranha Plt. Ship 116 10 27 D824 2F499 A Ship 1 Out 15 4 1 C25D 1EA71 1 Plains 2 End 3 1 1 C4BF 1FA42 1 Plains 4 Out 17 10 1 C3ED 1F392 1 Plains 5 Out 16 4 1 C566 1FCF9 1 Plains 6 Out 18 4 1 C3E8 1F342 1 Plains 7 B/End 7 6 1 C262 1EAB8 1 Plains 8 Bonus 1 14 2 1 D102 27F87 D Cloudy 8 Bonus 2 16 15 2 C9B3 1B5F5 E Underground 9 End 2 0 1 D10F 28FEE 9 Desert Plt. 1 End 43 0 2 D0F2 27EE3 5 Piranha Plt. D1 Lonely 36 13 0 C016 2B3DB 2 Dungeon D1 Bonus 16 15 1 C9B6 1B5F5 E Underground D2 Boss 4 17 6 D46C 2AFE8 2 Dungeon Plt. 2 End 43 0 2 D0EA 27E58 5 Piranha Plt. Ship Boss 27 0 1 DA0F 2FBCA A Ship Hammer 1 7 1 3 C650 1F438 1 Plains P 1 End 1 15 6 1 C126 1ADA9 E Underground P 1 End 2 15 6 1 C126 1ADF8 E Underground P 2 End 1 10 5 1 C135 1B04D E Underground P 2 End 2 10 5 1 C135 1B089 E Underground P 3 End 1 14 5 1 C12B 1AF01 E Underground P 3 End 2 14 5 1 C12B 1AF49 E Underground P 4 End 1 17 8 1 C130 1AE47 E Underground P 4 End 2 17 8 1 C130 1AEA4 E Underground P 5 End 1 17 8 1 C121 1AE47 E Underground P 5 End 2 17 8 1 C121 1AEA4 E Underground P 6 End 1 17 8 0 C143 1AE47 E Underground P 6 End 2 17 8 0 C143 1AEA4 E Underground P 7 End 1 16 9 1 C13A 1AF91 E Underground P 7 End 2 16 9 1 C13A 1AFEF E Underground P 8 End 1 15 6 1 C13F 1ADA9 E Underground P 8 End 2 15 6 1 C13F 1ADF8 E Underground End Castle 2 0 1 D2BF 2A857 2 Dungeon Anchors Awy 5 0 1 D6AC 2F480 A Ship WORLD 8 Level 3-b 4-b Ene. Ene. data Obj. data Obj. set --------------------------------------------------------------- 8-1 89 8 24 C434 1F797 1 Plains 8-2 144 35 14 C90F 1A80B E Underground Tank 1 91 5 39 D97F 2F8E3 A Ship Battleship 73 18 26 D8DC 2F6C1 A Ship Hnd Trp 1 11 9 5 D0C0 27D50 B Giant Hnd Trp 2 20 7 9 D0A3 27CEE B Giant Hnd Trp 3 34 6 4 D0D1 27D9F B Giant Crap Ship 44 3 33 D877 2F627 A Ship Dungeon 79 79 18 D561 2B88A 2 Dungeon Tank 2 65 10 27 D92C 2F7EE A Ship Bwr Castle 52 93 20 D5DD 2BC3D 2 Dungeon 1 Bonus 36 18 1 C9BE 1B66B E Underground 2 Bonus 17 31 0 C015 1F6CA 1 Plains Tk 1 Boss 13 0 3 DA39 2FDB0 A Ship Btsp Boss 13 0 1 DA2F 2FD4E A Ship H Tp 1 End 1 9 3 D0DF 27E27 B Giant H Tp 2 End 1 9 3 D0DF 27E27 B Giant H Tp 3 End 1 9 3 D0DF 27E27 B Giant C Shp Boss 13 0 1 DA34 2FD7F A Ship Dungeon Wh 58 50 22 D599 2BABD 2 Dungeon Tk 2 Boss 13 0 1 DA2A 2FD1D A Ship Hidden Lvl 7 6 16 C04D 1EAB8 1 Plains P 1 End 1 8 8 1 C103 1B0C5 E Underground P 1 End 2 8 8 1 C103 1B107 E Underground P 2 End 1 8 8 1 C112 1B0C5 E Underground P 2 End 2 8 8 1 C112 1B107 E Underground P 3 End 1 8 8 1 C117 1B0C5 E Underground P 3 End 2 8 8 1 C117 1B107 E Underground P 4 End 1 8 8 1 C108 1B0C5 E Underground P 4 End 2 8 8 1 C108 1B107 E Underground P 5 End 1 15 6 0 C11B 1ADA9 E Underground P 5 End 2 15 6 0 C11B 1ADF8 E Underground P 6 End 1 8 8 1 C10D 1B0C5 E Underground P 6 End 2 8 8 1 C10D 1B107 E Underground Bwr Lair 31 78 14 D61B 2BE57 2 Dungeon LOST LEVELS Level 3-b 4-b Ene. Ene. data Obj. data Obj. set --------------------------------------------------------------- 1 Plains 93 2 15 C1BB 1E75C 1 Plains 2 Plains 49 6 14 C231 1E9BC 1 Plains 3 Hills 107 23 7 C6EC 210ED 3 Hilly 4 Uground 11 12 0 C016 21452 E Underground 5 Dungeon 52 32 8 D411 2B764 2 Dungeon 6 Ice 60 1 11 CBF5 232CF C Ice 7 Ice 107 3 17 CCB0 237CA C Ice 8 Pipe 64 30 0 C016 24F28 8 Pipe 9 Clouds 52 23 10 CECD 26CB9 D Cloudy 10 Clouds 49 1 10 CECD 279BB D Cloudy 11 Sky 93 5 16 CAE8 22DDD 4 Sky 12 Sky 38 3 4 CB46 2304C 4 Sky 13 Sky 38 3 4 CB54 230D4 4 Sky 14 Clouds 56 1 0 C016 26DBB D Cloudy 15 Clouds 11 11 2 C73B 26E71 D Cloudy POINTER DATA *************************************************************** A) Decimal (Base 10) and Hex (Base 16) --------------------------------------------------------------- Decimal is pretty simple. It is the common and general number system we all use. However, computers do not understand it, so that is where Binary (Base 2) and Hex (Base 16) come in. I will not be explaining Binary though since I do not use it with SMB3 pointer editing. The Hexadecimal - Hex for short - number system consists of 16 different symbols. The numbers 10 through 15 in the Decimal number system are single-digit Hex numbers. They are replaced with the symbols A, B, C, D, E, and F in Base 16. All of the Hex values for the Base 10 numbers from 0 to 255 can be found in the first section of this document. However, there may be a time when you need to know what 388 (Base 10) is in Base 16, or what 1FB92 (Base 16) is in Base 10. The following procedure will allow you to convert a number in Base 10 to Base 16. Say you want to find out what 388 (Base 10) is in Base 16 since I already mentioned that number specifically. This is how you'd do it. 388 (Base 10) = _________ (Base 16) Repeatedly divide 388 by 16, keeping track of the remainders. ____ 16)388 = 24 Remainder: 4 After the first division, you take the quotient and divide that by 16. Continue doing this until you cannot divide anymore. ___ 16)24 = 1 Remainder: 8 ___ 16)1 = 0 Remainder: 1 When you're done, you put the remainders together to form a new number, starting from the last remainder and going towards the first remainder. Following this procedure, we get 184 (Base 16). Therefore: 388 (Base 10) = 184 (Base 16) To check to make sure we're right, we will now convert the Base 16 number back to Base 10. To do that, we follow the procedure below. NOTE: A number following the notation ^ means it is an exponent. For example, 16^2 is 16 to the exponent 2, or 16 x 16 = 256. 184 (Base 16) = (1 x 16^2) + (8 x 16^1) + (4 x 16^0) = (1 x 256) + (8 x 16) + (4 x 1) = 256 + 128 + 4 = 388 Therefore, 184 (Base 16) = 388 (Base 10), and we were indeed correct to begin with. Basically, you multiply each number of the Base 16 number by an exponential number using Base 16. In simple terms, you start from the far-right number and multiply that by 16^0. The next number to the left is multiplied by 16^1. You keep increasing the exponent for each number going towards the left by 1. Say that there was a decimal for a Hex number like 184.37. You'd multiply the 7 in the hundredths column by 16^(-2), and the 3 in the tenths column by 16^(-1). You then add all the products together as it was shown above. For another example so things are perfectly clear - and for the fun of it - we will convert 1FB92 (Base 16) to Base 10. The kid gloves are off! :P 1FB92 (Base 16) = (1 x 16^4) + (F x 16^3) + (B x 16^2) + (9 x 16^1) + (2 x 16^0) = (1 x 65536) + (15 x 4096) + (11 x 256) + (9 x 16) + (2 x 1) = 65536 + 61440 + 2816 + 144 + 2 = 129938 Therefore, 1FB92 (Base 16) = 129938 (Base 10). YIKES! *_* I hope this helps clarify how Decimal and Hex work. Now let's see if we can figure out how those SMB3 pointers work! B) SMB3 Pointers --------------------------------------------------------------- I cannot really put an explanation into words when it comes to how the SMB3 pointers actually work. So instead, I will show you in steps. In my example, I will be changing the pointer in the World 1 Ship level so that once you go into the pipe, you will come out of a pipe (that I will have to make) on the World 2 Ship level. First, get all the data you need, as so: 1. What level is Mario COMING FROM? World 1 Ship: Enemy data: D6FA Object data: 2EDC7 Object set: A Ship 2. What level is Mario GOING TO? World 2 Ship: Enemy data: D72C Object data: 2EEBB Object set: A Ship Now you need to see the information the pointer requires. Using SMB3 Workshop, open up the pointer in the World 1 Ship level by selecting it and pressing the Enter/Return Key. A "Pointer Properties" window will come up. Locations: Entrance horizontal: 50-5F Exit horizontal: 6 Exit vertical: 00 Exit action: 2 - Downward Pipe 2 Now hopefully you get a better idea of what you need to know. It can be seen that the pipe you go down is at a location of X:088 and Y:012. Since 88 in Decimal is the same as 58 in Hex, the range of the horizontal entrance is 50-5F. Set this in accordance to the location of where you put the pipe Mario is entering. Next, you need to open up the Header for the World 1 Ship. This is the original header (you will see the changes later): 02 BA E6 D9 A5 60 8A EA 05 Click the "Next area/Start" tab. You will see a section for the "Pointer for next area of level" that will look like this: Objects: 2FA12 Enemies: D9F6 2EC07 - 3000F Object set: A - Ship Obviously, the enemy data, object data, and object set listed there matches the enemy data, object data, and object set for the World 1 Ship Boss Room, as seen in the table earlier on in the document. To change it so that the pointer directs Mario to the World 2 Ship level, you need to change this information so that all the data matches the data for the World 2 Ship level. After editing, the information should be this (the edited header included): Objects: 2EEBB Enemies: D72C Object set: A - Ship AB AE 1C D7 A5 60 8A EA 05 NOTE: Instead of using the arrows to scroll through the data, simply type in the data to save a lot of time and sanity. Next, save your changes so far and switch over to the World 2 Ship level. You now need to make a pipe for Mario to come out of. To do this, I'll delete the Wooden Ship Pillar at location X:021 and Y:013, and add a pipe object (Type: 161 (A1)) at X:006 and Y:011. Save your changes and go back to the World 1 Ship level and open up the pointer again. Edit the data as so: Locations: Entrance horizontal: 50-5F Exit horizontal: 6 Exit vertical: 0C Exit action: 1 - Upward Pipe You can edit the vertical exit to any of the following: 00, 05, 08, 0C, 10, 14, 17, 18, 00 (Vert), 05 (Vert), 08 (Vert), OC (Vert), 10 (Vert), 14 (Vert), 17 (Vert), or 18 (Vert). This should automatically move the pointer in the level itself. For logical reasons, since Mario is coming out of a downward pipe, he should be ENTERING an upward pipe - and currently, the pipe in the World 1 Ship level goes down. Simply change the 145 (91) pipe object to a 202 (CA) pipe object, and move it to the location X:088 and Y:000. Since the pipe remains in the range of 50-5F, it still works and you do not need to make any other changes. Now test out the level to make sure it works. I have a little trick I use that helps save time. You can do one of two things, both by using the SMB3 Map Editor: 1. Switch to the Pointer Mode and edit the 1-1 pointer to the level you want to test. This will save you a LOT of time when you are making your SMB3 hack. 2. I noticed that when I was testing the World 1 Ship level out that whenever I would edit the 1-1 pointer to the Ship, it would always automatically switch back to 1-1 by itself if I made a change and went to test it again, which would force me to always change the pointer back. I think I understand the reason for this, but in the case that it gets annoying for you, simply edit the tiles of your World 1 Map so you can get to the Castle, or move the Castle closer to the Start, and edit the pointer for the Castle to the Ship level for whichever World's Ship you want to test. UPDATE: With the second round of tests I performed, the 1-1 pointer did NOT automatically change itself like before. I think it's best if we ignore the occurrence as if it never even happened. LOL. *_* Follow the above procedure, while studying the different data so you understand how it works better for yourself, and you can potentially do anything you want to do. ^_^ CAUTION: I have not provided you with information on levels with more than one pointer, or how adding pointers to levels would work. This is because I have not dared to try it for myself yet. For example, if you had two pipes Mario can enter in the same range (ex. 50-5F), how would you know which pointer would work for which pipe? All I can really suggest at this point if you are interested enough to actually do that in your level is for you to take what you have learned in this document (if anything) and use that knowledge to perform "trial and error" experiments of your very own until you get the results you want. After all, no document has all the answers, or else there would be no need for questions - and that's where answers are born. I'll finish off by wishing everyone luck with their future SMB3 hacks. Know that I along with other SMB3 fans will be looking forward to them. ;) THANK YOU! *************************************************************** Quick Curly thanks the following people: Angie, Cassie, Chelsea, cuberootinbinary, Flash, JcDizon, Static S, and vicious poetry - For all your support. ^_^ Googie - For pretty much being like a mentor to me. I can never thank you enough. If it weren't for you, I likely would have never made Quick Bros., Apocalyptic Explosion, or this document because I would have lost motivation a long time ago. So as always - THANK YOU!!!! ^_^ Intruder X - Keep the music comin'. ^_^ All of those who have made programs and collected data that make the lives of ROM hackers everywhere a whole lot easier. This includes those who have collected the already-known data for SMB3. As well, all of the ROM hackers who have made a ROM hack. My hope is that this document will make the lives of those who make an SMB3 hack easier. :) A big special thank you goes out to hukka for SMB3 Workshop and to Beneficii for the SMB3 Map Editor, since I used both of those programs when editing the different pointers (and referenced them in this document). BBTE019, cuberootinbinary, and Flash - For providing me with the interest to figure out how the pointers work, which would ultimately lead to the creation of this document. And you - For downloading this document and perhaps taking your first step towards making a new SMB3 hack that I will likely end up playing. :P CONTACT *************************************************************** If you have any questions, comments, or you just want to reach me to talk or whatever, I would be glad to hear from you. You will likely reach me easier at one of the following locations: ACMLM & Romhacking.net: Quick Curly YouTube: Qu1ckCur1y -> The I and L are both 1s (number ones). *Hypnotic powers.* "You will subscribe and you will like it..." I hope this document has helped clear up some things with SMB3 for you. Of course, it is more than likely incomplete. For example, I am definitely interested in figuring out how SMB3 music editing works. If anyone has any suggestions on how this document could be made better and increase its "ultimacy" (not a real word), feel free to send me your suggestions! :) Also, if anyone locates any incorrect enemy data or object data for any of the levels, please let me know. Typing all the data in a row can sometimes make you tune in and out of it, so if there is something wrong, that is probably what happened to me. In such a case, please contact me so I can fix the incorrect data and I will give credit to you. :) Thank you! ^_^