RAM Addresses
Address AscendingLengthDescription
$7E:000016 bytesScratch RAM, is and can be used for multiple purposes. (Temporarily preserving a value)
In SMW (and LM ASM hacks), it includes, but is not excluded to:
$7E0000 - Xpos Used For Sprite Creation, Low Byte
$7E0001 - Ypos Used For Sprite Creation, Low Byte
$7E0003 - Block # from LM Map16 Editor
$7E0004 - Sprite GFX table - Used for when uploading sprite GFX files to VRAM, also used as high byte for block number
$7E0008 - Xpos Used For Sprite Creation, High Byte
$7E0009 - Ypos Used For Sprite Creation, High Byte
$7E000E - Used by the game to store the level number briefly while deciding which Level and Sprite Pointers to use (during Overworld->Level transitions).
$7E:00101 byteIf value is != #$00, run the actual game (otherwise, loop forever). Is set to a non-zero value during NMI.
$7E:00111 byteUsed to distinguish IRQ #1 from IRQ #2's code. (Inside the Morton/Ludwig/Roy room, although it can be used in other areas that run IRQ as well.) #$00 = IRQ #1, #$01 = IRQ #2.
$7E:00121 byteImage loader. (Value must be divisible by 3)
$7E:00131 byteFrame Counter (Increases by 1 each frame)
$7E:00141 byte"Sprite" frame counter. Stops when sprites are frozen, etc. Basically, a frame counter that only runs when a sprite is running.
$7E:00151 byteController data 1
01=Right, 02=Left, 04=Down, 08=Up, 10=Start, 20=Select, 40=Y and X, 80=B and A
$7E:00161 byteController data 1 (one frame) - Same values as $15
$7E:00171 byteController data 2 - 10=R, 20=L, 40=X, 80=A
$7E:00181 byteController data 2 (one frame) - Same values as $17
$7E:00191 bytePowerup. #$00 = Small, #$01 = Big, #$02 = Cape, #$03 = Fire.
$7E:001A2 bytesLayer 1 X position. Mirror of $210D.
$7E:001C2 bytesLayer 1 Y position. Mirror of $210E.
$7E:001E2 bytesLayer 2 X position. Mirror of $210F.
$7E:00202 bytesLayer 2 Y position. Mirror of $2110.
$7E:00222 bytesLayer 3 X postion. Mirror of $2111.
$7E:00242 bytesLayer 3 Y position. Mirror of $2112.
$7E:00262 bytesDepending on Layer 3 tides being activated or not, it's either:

Not activated:
(Layer 2 Xpos) minus (Layer 1 Xpos)
Activated:
Layer 3 Xpos) minus (Layer 1 Xpos)
$7E:00282 bytesDepending on layer 3 tides being activated or not, it's either:
Not activated:
(Layer 2 Ypos) minus (Layer 1 Ypos)
Activated:
Layer 3 Ypos) minus (Layer 1 Ypos)
$7E:002A2 bytesMode 7 Center X Position. Mirror of $211F, + #$0080.
$7E:002C2 bytesMode 7 Center Y position. Mirror of $2120, + #$0080.
$7E:002E2 bytesMode 7 Parameter A (Scale X). Mirror of $211B.
$7E:00302 bytesMode 7 Parameter B (Shear X). Mirror of $211C.
$7E:00322 bytesMode 7 Parameter C (Shear Y). Mirror of $211D.
$7E:00342 bytesMode 7 Parameter D (Scale Y). Mirror of $211E.
$7E:00362 bytesMode 7 Rotation. It will rotate layer 1/BG1 clockwise as you increase it.
$7E:00382 bytesMode 7 scaling. Byte 1 scales it horizontally, while byte 2 scales it vertically.
$7E:003A2 bytesMode 7 Layer 1 X Position. Mirror of $210D.
$7E:003C2 bytesMode 7 Layer 1 Y Position. Mirror of $210E.
$7E:003E1 byteBG Mode select ($2105) applied with IRQ below status bar. Setting bit 3 (%00001000) gives Layer 3 priority.
$7E:003F1 byteOAM Address, low byte. Also known as the mirror of register $2102. High byte is at ROM $00:846B.
$7E:00401 byteCGADSUB setting: abcdefgh a = 0 for Addition, 1 for Subtraction, b = 1/2 Enable c = Back Enable, d = Object Enable, efgh = Enable BG 4, 3, 2, 1 (bit 3 only affect below the status bar). Mirror of $2131.
$7E:00411 byteBG 1 and 2 Window Mask Settings: aaaabbbb a = BG 2 Window Settings b = BG 1 Window Settings. Mirror of $2123.
$7E:00421 byteBG 3 and 4 Window Mask Settings: aaabbbb a = BG 4 Window Settings b = BG 3 Window Settings. Mirror of $2124.
$7E:00431 byteOBJ and Color Window Settings: aaaabbbb a = Color Window Settings b = OBJ Window Settings. Mirror of $2125.
$7E:00441 byteInitial Settings for Color Addition: aabb00cd a = Main Color Window On/Off, b = Sub Color Window On/Off, c = Fixed Color Add/Subtract Enable, d = Direct Select. Mirror of $2130.
$7E:00452 bytesColumn (or row) of map16 tiles to use for VRAM upload when L1 is scrolling left (or up)
$7E:00472 bytesIdentical to $7E0045, but used for right (or down) direction scrolling
$7E:00492 bytesIdentical to $7E0045-$7E0046, but for layer 2 levels where applicable.
$7E:004B2 bytesIdentical to $7E0047-$7E0048, but for layer 2 levels where applicable.
$7E:004D2 bytesLast X (or Y) L1 scroll value where VRAM upload of map16 tiles was performed when scrolling left (or up). The low 4 bits are forced to zero in order to get scroll values on a 16 pixel boundary. It is used to determine if a VRAM update is necessary during scrolling.
$7E:004F2 bytesIdentical to $7E004D-$7E004E, but for scroll in the right (or down) direction.
$7E:00512 bytesIdentical to $7E004D-$7E004E, but for L2 where applicable.
$7E:00532 bytesIdentical to $7E004F-$7E0050, but for L2 where applicable.
$7E:00551 byteDirection of scroll for L1.

00: left (or up)
02: right (or down)

Used to index the above 2 byte camera tables.
$7E:00561 byteIdentical to $7E0055, but for L2 where applicable.
$7E:00571 byteUsed in the level loading code. It's the position within the subscreen. Could be used as scratch RAM (except in ObjecTool and similar codes).
$7E:00581 byteCleared during reset, titlescreen load and OW load.
$7E:00591 byteUsed in the level loading routine. It's the size of the object, or extended object type depending on what object is being loaded. Could be used as scratch RAM (except in ObjecTool and similar codes).
$7E:005A1 byteUsed in the level loading routine. It's the object number. Could be used as scratch RAM (except in ObjecTool and similar codes).
$7E:005B1 byteScreen mode: Cc????Vv
C=Collision with layer 2
c=Collision with layer 1?
V=Vertical layer 2
v=Vertical layer 1
$7E:005C1 byteEmpty. Cleared during reset, titlescreen and overworld load.
$7E:005D1 byte# of screens in level
$7E:00604 bytesEmpty. Cleared during reset, titlescreen and overworld load.
$7E:00641 byteProperties (YXPPCCCT) byte for most sprites.
$7E:00653 bytes24bit pointer to Level Data.
$7E:00683 bytes24bit pointer to the layer 2 data.
$7E:006B3 bytesPointer to low byte of block data (used during level load).
$7E:006E3 bytesPointer to high byte of block data (used during level load).
$7E:00711 byteMario Action trigger

00=nothing
01=flashing as if Mario's hurt by an enemy
02=get mushroom animation
03=get cape animation (note: you must write to $1496 for it to work)
04=get flower animation (note: you must write to $149B for it to work)
05=enter a horizontal pipe
06=enter a vertical pipe
07=shoot from a diagonal pipe
08=shoot into the sky (like when yoshi get's wings from a ?-block)
09=end the level without activating events on the OW (used when Mario dies) (note: you will lose a life)
0A=used in castle entrance moves
0B=Mario stops until $00 is written
0C=used in castle entrance moves
0D=enter a door
$7E:00721 byteMario's image while in the air.
$7E:00731 byteMario is ducking flag.
$7E:00741 byteMario is climbing flag
$7E:00751 byte"Mario is in water" flag
$7E:00761 byteMario's direction.
00=Left; 01=Right
$7E:00771 bytePlayer blocked status - Used to check if player is blocked in a certain direction. Format: SxxMUDLR
The M bit means that Mario is in the middle of a block.
The S bit indicates that Mario is touching the side of the screens while horizontal screen scrolling is disabled.
$7E:00781 byteUsed to obscure (parts of) Mario.
$7E:00791 byteEmpty. Cleared during reset and titlescreen load.
$7E:007B1 byteMario Xspeed. #$7F is the fastest rightwards speed, while #$80 is the highest leftwards. +/-#$15 is fully walking, +/-#$30 is fully running. #$00-#$7F is right, #$80-#$FF is left.
$7E:007C1 byteEmpty. Cleared during reset, titlescreen, overworld and level load.
$7E:007D1 byteMario Yspeed. #$80 is the highest upwards speed, while #$7F is the highest downwards speed. #$15 is falling at mid-speed, #$30 is falling at max-speed, #$EB is jumping at mid-speed and #$D0 is jumping at full speed. #$00-#$7F = falling, #$80-#$FF = rising.
$7E:007E2 bytesMario's X position (screen)
$7E:00802 bytesMario's Y position (screen)
$7E:00851 byteWater Level flag
$7E:00861 byteSlippery Level flag. #$FF makes the player slip a LOT while #$01 makes the player slip barely. #$00 disables the slippery level flag.
$7E:00871 byteEmpty. Cleared during reset, titlescreen, overworld and level load.
$7E:00881 byteHow long Mario goes into a pipe until he warps to another level.
$7E:00891 byteActions to take when Mario enters/exits a pipe. (Writing to it will only have effect if 7E:0071 is equal to 06.)

00=Enter a right-facing horizontal pipe.
01=Enter a left-facing horizontal pipe.
02=Enter a down-facing vertical pipe.
03=Enter an up-facing vertical pipe.
04=Exit from a left-facing horizontal pipe.
05=Exit from a right-facing horizontal pipe.
06=Exit from an up-facing vertical pipe.
07=Exit from a down-facing vertical pipe.
$7E:008A3 bytesHolds the 3-byte pointer to the location of the decompressed GFX files inside the ROM. Solely $8A is used as number of options to select in a blinking cursor menu.
Solely $8A also controls the speed of revealing event tiles (Only 01 and 08 are valid though)
$7E:008D3 bytes24-bit pointer to part of the decompressed graphics; starts at $7EACFE/F and decrementing. RAM address has multiple purposes, however.
$7E:00942 bytesMario's X position (level, next frame)
$7E:00962 bytesMario's Y position (level, next frame)
$7E:00981 byteSprite creation: Y position (low)
Custom Block: Y position of contact(low)
$7E:00991 byteSprite creation: Y position (high)
Custom Block: Y position of contact(high)
$7E:009A1 byteSprite creation: X position (low)
Custom Block: X position of contact(low)
$7E:009B1 byteSprite creation: X position (high)
Custom Block: X position of contact(high)
$7E:009C1 byteGenerate Map16 tile
$7E:009D1 byteLock sprites timer
$7E:009E12 bytesSprite number
$7E:00AA12 bytesSprite Y Speed Table
$7E:00B612 bytesSprite X Speed Table
$7E:00C212 bytesSprite table that is not restricted to one predefined purpose. In SMW, it's most commonly used as a pointer to different parts of a sprite.
$7E:00CE3 bytes24bit pointer to level's sprite data.
$7E:00D12 bytesMario's X position (level, current frame)
$7E:00D32 bytesMario's Y position (level, current frame)
$7E:00D53 bytesPointer to X and Y positions of Wiggler segments.
$7E:00D812 bytesSprite Ypos Low Byte (table)
$7E:00E412 bytesSprite Xpos Low Byte (table)
$7E:00F016 bytesEmpty space. Note: Is used by Lunar Magic.
$7E:01001 byteGame Mode.
00 Load Nintendo Presents - 01 Nintendo Presents - 02 Fade to Title Screen
03 Load Title Screen - 04 Prepare Title Screen - 05 Title Screen: Fade in
06 Title Screen: Circle effect - 07 Title Screen - 08 Title Screen: File select
09 Title Screen: File delete - 0A Title Screen: Player select - 0B Fade to Overworld
0C Load Overworld - 0D Overworld: Fade in - 0E Overworld
0F Fade to Level - 10 Fade to Level (black) - 11 Load Level (Mario Start!)
12 Prepare Level - 13 Level: Fade in - 14 Level
15 Fade to Game Over - 16 Fade to Game Over? - 17 Game Over
18 Load Credits/Cutscene? - 19 Load Credits/Cutscene? - 1A Load Credits/Cutscene?
1B Ending: Credits / Cutscene - 1C Fade to Yoshi's House - 1D Fade to Yoshi's House (black)
1E Ending: Yoshi's House: Fade in - 1F Ending: Yoshi's House - 20 Fade to Enemies
21 Fade to Enemies (black)- 22 Fade to Enemies? - 23 Fade to Enemies (black)?
24 Ending: Enemies: Fade in - 25 Ending: Enemies - 26 Fade to The End / Go to 22
27 Fade to The End (black) - 28 Ending: The End: Fade in - 29 Ending: The End
$7E:01014 bytesCurrently loaded sprite GFX files (stored in reverse order)
$7E:01054 bytesCurrently loaded layer GFX files (stored in reverse order)
$7E:01091 byteWhen set to a non-zero value, the OW loading routine is overridden by loading level value stored here-$24. This means levels 0-FF can be used with the exception of level DC.
$7E:010A1 byteSave File #
$7E:010B245 bytesStack
$7E:0200544 bytesOAM. $0310-$0313 is for Mario's upper tile, $0314-$0317 for Mario's lower tile.
$7E:0420128 bytesTable that determines the size of a sprite's tile - 8x8 (#$00) or 16x16 (#$02). Each byte corresponds to 4 OAM bytes. Stores to $0400-$041F (where each 2 bits correspond to 4 OAM bytes.)
$7E:04A0448 bytesHDMA table for windowing effects (keyhole, level end, etc.)
$7E:066032 bytesEmpty. Cleared during reset and titlescreen load.
$7E:068021 bytesUsed for the lightning effect, Big Boo Boss fading, and Magikoopa's fading.
$7E:0695108 bytesEmpty. Cleared during reset and titlescreen load.
$7E:07012 bytesBG Colour. Used during gameplay in conjunction with $2132.
$7E:0703512 bytesThe whole palette. Seems to only be used in the level loading routine.
$7E:09032 bytesCopy of BG colour $0701/2.
$7E:0905496 bytesCopy of palettes 0-F from $0703-$08F2. Only the first half of palette F is included.
$7E:0AF51 byteCleared during reset and titlescreen load. Also cleared after a boss had been beaten.
$7E:0AF6256 bytesUsed for three different things:
1. Decompressed overworld graphics, animated tiles. For that it also cooperates with $0BF6-$0C55.
2. Iggy's platform interaction. (16x16.)
3. Various tables for the Yoshi eggs at the credits. That includes how much time to wait until a new egg breaks ($0B08), Y speed ($0B0C,x), etc.
$7E:0BF6384 bytesDecompressed GFX for tiles 4A-4F, 5A-5F of SP1.
$7E:0D762 bytesUsed during the Mario GFX DMA routine. It holds the first of three possible source addresses.
$7E:0D782 bytesUsed during the Mario GFX DMA routine. It holds the second of three possible source addresses.
$7E:0D7A2 bytesUsed during the Mario GFX DMA routine. It holds the third of three possible source addresses.
$7E:0D7C2 bytesUsed during the Mario GFX DMA routine. It holds the first of three possible VRAM addresses.
$7E:0D7E2 bytesUsed during the Mario GFX DMA routine. It holds the second of three possible VRAM addresses.
$7E:0D802 bytesUsed during the Mario GFX DMA routine. It holds the third of three possible VRAM addresses.
$7E:0D822 bytesPointer to Mario/Luigi pallete. B2C8=Mario B2DC=Luigi, B2F0=Fire Mario, B304=Fire Luigi
$7E:0D8520 bytes2 byte pointers in bank 7E for uploading Player's onscreen tiles. 2 sets of 10 bytes (top half, bottom half) for Mario's head, body, cape, Yoshi head / Fireball, Yoshi body / Fireball.
$7E:0D992 bytesHolds the lower two bytes of the RAM address where the player's graphics are stored; used during the player graphics DMA routine.
$7E:0D9B1 byteActivates different level modes, depending on the following values:
$00 = Regular level
$01 = Mario Start, Time Up, etc. + Title Screen + Castle destruction scene
$02 = Overworld
$80 = Iggy's and Larry's battle mode
$C0 = Morton's and Roy's battle mode
$C1 = Bowser
(Not sure if this is all of them)
$7E:0D9C1 byteEmpty. Cleared during reset and titlescreen load.
$7E:0D9D1 byteMain Screen Setting of Current Level Mode (000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1). Appear as TM in LM. Mirror of $212C, transfer only occurs on level load.
$7E:0D9E1 byteSub Screen Setting of Current Level Mode (000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1). Appear as TD in LM. Mirror of $212D, transfer only occurs on level load.
$7E:0D9F1 byteH-DMA Channel Enable: abcdefgh a = Channel 7 .. h = Channel 0: 1 = Enable 0 = Disable. Mirror of $420C.
$7E:0DA01 byteCurrent Player (0 - Player 1, 1 - Player 2). Used by controller Routine.
$7E:0DA11 byteEmpty. Cleared during reset and titlescreen load.
$7E:0DA21 byteCopy of controller data 1.
$7E:0DA31 byte2nd Player Controller data 1 - All the same values as $7E0015
$7E:0DA41 byteCopy of controller data 2.
$7E:0DA51 byte2nd Player Controller data 2 - All the same values as $7E0017
$7E:0DA71 byte2nd Player Controller data 1 - All the same values as $7E0015 - One frame
$7E:0DA91 byte2nd Player Controller data 2 - All the same values as $7E0017 - One frame
$7E:0DAE1 byteBrightness (0-F). Mirror of $2100.
$7E:0DAF1 byteMosaic direction. 00 when shrinking size. 01 when increasing size.
$7E:0DB01 byteCurrent mosaic pixel size on level load. Mirror of $2106, bits 0 and 1 always set.
$7E:0DB11 byteIs used to keep a mode active.
If value is positive, game mode doesn't change.
$7E:0DB21 byte2-Player Flag
$7E:0DB31 byteCharacter. 00=Mario; 01=Luigi
$7E:0DB41 byteMario's Lives
$7E:0DB51 byteLuigi Lives
$7E:0DB61 byteMario Coins
$7E:0DB71 byteLuigi Coins
$7E:0DB81 byteMario Powerup
$7E:0DB91 byteLuigi Powerup
$7E:0DBA1 byteMario Yoshi Colour
$7E:0DBB1 byteLuigi Yoshi Colour
$7E:0DBC1 byteMario Item Box. 00=Nothing; 01=Mushroom; 02=Cape; 03=Fire Flower
$7E:0DBD1 byteLuigi Item Box. 00=Nothing; 01=Mushroom; 02=Cape; 03=Fire Flower
$7E:0DBE1 byteCurrent player's lives
$7E:0DBF1 byteCurrent player's coins
$7E:0DC01 byteGreen Star Block Count Counter (starts at 30, decrements for each coin)
$7E:0DC11 bytePlayer can carry Yoshi over levels flag.
$7E:0DC21 byteItem in the reserved item aka Item Box. #$00=None; #$01=Mushroom; #$02=Fire Flower; #$03=Star; #$04=Cape
$7E:0DC43 bytesEmpty. Cleared during reset and titlescreen load.
$7E:0DC72 bytesOW X position of Mario (Same as $7E:1F17(?))
$7E:0DC92 bytesOW Y position of Mario (Same as $7E:1F19 (?))
$7E:0DCB2 bytesOW X position of Luigi (Same as $7E:1F1B (?))
$7E:0DCD2 bytesOW Y position of Luigi (Same as $7E:1F1D (?))
$7E:0DD31 bytePlayer direction. 0 = up, 2 = down, 4 = left, 6 = right.
$7E:0DD51 byteFF = activate secret event on level exit
$7E:0DD61 byteCurrent player. Used on the overworld. Is actually $0DB3 * 4.
$7E:0DD71 byteEmpty. Cleared during reset and titlescreen load.
$7E:0DD91 byteEmpty. Cleared during reset and titlescreen load.
$7E:0DDA1 byteCopy of $1DFB, the music register, but is forced to be normal music (nothing above 80.)
$7E:0DDB3 bytesEmpty. Cleared during reset and titlescreen load.
$7E:0DDE1 byteWhich file to erase on the erase file screen. Format: xxxxx123
$7E:0DE516 bytesOW Sprite Type (table)
$7E:0E3516 bytesOW Sprite XPos Low
$7E:0E4516 bytesOW Sprite YPos Low
$7E:0E6516 bytesOW Sprite XPos High
$7E:0E7516 bytesOW Sprite YPos High
$7E:0E8516 bytesApparently unused RAM; judging by the surrounding addresses, there was once an overworld sprite table of some kind here. Cleared during reset and titlescreen load.
$7E:0E9516 bytesOW Sprite X speed
$7E:0EA516 bytesOW Sprite Y speed
$7E:0EF71 byteIf negative and Mario is on a level tile, Mario will enter it directly.
$7E:0EF81 byteYoshi has been saved for the first time flag (used for Yoshi's thank message)
$7E:0EF955 bytesStatus Bar Tilemap
$7E:0F301 byteTimer Frame Counter. After this reaches $00, the game decrements the timer.
$7E:0F313 bytesTimer
$0F31 = Hundreds
$0F32 = Tens
$0F33 = Ones
$7E:0F343 bytesMario Score
$7E:0F373 bytesLuigi Score
$7E:0F3A6 bytesEmpty. Cleared on reset and titlescreen load.
$7E:0F402 bytesAmount of score to add up to the score total, at level end. (Decrements as total score increments.)
$7E:0F426 bytesEmpty. Cleared on reset and titlescreen load.
$7E:0F481 byteMario Bonus stars
$7E:0F491 byteLuigi Bonus Stars
$7E:0F4A20 bytesCastle background flame's frame to display. Is also used for Boo ring to determine its speed, 00 = still, 01-7F = counter-clockwise, 80-FF = clockwise.
Is also used for several other sprites that are generated by one single sprites, such as the ghost ceiling, not necessarily for the same purpose.
$7E:0F5E20 bytesEmpty. Cleared during reset and titlescreen load. (Was probably intended for use with castle BG flame generator.)
$7E:0FBA2 bytesDetermines if Boo ring should be loaded or not. 00 = no, any non-zero value = yes.
$7E:0FBE1,024 bytes16-bit pointer table, indexed by Map16 tile number*2. Points to the image to use for a certain Map16 tile. Usually starts with $8000 or $9100 and the value counts up with 8 per 2 RAM addresses. Bank byte should be $0D.
$7E:13BE1 byteItem Memory settings from header
$7E:13BF1 byteTranslevel number, set during transfer from world map to level. This identifies the first room of the current level. To convert this to a room number (the "level number" in Lunar Magic), if > $24, then add $DC.

The actual formula is more complex. If translevel number > $24, then subtract $24. Then check RAM $7E:1F11 or $7E:1F12. If the player is in a submap (not the big world map), then add $100. The submaps of Super Mario World use translevel numbers > $24, and the big map uses numbers <= $24, so the simplication is that $100 - $24 is $DC.
$7E:13C01 byteEmpty. Cleared during reset and titlescreen load.
$7E:13C11 byteCurrent overworld tile the player is standing on.
$7E:13C21 byteEmpty. Cleared during reset and titlescreen load.
$7E:13C31 byteCurrent player's submap (0 = Main Map, 1 = Yoshi's, 2 = Vanilla, 3 = Forest, 4 = Bowser's, 5 = Special, 6 = Star)
$7E:13C41 byteEmpty. Cleared during reset and titlescreen load.
$7E:13C51 byteIncreases each time a 3UP moon is collected, serves no other purpose. (Its value is never loaded originally.)
$7E:13C61 byteUsed by SMW's cutscenes. It's from 1-8 and go in the order of the boss battles, e.g. 01 = Iggy's castle, 02 = Morton's castle and 08 = Credits
$7E:13C71 byteYoshi colour (4=yellow, 6=blue, 8=red, A=green - refreshes on level change)
$7E:13C81 byteEmpty. Cleared on reset and titlescreen load.
$7E:13C91 byteShow "Continue/End menu on the Overworld" flag
$7E:13CA1 byteShow Save Prompt on the overworld flag. It actually triggers when you get on a new level tile.
$7E:13CB1 byteThis has been left out in the current SMW version.

When you hit a goal tape, and spawn a starman (which is never), this is set to $01. Now each time you switch an area in a level, this gets multiplied by 2. When this reaches $80 (changed area 7 times), you will start the area with the star power. The instructions which sets this address to $01 is located at $00:FB5C.
$7E:13CC1 byteThe value you store here is the amount of coins that are being added up to the total. Usually, $13CC is either #$00 or #$01, but it can be set to other values too.
$7E:13CD1 byte"Don't activate the midway point when you touch it" flag
$7E:13CE1 byteMidway Point flag
$7E:13D21 byteMulti-purpose flag. Used, for example, for when the level ending flag is set, it acts similarly to when the ! Switches are pressed if value != $00.
On the OW, it will temporarily spawn ! blocks.
(#$01 for Yellow, #$02 for Blue, #$03 for Red and #$04 for Green, all others unused).
$7E:13D31 byteTimer that disables Start from flipping the Pause flag, if value isn't 0.
$7E:13D41 bytePause flag (Levels) and look around the overworld flag (Overworld). [01] activates the flag.
$7E:13D71 byteY speed for the intro march (walking to Yoshi's House). It's in fractions. The higher the value, the lower the speed.
$7E:13D91 byteSeems to be a "Cause Mario event" address on the OW. Probably used when mario just beat a level, the events are activated, etc.
01 -mario goes down whatever path is available (used when just loading OW after finishing a level, to show events and then make mario walk down them?)
02 - Freeze mario, does nothing.
03 - Makes mario face the direction he wants to go
04 - acts like mario just beat the level, aside from activating events.
05 - Same as 02
06 - fade in/out
07 - switches between mario and luigi (even on 1 player)
08 - Same as 06
09 - fades to black.
0A - Fades in/out like when you enter a new area
0B - Activates star warp, if no star warp on that tile warps to closest pipe/star etc
0C - Causes mario to slowly walk forward like he does when you enter the OW for the first time

Also used by level end:
00 - Show up the course clear stuff
01 - Keep it on the screen?
02 - Count down timer/convert to score
03 - Do nothing
$7E:13DA1 byteAccumulating fraction bits for fixed point Mario X speed.
$7E:13DC1 byteAccumulating fraction bits for fixed point Mario Y speed.
$7E:13DD1 bytePosed used when player is turning around. Uses same format as $13E0.
$7E:13DF1 byteCape Image
$7E:13E01 byteMario Image
$7E:13E21 byteSeems to be another spin-jump fireball timer. It increments every frame. If any of the first four bits are set, Mario won't shoot a fireball. If bit 4 ($10) is set, it shoots a fireball.
$7E:13E31 byteMario is wall-running flag.
0=not wall-running
2=on bottom left (45° angle)
3=on bottom right (45° angle)
4=on top left (45° angle, on top of the wall)
5=on top right (45° angle, on top of the wall)
6=on the left wall
7=on the right wall
Note that custom blocks doesn't work while wall-running!
$7E:13E41 byteMario Dash Timer. Increases by $02 every frame Mario is walking (and on the ground) with the Dash button held, decrements until at $00 otherwise. $70 indicates Max Running Speed, and means you are ready to take off with the cape.
$7E:13E62 bytesEmpty. Cleared during reset, titlescreen, OW and level load.
$7E:13E81 byteSet to $01 if the game is suppose to run the cape spin interraction with sprite
$7E:13E92 bytesDetermines X position of cape interaction inside the level (relative to screen 0, not the visible part). It's adjusted when the cape attack is used.
$7E:13EB2 bytesDetermines Y position of cape interaction inside the level (relative to screen 0, not the visible part). It's adjusted when the cape attack is used.
$7E:13ED1 byteProbably a Player Is On Slope flag or a Player Is Sliding flag
$7E:13F11 byteVertical Scroll enable flag.
$7E:13F31 byteFrame to show for inflated Mario. (P-Balloon)
$7E:13F45 bytesA byte assigned to each row of blocks in the coin bonus game. Updated as blocks are chosen by Mario to decide whether a life is given or not.
$7E:13F91 byteMario goes behind stuff flag
$7E:13FB1 byteMario is frozen flag. This includes controls and animation. Other sprites still move and can interact with Mario, but cause the game to mess up if they touch him. This may be useful for cutscenes to eliminate the jumping sound.
$7E:13FD1 byteWhen the R or L triggers are pressed this address gets set to 01 which briefly freezes the screen while the screen scrolls in whatever direction you pressed.
$7E:13FE1 byte02 = scroll right, 04 = scroll left. Is used when L/R is pressed.
$7E:14011 byteAmount of time you need to press the L/R button to be able to scroll the screen.
$7E:14031 byteTide settings for current layer 3 image
00 - Not a tide image
01 - Water level changes
02 - Water level doesn't change
$7E:14071 byteMario is flying flag
$7E:140D1 byteSpin Jump flag
$7E:140F1 byteKeeps increasing as long as you are in the Reznor boss battle room. Likely to be used as a flag to determine which OAM index the smoke tiles coming from Mario's feet should have.
$7E:14101 byteYoshi Has Wings flag # 1. The value 02 enables it. This doesn't handle the flying ability.
$7E:14111 byteHorizontal scroll settings from header flag. If clear, disable horizontal scrolling. Else, enable horizontal scrolling.
$7E:14121 byteVertical scroll settings from header
$7E:14131 byteHorizontal scroll setting (0 = None, 1 = Constant, 2 = Variable)
$7E:14141 byteVertical scroll setting (0 = None, 1 = Constant, 2 = Variable, 3 = Slow)
$7E:14191 byteSomewhat of a "Sprites go behind stuff" flag.
00-No effect
01-Any sprite Mario is holding will go behind objects (includes riding Yoshi)
02-Same as 0x01, but the sprite has the same XY coordinates as Mario.
$7E:141A1 byteCounter that increments every time a new level is entered (with a door or pipe) - this enables you to distinguish the 'mother'-level from sublevels. Note: Don't enter a new level 256 times, or a glitch will occur.
$7E:141C1 byteSecret Goal Sprite flag (not checked in vertical levels)
$7E:141D1 byteDisable Mario Start! Flag
$7E:141E1 byteYoshi has wings flag. The only possible value for this address in the original is #$02, but setting to #$01 will allow Mario to throw fireballs if on Yoshi (even if he is not Firey Mario)
$7E:14201 byteYoshi Coins collected. Does not affect status bar.
$7E:14211 byteCounter used by the invisible 1up checkpoint (starts from 0, increases after touching each block)
$7E:14221 byteAmount of Yoshi Coins to display on the status bar. (Values 01-04 will make it display any.)
$7E:14251 byteBonus game - If set, Mario will be sent to the bonus game when you change areas in the level.
$7E:14261 byteMessage Box Trigger (1=Message 1, 2=Message 2, 3=Yoshi thanks message)
$7E:14331 byteScaling factor of the growing circle before the Titlescreen starts.
Starts at 0, circle gets bigger when the value increases.
Loads titlescreen when value becomes #$F0 or higher.
Also used for the keyhole.
$7E:14341 byteSet to #$30 to end level via keyhole
$7E:14351 byteKeyhole growing/shrinking flag.
$7E:14361 byteKeyhole X position
$7E:14381 byteKeyhole Y position
$7E:143A1 byteWhen set to a non-zero value, it will load the "Mario Start!" tiles (Mario GFX will be replaced with the letters)
$7E:143B1 byteDeath Message. $1D = "Time up!" Message. $14 = "Game Over" Message
$7E:143C1 byteDeath Message Animation timer.

(For example, when "Game" and "Over" come to each other like this: Game --> <--Over)
$7E:143D1 byteHow long the Death Message lasts timer.
$7E:143E1 byteScrolling command number. Basically the sprite value you find in Lunar Magic - #$E7. 0F-FF are incompatible.
$7E:14462 bytesSpeed to give the player when he's touching the side of a screen, during a level which does not have regular Layer 1 scrolling. Values are different depending on the type of (auto-)scroll.
$7E:14601 byteLayer 3 scrolling direction
$7E:14622 bytesLayer 1 X position (level) (16-bit)
$7E:14642 bytesLayer 1 Y position (level) (16-bit)
$7E:14662 bytesLayer 2 X position(level)
$7E:14682 bytesLayer 2 Y position(level)
$7E:14701 byteCarrying something flag
$7E:14711 byteDetermines what type of platform you are on. I.E., 01 is for the floating rock. It enables you to jump and run in the air. Followed by a sinking effect. The same effect you get when standing on a floating rock. This is on Yoshi's Island 4 stage.
$7E:148B2 bytesOutput of random number generation routine, located at $01:ACF9.
$7E:148D2 bytesUsed by random number generation subroutine to determine the next output.
$7E:148F1 byteFlag used to detect if Mario holds an object.
$7E:14901 byteStar timer ($FF=16 (hex) sec on game timer)
$7E:14911 byteAmount of pixels on the X/Y axis a sprite has moved in the current frame. It is set after every call to update sprite position based on speed, and the routine that updates both X/Y position based on speed will leave $1491 with the movement on the X axis in this address. Very often used for rideable sprites as this address can be added to mario's position to move Mario in tandem with the sprite.
$7E:14921 byteMario Peace Image (level finished march) timer.
$7E:14931 byteEnd level timer. Setting to FF will end the level as a goal sphere; however, this is a timer. If your code always sets this address, then it will never end.
Setting it to 01 (even repeatly) will make it flash with ugly colors and end the level.
$7E:14951 byteSomething related about the fadeout after you defeat a boss. Seems to stop increasing when it reaches $40.
$7E:14961 byteMario Hurt Frame Timer
$7E:14971 byteFlashing Invincible Timer
$7E:14981 byteTime to show Mario's Ducking while holding an item pose.
$7E:14991 byteTimer for Mario to face the screen.
$7E:149A1 byteTime to show Mario's kicking Pose.
$7E:149B1 byteTime for Mario to change through palettes (Used for fire animation)
$7E:149C1 byteTime to show Mario shooting a fireball pose (Includes in air and on ground)
$7E:149F1 byteRelated to Vertical Screen Scrolling. #$00 = No effect. $%01+ = Vertical Screen Scrolling. Possibly related to flying or running fast?
$7E:14A01 byteIs set to $10 when the player is running and is supposed to display the running images.
$7E:14A11 byte"Player slides a bit when turning around" timer.
$7E:14A51 byteIs set to $10 when Mario is flying in the air with a cape.
$7E:14A61 byteCape spin timer.
$7E:14AB1 byteBonus game ending timer. Does nothing in a normal level, but during a bonus game, setting it will end the bonus game and return to the overworld. At 44 it starts the "end bonus game" music, and at 01 it actually fades to the overworld.
$7E:14AD1 byteBlue POW Timer
$7E:14AE1 byteSilver POW Timer
$7E:14AF1 byteOn/Off Switch Value. 00 is ON and all others are OFF.
$7E:14B21 byteUsed when Bowser is scaling (before the flames fall out of the sky).
0 = shrinking
1 = growing
2 = disappear
$7E:14C812 bytesSprite Status Table.
00=Non-existant
01=Initial
02=Killed, falling off screen
03=Smushed
04=Spinjumped
05=Sinking in lava
06=Turn into coin at lvl end
07=Stay in Yoshi's mouth
08=Normal routines
09=Stationary/Carryable
0A=Kicked
0B=Carried
0C=Powerup from being carried past goaltape.
$7E:14D412 bytesSprite Ypos High Byte (table)
$7E:14E012 bytesSprite Xpos High Byte (table)
$7E:14EC12 bytesAccumulating fraction bits for fixed point Y speed.
$7E:14F812 bytesAccumulating fraction bits for fixed point X speed.
$7E:150412 bytesSprite table that is not restricted to one predefined purpose. Is used as e.g. throw timer.
$7E:151012 bytesMisc. sprite table apparently. Used in the brown platform's graphics routine but nowhere else in SMW's entire code.
$7E:151C12 bytesSprite table that is not restricted to one predefined purpose. Is used for vertical direction in SMW, and Yoshi uses it to determine which sprite to spawn out of an egg. $1520-$1523 is a 'Reznor killed flag'. If a byte is set to $01, the Reznor will disappear. Byte 1 is for Reznor 1, Byte 2 for Reznor 2 and so on.
$7E:152812 bytesSprite table that is not restricted to one predefined purpose. In SMW it's used for Chargin' Chuck HP, Thwomp's face expression, etc.
$7E:153412 bytesSprite table that does not affect most of the common sprites. It's a table that is not restricted to one predefined purpose.

Certain powerups use this table as a blink-fall flag:
$00 => off.
$01 => on, powerup will blink and fall straight down.

The game stores $01 here when it drops the reserved item from the item box. The blink-fall flag affects the Super Mushroom and the Fire Flower, but not the Cape Feather. The blink-fall flag also affects some other sprites, at least the Starman, the 1up Mushroom and the sprite-coin (from fireballing enemies), but these sprites might glitch if you set the flag. One glitch is that the blinking sprite-coin permanently occupies a sprite slot if it falls off the level, so might prevent the spawning of other common sprites.

This table might also have an unknown affect to a few other sprites. Value $01 seems to cause Super Koopas to flash their capes (but not to give feathers).
$7E:154012 bytesSprite table that is not restricted to one predefined purpose. This table already decrements by itself once per frame.

Some sprites use this table as a stun timer. For example, this timer controls when flipped Goombas and squashed Mecha-Koopas decide to rise and walk. This table is also the Sprite Spin Jump Death Frame Counter.
$7E:154C12 bytesTime to disable sprite's contact with Mario. This table already decrements by itself once per frame.
$7E:155812 bytesSprite table that is not restricted to one predefined purpose. This table already decrements by itself once per frame.
$7E:156412 bytesTime to disable sprite's contact with other sprites. This table already decrements by itself once per frame.
$7E:157012 bytesSprite table that does not have a predefined purpose. In SMW, it's used as a frame counter for timed lifts (amount of frames until it hits zero), a frame counter that indicates when sprites 00-13 that have the 'Follow player' flag set should turn, etc.
$7E:157C12 bytesSprite table that is not restricted to one predefined purpose. Often used as horizontal sprite direction table (0=Right, 1=Left)
$7E:158812 bytesSprite blocked status table. Format: xxxxUDLR.
$7E:159412 bytesSprite table that has no predefined purpose. (Read: Can be used for any purpose.) In classic Piranha Plants, it is used to check if the sprite should be made visible and have interaction with Mario. (If it's any non-zero value, it will become invisible.)
$7E:15A012 bytesSprite off screen flag, horizontal
$7E:15AC12 bytesSprite table that is not restricted to one predefined purpose. This table already decrements by itself once per frame. In SMW, it is often used as a timer to determine how long it takes to turn around.
$7E:15C412 bytesA table which is set to $01 if the sprite in question is off-screen. For example, the rings of the Ball 'n' Chain are never drawn if this is a non-zero value.
$7E:15D012 bytesSprite Being Eaten Flag Table
$7E:15DC12 bytesTable Related to sprite interaction with objects. Set and the sprite falls through objects.
$7E:15E91 byteSprite index for the current sprite that is being processed.
$7E:15EA12 bytesSprite's index to OAM
$7E:15F612 bytesSprite Palette/GFX High Byte Table - (Tile#Hi - 2) + 2 * (Palette# - 8). YXPPCCCT format.
$7E:160212 bytesSprite table that is not restricted to one predefined purpose. Often used as graphics pointer.
$7E:160E12 bytesSprite table that has no predefined purpose. In SMW, it is used to keep track of things such as the green bouncing Koopa's Y speed and the sprite number of certain spawned, kicked, etc. sprites.
$7E:161A12 bytesSprite's index to level table - set to FF to prevent from reloading it once it goes offscreen
$7E:162612 bytesConsecutive enemies jumped on table.
$7E:163212 bytesSprite Interaction Disable Flag
$7E:163E12 bytesSprite table that is not restricted to one predefined purpose. This table already decrements by itself once per frame.
$7E:164A12 bytesSprite Follower Table (0=None, 1-7F=Clouds, 80-FF=Fire)
$7E:165612 bytesSprite properties, first Tweaker/MWR byte.
Format: sSjJcccc
s=Disappear in cloud of smoke
S=Hop in/kick shells
j=Dies when jumped on
J=Can be jumped on
cccc=Object clipping
$7E:166212 bytesSprite properties, second Tweaker/MWR byte.
Format: dscccccc
d=Falls straight down when killed
s=Use shell as death frame
cccccc=Sprite clipping
$7E:166E12 bytesSprite properties, third Tweaker/MWR byte.
Format: lwcfpppg
l=Don't interact with layer 2
w=Disable water splash
c=Disable cape killing
f=Disable fireball killing
ppp=Palette
g=Use second graphics page
$7E:167A12 bytesSprite properties, fourth Tweaker/MWR byte.
Format: dpmksPiS
d=Don't use default interaction with Mario
p=Gives power-up when eaten by Yoshi
m=Process interaction with Mario every frame
k=Can't be kicked like a shell
s=Don't change into a shell when stunned
P=Process while off screen
i=Invincible to star/cape/fire/bouncing bricks
S=Don't disable clipping when killed with star
$7E:168612 bytesSprite properties, fifth Tweaker/MWR byte.
Format: dnctswye
d=Don't interact with objects
n=Spawns a new sprite
c=Don't turn into a coin when goal passed
t=Don't change direction if touched
s=Don't interact with other sprites
w=Weird ground behavior
y=Stay in Yoshi's mouth
e=Inedible
$7E:16921 byteSprite Memory setting from header
$7E:16931 byteBlock # in custom block code (low byte; high byte is Y register)
$7E:16971 byteConsecutive enemies stomped
$7E:16981 byteUsed as index to minor extended sprites.
$7E:16994 bytesBlock Bounce Sprite Image Table / Block Bounce sprite number
$7E:169D4 bytesBlock Bounce Sprite ? Table
$7E:16A14 bytesBlock Bounce Sprite Ypos Low Byte Table
$7E:16A54 bytesBlock Bounce Sprite Xpos Low Byte Table
$7E:16A94 bytesBlock Bounce Sprite Ypos High Byte Table
$7E:16AD4 bytesBlock Bounce Sprite Xpos High Byte Table
$7E:16B14 bytesBlock Bounce Sprite YSpeed Table
$7E:16B54 bytesBlock Bounce Sprite XSpeed Table
$7E:16C14 bytesBlock Bounce Sprite Turns Into Table
$7E:16C54 bytesBlock Bounce Sprite Bouncing Flag Table
$7E:16C94 bytesBlock Bounce Sprite ? Table
$7E:16CD4 bytesBlock Bounce Sprite Exists Flag Table
$7E:16E16 bytesScore/1up Sprite Type (table)
#$00: None
#$01: 10 points
#$02: 20 points
#$03: 40 points
#$04: 80 points
#$05: 100 points
#$06: 200 points
#$07: 400 points
#$08: 800 points
#$09: 1000 points
#$0A: 2000 points
#$0B: 4000 points
#$0C: 8000 points
#$0D: 1UP
#$0E: 2UP
#$0F: 3UP
#$10: 5UP
$7E:16E76 bytesScore/1up sprite Ypos low byte (table)
$7E:16ED6 bytesScore/1up Sprite X-pos low byte (table)
$7E:16F36 bytesScore/1up Sprite X-pos high byte (table)
$7E:16F96 bytesScore/1up Sprite Y-pos, high byte (table)
$7E:16FF6 bytesScore/1up Sprite Movement/Speed (table)
$7E:17056 bytesScore/1up Sprite Inital Ypos (table)
$7E:170B8 bytesType of extended sprite (0-12):
01 - Puff of smoke with various objects
02 - reznor fireball
03 - flame left by hopping flame
04 - hammer
05 - mario fireball
06 - bone
07 - Lava Splash (doesn't hurt, parabolic down)
08 - Torpedo Ted shooter's arm
09 - Red thing that flickers from 16x16 to 8x8
0A - coin from cloud game
0B - piranha fireball
0C - lava lotus fire
0D - baseball
0E - Flower of Wiggler
0F - Trail of smoke
10 - Spin Jump star
11 - yoshi fireballs
12 - Water bubble
$7E:17131 byteFireball 2 Status (0=Doesn't Exist, 1=Hit Something, 5=Exists)
$7E:17141 byteFireball 1 Status (0=Doesn't Exist, 1=Hit Something, 5=Exists)
$7E:17158 bytesExtended sprite Y position, Low Byte
$7E:171D1 byteFireball 2 Ypos Low Byte
$7E:171E1 byteFireball 1 Ypos Low Byte
$7E:171F8 bytesExtended sprite X position, Low Byte
$7E:17271 byteFireball 2 Xpos Low Byte
$7E:17281 byteFireball 1 Xpos Low Byte
$7E:17298 bytesExtended sprite Y position, High Byte
$7E:17311 byteFireball 2 Ypos High Byte
$7E:17321 byteFireball 1 Ypos High Byte
$7E:17338 bytesExtended sprite X position, high byte
$7E:173B1 byteFireball 2 Xpos High Byte
$7E:173C1 byteFireball 1 Xpos High Byte
$7E:173D8 bytesExtended sprite Y speed
$7E:17451 byteFireball Y Speed (2nd fireball)
$7E:17461 byteFireball Y Speed (First Fireball)
$7E:17478 bytesExtended sprite X speed
$7E:174F1 byteFireball #2 X Speed
$7E:17501 byteFireball #1 X Speed (Default is 3 for right, $FD for left)
$7E:175B1 byteFireball Hit Flag Table
$7E:17632 bytesEmpty. Cleared during reset, titlescreen load, OW load and level load.
$7E:17658 bytesExtended sprite table. Most extended sprites increment this table and use it for their GFX table. (Use a different image every x frames.)
$7E:176F1 byteFireball Hit Frame Counter Table
$7E:17798 bytesExtended sprite goes behind stuff flag.
$7E:17811 byteFireball 2 Goes Behind Stuff Flag
$7E:17821 byteFireball 1 Goes Behind Stuff Flag
$7E:17838 bytesShooter number table. (Bullet Bill shooter = #$01, Torpedo Launcher = #$02.)
$7E:178B8 bytesRelated to the Y position of a shooter (low byte)
$7E:17938 bytesRelated to the Y position of a shooter (high byte)
$7E:179B8 bytesRelated to the X position of a shooter (low byte)
$7E:17A38 bytesRelated to the X position of a shooter (high byte)
$7E:17AB8 bytesAmount of time it takes for a shooter to shoot the next sprite.
$7E:17B38 bytesTable which holds the index for 'sprite being reloaded' for the table at $1938, for shooters. Shooters are always reloaded.
$7E:17C04 bytesSmoke images.
00=Nothing
01=Puff of smoke
02=Contact graphic
03=Smoke when Mario turns around abruptly
04=None
05=Glitter sprite
$7E:17C44 bytesY low position of smoke images.
$7E:17C84 bytesX low position of smoke images.
$7E:17CC4 bytesAmount of time to show the smoke image.
$7E:17D04 bytes"Spinning coin coming out of ? block" table. It's a free slot if it's zero.
$7E:17D44 bytesY position of spinning coin from a ? block (low byte).
$7E:17D84 bytesY speed of spinning coin spawned by ? block. $20-$9F will erase the sprite.
$7E:17DC4 bytesAccumulating fraction bits of Y speed of spinning coin spawned by ? block.
$7E:17E04 bytesX position of spinning coin from a ? block (low byte).
$7E:17E44 bytesTable for spinning coin from a ? block. Value depends on whether the block is processed on Layer 1 or Layer 2 - the bounce sprite / smoke image will adjust its position relative to the layer in which it is processed.
$7E:17E84 bytesY position of spinning coin from a ? block (high byte).
$7E:17EC4 bytesX position of spinning coin from a ? block (high byte).
$7E:17F012 bytesMinor Extended Sprites type.
00=None
01=Piece of brick block
02=Small star
03=Cracked shell (Yoshi egg)
04=Fireball from Podoboo
05=Small star?
06=Rip van Fish Z tile
07=Water splash
08=Rip van Fish Z tile (unused)
09=Rip van Fish Z tile (unused)
0A=Boo Stream tile
0B=Unused Yoshi smoke
$7E:17FC12 bytesMinor Extended Sprite's Y position, low.
$7E:180812 bytesMinor Extended Sprite's X position, low.
$7E:181412 bytesMinor Extended Sprite's Y position, high.
$7E:182012 bytesMinor Extended Sprite's Y speed.
$7E:182C12 bytesMinor Extended Sprite's X speed.
$7E:185012 bytesMinor Extended Sprite timer, how long it stays active.
$7E:185C1 byteMario falls through Layer 1 flag.
$7E:185D1 byteRelated to the spawning of extended sprites. Used to index $17F0 (minor extended sprite type table) if there are no empty slots when an extended sprite needs to be spawned. This is so that the oldest extended sprite can be removed when a new one needs to be made.
$7E:185E1 byteSometimes used to keep track of a tile to generate at $00BEB0 (before storing to $9C). Also used to determine Y position of Mario when he's on the line guided rope, used to determine positions and such of Yoshi's tiles, etc.
$7E:185F1 byteThis is the low byte of the Map16 tile (actual tile number, not "acts like" setting) that a sprite is touching vertically.

This is set after $019138, the subroutine that allows the sprite to interact with objects, is called. (This includes $01802A, the routine that updates the sprite's position with gravity, which calls $019138.)
$7E:18601 byteThis is the low byte of the Map16 tile (actual tile number, not "acts like" setting) that a sprite is touching horizontally.

This is set after $019138, the subroutine that allows the sprite to interact with objects, is called. (This includes $01802A, the routine that updates the sprite's position with gravity, which calls $019138.)
$7E:18621 byteThis is the high byte of the Map16 tile (actual tile number, not "acts like" setting) that a sprite is touching horizontally.

This is set after $019138, the subroutine that allows the sprite to interact with objects, is called. (This includes $01802A, the routine that updates the sprite's position with gravity, which calls $019138.)
$7E:186B1 byteMultiple Coin Block timer. Set to 01 and the block becomes unused instantly. Set to FF for maximum time length.
$7E:186C12 bytesSprite off screen flag, vertical
$7E:187A1 byteRiding Yoshi Flag (0=No, 1 or 2=Yes)
$7E:187B12 bytesSprite Stomp Immunity Flag Table. The changing item sprite uses it to determine which sprite it is. (#$00 = mushroom, #$40 = fire flower, #$80 = feather, #$C0 = star). Also used for things such as determining whether the goal tape should use the normal exit or the secret one, to hold the radius of rotating chain sprites, handling Yoshi abilities, etc. Most likely a miscellaneous sprite table with no predefined purpose.
$7E:18871 byteTime to shake ground
$7E:18882 bytesLayer 1 Image Y position, used by RAM $7E1887 (Shake ground)
$7E:188A1 byteEmpty. Cleared on death, level load, and in the Peach Rescued scene (not sure about details here).
$7E:188B1 byteSomething related about Mario's Image Y position, used by RAM $7E1887 (Shake Ground)
$7E:18901 byteHow many 1UPs to spawn. (Used for bonus game.)
$7E:18911 byteP-balloon's timer
$7E:189220 bytesCluster sprites type. 00 = None (free slot), 01 = 1UP (bonus game), 02 = Unused (Would crash if used), 03 = Boo from ghost ceiling, 04 = Boo from Boo ring, 05 = castle candle flame, 06 = Sumo Brother flame, 07 = Reappearing ghost, 08 = Death bat. The pointer for those is at $02F825.
$7E:18AC1 byteYoshi Swallow Frame Counter/Status
$7E:18AF1 byteYoshi squatting timer.
$7E:18B02 bytesYoshi's Current X position. Used to determine where Yoshi is when eating a berry.
$7E:18B22 bytesYoshi's Current Y Position. Used to determine where Yoshi is when eating a berry.
$7E:18B61 byteSometimes used to keep track of a tile to generate at $00BEB0 (before storing to $9C); may be in conjunction with $185E. Also used to determine X position of Mario when he's on the line guided rope, used when Mario is on top of Boo Block, etc.
$7E:18B81 byteIf clear, cluster sprite code does not run.
$7E:18B91 byteShooter type of sprite. 00 - Eerie Generator, 01 = Para Goomba and so on. The pointer for this address is located at $02/B00C (SNES).
$7E:18BA1 byteDetermines amount of Boo rings per screen. Depending on bit 0 of this byte, the reappearing ghosts use position combination 1 or 2.
$7E:18BC1 byteFloating skulls activation flag. Is set to 0x0C when Mario touches the sprite, and is reset in the sprite's INIT routine.
$7E:18BD1 byteTime to stun mario. Mario will face the screen and be unable to move.
$7E:18BE1 byteRelated to Mario climbing. If > #$01, climbs if pressing up.
$7E:18BF1 byteTimer used by a bunch of appearing/disappearing sprites (examples: Lakitu, Magikoopa, and Layer 3 smasher). Sprite D2 freezes it.
$7E:18C01 byteSeems to be the timer for respawning certain sprites, such as the Boo Buddies of sprite E5 (and Lakitu). Sprite D2, Turn Off Generator 2, sets this to 00 when it is active.
$7E:18C11 byteUsed by Magikoopa and Lakitu to determine which sprite number to respawn.
$7E:18C21 byteMario is standing normal flag. Set above #$01 and his image stays at normal, but can still move.
$7E:18CD1 byteUsed as (alternative) index to bounce sprites.
$7E:18D21 byteThis address is increased every time mario kills a sprite with a star while the star is active and will reset when the star runs out.
00 = 200
01 = 400
02 = 800
03 = 1000
04 = 2000
05 = 4000
06 = 8000
07 and above = 1up
$7E:18D41 byteRed berries eaten
$7E:18D51 bytePink berries eaten.
$7E:18D61 byteBerry Type (0=Coin (no eggs), 1=Red, 2=Pink Berry, 3=Green)
$7E:18D71 byteThis is the high byte of the Map16 tile (actual tile number, not "acts like" setting) that a sprite is touching vertically.

This is set after $019138, the subroutine that allows the sprite to interact with objects, is called. (This includes $01802A, the routine that updates the sprite's position with gravity, which calls $019138.)
$7E:18D91 byteHow far the castle door is open in the castle intro screen.
$7E:18DA1 byteSprite number that spawns when yoshi lays an egg. Is set to 78 normally (1up).
$7E:18DC1 byteFlag that is set when Yoshi gets his tongue out while ducking. Yoshi cannot turn around in this state. If you were to use the debug codes at $00D085-$00D089 (x5285 - x5289), this also makes the fireballs that the player fires when on Yoshi appear at a different position.
$7E:18DE1 byteYoshi laying eggs timer.
$7E:18E21 byteLoose Yoshi Flag (if set, any Yoshis spawned become 1ups instead)
$7E:18E41 byte1up Handler Address: Write a number to give that many lives. Handles everything except '1up' sprite.
$7E:18E51 byteTimer for the 1up handler ($18E4).
$7E:18E71 byteYoshi ground stomp flag. (This is set to #$01 for a Yellow Yoshi or Yoshi with a yellow shell)
$7E:18E81 byteYoshi growing animation timer. Additionally, it freezes everything on the screen except Yoshi.
$7E:18EA12 bytesMinor Extended Sprite's X position, high.
$7E:18F71 byteSprite index to $16E1.
$7E:18FD1 byteFlag set when Whistlin' Chuck whistles.
$7E:18FE1 byteThe diagonal and surrounded bullet bills timer. It increments every frame, and when it reaches A0, it sends out some more bullet bills and resets itself.
$7E:18FF1 byteShooter index for the current shooter that is being processed.
$7E:19001 byteStar Points Gained at level end (decrements to 0)
$7E:19014 bytesYXPPCCCT data of bounce sprite that is being shown.
$7E:19051 byteIggy's Platform holds the total number of tilts made counter. It will increment everytime the platform will be at a maximum tilt.
$7E:19061 byteIggy's platform stationary phase counter. It will stop rotating the platform when you set it to anything higher than $01, and will stay so until it decrements to $00.
$7E:19071 byteIggy's platform rotation phase counter. Resets when it is about to reach $06.
$7E:19091 byteFlag that makes the creating/eating block run or not run. FF = don't run, any other value (00) = run. Is set when a brown block is touched.
$7E:190B1 byteBig Boo Boss palette index, used for the transparency effect.
$7E:190C1 byteDirectional coin timer.
$7E:190E1 byteSprite buoyancy settings from level header. Format: XY00 0000 (bits)
X = Enable sprite buoyancy, but reduces the number of sprites that can be on the screen at once without slowing down.
Y = Enable sprite buoyancy, but disables all other sprite interaction with layer 2 to reduce the processing cost and slowdown.
$7E:190F12 bytesSprite properties, sixth Tweaker/MWR byte.
Format: wcdj5sDp
w=Don't get stuck in walls (carryable sprites)
c=Don't turn into a coin with silver POW
d=Death frame 2 tiles high
j=Can be jumped on with upward Y speed
5=Takes 5 firebals to kill
s=Can't be killed by sliding
D=Don't erase when goal passed
p=Make platform passable from below
$7E:191F1 byteEmpty. Cleared on reset and titlescreen load.
$7E:19201 byteHow many 1UPs from the bonus game are still not collected. This ends the bonus game when this RAM address is $00, after you hit the spinning thing.
$7E:19251 byteLevel Mode settings from header
$7E:192A1 byteLevel header RAM address. Format: swaaaaaa. s = slippery level, w = water level, a = Mario action. If one of bits 3-5 are set, Mario action will be Vertical Pipe exit downwards, water level.
$7E:192B1 byteWhich Sprite GFX set to use
$7E:192D1 byteFG Palette settings from header
$7E:192E1 byteSprite Palette settings from header
$7E:192F1 byteBG Colour settings from header
$7E:19301 byteBG Colour setting from header
$7E:19311 byteTileset (but also used for some other random stuff...?)
$7E:19321 byteTileset again
$7E:19331 byteLayer being processed (0=layer 1, 1=layer 2; used in both level loading routine and processing interactions)
$7E:1938128 bytesSprite Load Status Table.
Loaded sprites' indices to this table are stored in the sprite table at $7E:161A
All sprites are set to #$00 when the player enters a new area, meaning they are marked to be loaded.
If a sprite's value is set to anything else, it will not reload until the player exits and re-enters the area.
$7E:19B832 bytesExit Table. This connects doors and exit-enabled pipes to their correct entrances.

The index for this exit table is the position of the exit (relative to layer 1) divided by 256. If layer 1 is vertical, then use the Y position of the exit, else use the X position. This is also known as the current screen number.

For primary exits, the value in this exit table is the low 8 bits of the level number of the destination room. For secondary exits, the value in this exit table is the index to the secondary entrance ROM tables; and ROM table $05:F800 provides the low 8 bits of the room number.
$7E:19D832 bytesExit Table, flags + high bit.
Bit 0 = High bit of level # (1=level 1xx, 0=level 0xx)
Bit 1 = Is Secondary Exit Flag
Bit 2 = Is Exit Present Flag (set if any exit is on this screen)
Bit 3 = Make Destination Water Flag (Secondary Exit only)
Bits 4-7 = Unused

Only used when LM is done with the ROM.
$7E:19F8384 bytesThree tables (128 bytes each) for remembering which items has been taken (item memory settings). 16 bits for each subscreen (X position is used to determine which of those bits is used). Note that item memory 3 propably won't work well!
$7E:1B801 byteIf 0, the player is walking with a regular speed. If 1, the player is walking with climbing speed. 2-FF are unused.
$7E:1B861 byteDetermines which pointer to use for the routine that runs events.
$7E:1B871 byteSeems to be the overworld "continue/quit" image trigger, for when you get a game over and then go to the overworld. The values trigger as follows, although they all are glitchy:
00-04: (Nothing)
05 (play sound and get rid of mario
06 (display words, no functions
07 (Display select thing, which doesn't function
08 (open box again and again
09 open box do not repeat, disappears
$7E:1B881 byteMessage box expanding (0) or shrinking (1) flag.
$7E:1B891 byteMessage box expansion and shrinking timer/size. Note: Setting expanding timer above #$04 will cause the message to be blank.
$7E:1B911 byteBlinking cursor frame counter (file select, save prompt, etc.)
$7E:1B921 byteBlinking cursor position (value 00-03)
$7E:1B931 byteUse Secondary Exits flag (likely not used when LM is done with the ROM)
$7E:1B941 byteDisable bonus game sprite from being loaded flag. If not zero, the bonus game sprite will terminate itself in the init routine.
$7E:1B951 byteWhen this flag is set, you will go to the special yoshi levels (C8, or 1C8) at the soonest possible loading time. Does not necessarily mean yoshi has wings.
$7E:1B961 byteSide Exit Enabled flag
$7E:1B9A1 byteLevel::BG Scroll Activated Flag. Setting it to #$08 activates it.
$7E:1B9B1 byteKeep status item upon death flag. If set to 01, mario will not lose his status box item when he dies.
$7E:1B9D1 byteTime to wait after rising/lowering the tide
$7E:1B9F1 byteTimer used for breaking the bridge in Reznor battles.
$7E:1BA01 byteOW- Triggers shaking the ground. Any value will shake it, FE = valley of bowser entrance fanfare and rumble. never stops until value is set back to 00.
$7E:1BE31 byteLayer 3 settings [citation needed]
$7E:1BE42 bytesVRAM address to start uploading data from 7E1BE6. Big endian.
$7E:1BE6256 bytesWhich tiles should be used for each row of 16x16 tiles, 2 bytes per 8x8 tile, used while updating the screen (loading new tiles). In horizontal levels, $1BE6-$1C65 forms the left column of 8x8 tiles while $1C66 forms the right column of 8x8 tiles. On the OW and in vertical levels, $1BE6-$1C65 forms the upper row of 8x8 tiles, while $1C66-$1CE5 forms the bottom row of 8x8 tiles.
$7E:1CE62 bytesVRAM address to start uploading data from 7E1CE8. Big endian.
$7E:1CE8256 bytesSame as 7E1BE6, but for layer 2.
$7E:1DE91 byteOverworld::Ending enemy presentation screen (Count to 0x0C)
$7E:1DEA1 byteOverworld event to run at level end ($FF=None)
$7E:1DEB2 bytesEvent tile to load to the overworld. A starting value is set to this at level end, and it increases until it reaches the value of $1DED.
$7E:1DED2 bytesLast event tile to load to the overworld during a given event, set at level end.
$7E:1DF02 bytes7E1DF0 - X position of the camera when using the "survey OW w/ select" function, low byte
7E1DF1 - X position of the camera, when using survey function, high byte
(These values are only used to determine which way the camera should go to get back to mario- there is another set for usual movement)
$7E:1DF22 bytesYpos of the camera when using the "scroll around OW" function.
7E1DF2 = low byte
7E1DF3 = high byte
Note: This is only used when determining how to get back to mario. There must be a different set for when simply scrolling around the screen.
$7E:1DF41 byteIndex to intro control sequence data table.
$7E:1DF51 byteFrame counter to use the same controller bits for intro sequence. Is also used as timer to determine how long the Nintendo Presents screen will remain active.
$7E:1DF61 byteStarRoad and Tunnel handler (Map). Controls where you warp to. I've tested 00-88 (Dec). The values load by adding +2 to the previous one. This is starting from 00 and so on.
$7E:1DF71 byteUsed by the Star Road Warp Star on the overworld. It is the speed of Mario getting launched in the air during warping. The higher the value, the faster he gets launched in the air.
$7E:1DF81 byteUsed by the Star Road Warp Star on the overworld. It is how long Mario stays on the ground before he gets launched in the air, during warping. (Timer)
$7E:1DF94 bytesSPC700 I/O Ports (Write values to play music/SFX)
$7E:1DFD2 bytesEmpty. Cleared during reset, titlescreen, OW and level load.
$7E:1DFF1 byteSeems like it is the copy of $7E1DFB, the music register. Writing to it doesn't give any effect though.
$7E:1E001 byteEmpty. Cleared during reset, titlescreen, OW and level load.
$7E:1E011 byteIf debug code at $00CC86 is enabled, this RAM address allows you to be in free roaming mode: Mario can move in any direction, without being affected by objects or sprites. 00 = none, 01 = dash immediately, 02 = free roaming.
$7E:1E0220 bytesY low position of cluster sprites.
$7E:1E1620 bytesX low position of cluster sprites.
$7E:1E2A20 bytesY high position of cluster sprites.
$7E:1E3E20 bytesX high position of cluster sprites.
$7E:1E5220 bytesY position of reappearing Boos, frame 1. Not relative to screen border. Also used as Y speed for Boos from ghost ceiling and death bats.
$7E:1E6620 bytesX position of reappearing Boos, frame 1. Not relative to screen border. Also used as X speed for Boos from ghost ceiling and death bats.
$7E:1E7A20 bytesY position of reappearing Boos, frame 2. Not relative to screen border. Also used as accumulating fraction bits for Y speed of death bats.
$7E:1E8E20 bytesX position of reappearing Boos, frame 2. Not relative to screen border.
$7E:1EA296 bytesOW Level Setting Flags, location corresponds to $7E13BF. Bits:
01: Enable walking right
02: Enable walking left
04: Enable walking down
08: Enable walking up
10: Save Prompt when level beaten
20: No entry if level passed
40: Midway point
80: Beaten

Setting $7E:1EEB to hex value $83 will enable the special stage features in ORIGINAL SMW.
$7E:1F0215 bytesOverworld event flags
$7E:1F111 byteCurrent submap for Mario (0=Overworld, 1=Yoshi, 2=Vanilla, 3=Forest, 4=Bowser, 5=Special, 6=Star)
$7E:1F121 byteCurrent submap for Luigi (0=Overworld, 1=Yoshi, 2=Vanilla, 3=Forest, 4=Bowser, 5=Special, 6=Star)
$7E:1F132 bytesMario's and Luigi's animation on the overworld.

$00 = Look away from screen
$02 = Face the screen
$04 = Look to the left
$06 = Walk to the right
$08 = Look away from screen in the water
$0A = Face the screen in the water
$0C = Walk to the left in the water
$0E = Walk to the right in the water
$10 = Stick your hand out (entering level)
$12 = Stick your hand out in the water (entering level)
$14 = Climb ladder/vine?
$16 = Climb ladder/vine

Byte 1 is for Mario, byte 2 is for Luigi.
$7E:1F172 bytesOW X position of Mario
$7E:1F192 bytesOW Y position of Mario
$7E:1F1B2 bytesOW X position of Luigi
$7E:1F1D2 bytesOW Y position of Luigi
$7E:1F1F2 bytesPointer to Mario's OW Xpos. Value is Mario's OW Xpos divided by 10 hex.
$7E:1F212 bytesPointer to Mario's OW Ypos. Value is Mario's OW Ypos divided by 10 hex.
$7E:1F232 bytesLuigi's X position in the world map (OW Xpos) divided by 16 (by $10 hex).
$7E:1F252 bytesLuigi's Y position in the world map (OW Ypos) divided by 16 (by $10 hex).

All four values from $1F1F, $1F21, $1F23 and $1F25 are always in range from 0 to 31. Thus you may access them as 8-bit or 16-bit values.
$7E:1F274 bytesSwitch block flags (Green, Yellow, Blue, Red)
$7E:1F2B1 byteCleared at reset, titlescreen load and file load (1/2 Player -> OW / intro screen).
$7E:1F2E1 byte# of normal exits gotten
$7E:1F2F12 bytes"Collected five or more Yoshi Coins" flags. Each byte represents the values for 8 levels, with each bit acting as a flag for a given level.

Level # ($13BF) DIVIDED by 8 (LSR x3) provides the BYTE index into this table, since 8 levels are represented by a single byte. The level # MODULO 8 (AND #$07) is the BIT index into this table. It will choose a single bit out of the byte and this is the flag for this level.
$7E:1F3B1 byteEmpty. Cleared during reset and titlescreen load.
$7E:1F3C12 bytesRAM table handling in which levels the invisible 1up spawning tiles are flagged as 'do not respawn'. This happens after they're collected in that level. 8 levels go in 1 byte ; one bit per level. Order of levels is the same as RAM address $13BF, but then in bits, to compress the amount of space needed. If the bit relative to the level is flagged, the tiles will not respawn. If it's clear, it will respawn.
$7E:1F481 byteEmpty. Cleared during reset and titlescreen load.
$7E:1F49141 bytesBuffer for $1EA2-$1F2E. SRAM transfer goes through this buffer.
$7E:1FD612 bytesUnused sprite table, cleared at individual sprite load. (1 slot each.)
$7E:1FE212 bytesTime to disable sprite's contact with cape. This table already decrements by itself once per frame.
$7E:1FEE12 bytesRAM table handling in which levels the 3UP moons are flagged as 'do not respawn'. This happens after they're collected in that level. 8 levels go in 1 byte ; one bit per level. Order of levels is the same as RAM address $13BF, but then in bits, to compress the amount of space needed. If the bit relative to the level is flagged, the moon will not respawn. If it's clear, it will respawn.
$7E:1FFA1 byteEmpty. Cleared during reset and titlescreen load.
$7E:1FFB1 byteLightning Flash Color. Most values are just shades of white, but 70+ is actual colors. Only active while lightning flash is active.
$7E:1FFC1 byteLightning Flash Timer. 00- no time, 01- constant, and so on. Only active while lightning flash effect is active.
$7E:1FFD1 byteLightning Flash "Step." 00- step 8, 01, step 7, and so on. Repeats steps 0-8 all the way up to FF. Only active while lightning flash effect is active.
$7E:1FFE1 byteIf flag is set, the credit cutscene backgrounds will get updated every frame. If clear, they won't.
$7E:1FFF1 byteEmpty. Cleared during reset and titlescreen load.
$7E:200023,808 bytesGFX32 decompressed.
$7E:7D0012,288 bytesGFX33 decompressed.
$7E:AD003,072 bytesGFX file decompression buffer. Decompressed as 3bpp (3kb) for unexpanded GFX and as 4bpp for expanded.
Also used for LM's extra animated tile space.
$7EB900 is also used as additional buffer kilobyte.
$7E:B9001,024 bytesBG2 tilemap, low byte.
$7E:BD001,024 bytesBG2 tilemap, high byte. The first seven bytes are used by custom block ASM/ExAnimated Tile GFX.
$7E:C1001,408 bytesEmpty on an unhacked ROM, potentially occupied with extended animated tile graphics in a hacked ROM.
$7EC380-$7EC387 are also used by Mikeyk's SMB3 Pipes:
$7EC380 is Mario's direction (1-up, 2-right, 3-down... (DATA MISSING)
$7EC381 is the counter that increments when Mario is... (DATA MISSING)
$7EC382 is the counter that increments when Mario is... (DATA MISSING)
$7EC383 is the Mario/Yoshi status (1-small, 2-big... (DATA MISSING)
$7EC384 is the target location of corner piece low byte
$7EC385 is the target location of corner piece high byte
$7EC386 is the water level flag
$7EC387 is the time that Mario has entered the pipe
$7E:C68096 bytesTilemap of Mode 7 bosses (Ludwig, Roy, Morton and Bowser).
$7E:C6E0288 bytesEmpty on an unhacked ROM, potentially occupied with extended animated tile graphics in a hacked ROM.
$7E:C80014,336 bytesMap16 Low Byte Table. In the overworld, $7ED000-$7ED3FF is used as a table that contains translevel numbers for the big world map (the one with Donut Plains and Chocolate Island). If you divide the map into 16x16 blocks, then this table connects each block to a level. To interpret the value, see RAM $7E:13BF.
To index this table, use RAM $7E:1F1F and $7E:1F21 to find Mario, or use RAM $7E:1F23 and RAM $7E:1F25 to find Luigi.
X position / 16: %0000 0000 000X xxxx
Y position / 16: %0000 0000 000Y yyyy
index to this table: %0000 00YX yyyy xxxx.
$7ED400-$7ED7FF is used for the submaps as a whole and has the same kind of format.
$7F:00003,328 bytesLayer 2 event tilemap of the overworld.
$7F0B44-$7F1343 are also used as buffer for dynamic sprite graphics (they get uploaded during vblank).
$7F:0D0013,056 bytesEmpty, untouched RAM on a vanilla ROM. Used to hold expanded layer 2 event tilemap on a hacked ROM.
$7F:400016,384 bytesThe Layer 2 tilemap of the whole overworld (including submaps, starting at $7F:6000). It does NOT affect the event tiles. The tiles are also 8x8. The tilemap starts from the top left corner of the main overworld. Format is as following:
[Tile number], [Tile properties]
Part of this table is also used for a RAM buffer for the credit cutscene backgrounds.
$7F:8000387 bytesUnrolled loop which writes to OAM to set all sprite tiles off screen on each frame
$7F:8183504 bytesEmpty, untouched RAM.
$7F:837B2 bytesUsed for indexing the stripe image table
$7F:837D5,118 bytesVRAM upload table (In stripe image). Not all of it is used during normal gameplay, so $7F8600+ shouldn't be dangerous to use.
$7F8601 is used by Schwa's Pseudo Powerups to determine what powerups Mario has, in Binary... (DATA MISSING)
$7F8602 is used by Schwa's Pseudo Powerups to determine if Mario has already used his... (DATA MISSING)
$7F8820 is used by Mikeyk's Ice Power generator
$7F8821 is used by Mikeyk's mushroom block (sprite portion).
$7F8900 (768 bytes) are extra sprite tables used by smwedit's fire chomp, and some by smwedit's chain... (DATA MISSING)
$7F:977B768 bytesMario Start, Game Over, Time Up etc. messages Graphics, decompressed.
$7F:9A7B512 bytesPosition of Wiggler's segments.
$7F:9C7B9,093 bytesEmpty, untouched RAM on a clean ROM.
In a hacked ROM:
$7FAB10 (12 bytes) is used by Sprite Tool... (DATA MISSING)
$7FAB1C (12 bytes) is used by Sprite Tool to indicate whether the sprite being processed uses custom code, maybe for other things?
$7FAB28 (12 bytes) is used by Sprite Tool to indicate the extra property byte 1 from the cfg file
$7FAB34 (12 bytes) is used by Sprite Tool to indicate the extra property byte 2 from the cfg file
$7FAB9E (12 bytes) is used by Sprite Tool to indicate the custom sprite number
$7F:C0002,048 bytesEmpty on an unhacked ROM, used incrementally for Lunar Magic hacks. More space will be used here as more hacks are changed or added to Lunar Magic. Currently $00A bytes are used, more data will used and this RAM entry will be updated as such.
$7F:C80014,336 bytesMap16 High Byte Table in a clean ROM.
In a hacked ROM, the following are also placed here:
$7FFF00 (32 bytes) is used for LevelNames 2.0 by Ice Man
$7FFFDF (10 bytes) is used by BMF's LevelNames code
$7FFFF0 (10 bytes) is used by FuSoYa's SMB3 Pipe Code.
$7FFFF0 (4 bytes) is used by BMF's LevelASM code
$7FFFF8 (8 bytes) is used by LM demo recording/playing ASM