Banner
Views: 771,637,842
Time:
19 users online: chickaDEE Magazine, Claus06, Cullenary, Dark Prince,  Deakula, Diego Kaizo, Drakel,  Hobz,  idol, izaguirrefermin28,  Khastvrokg,  Pinci,  randomdude999, ReaLifePlumber, sio-kedelic, SpriteLite, StrikeForcer, Tenry92, Unknown User - Guests: 73 - Bots: 178Users: 40,535 (1,861 active)
Latest: Claus06
Tip: Always check for updated files in the database by sorting them by "Date" in the various sections.Not logged in.
SMW Memory Map
Displaying 100 out of 824 addresses. Show Waiting Addresses (1)
Filter
Link
Address
Hexadecimal number for a partial address. 6-digit number for a full address. Use - to denote a range. Use , to list more than one address.
Length
Type
Enable JavaScript to use multiple regions.
Region
Hold control to select multiple. Check "All" to select all at once.

Type
Description
Separate each individual keyword with spaces. Surround a phrase with quotes to look for the exact phrase, or with / to use a PCRE regular expression. Prepend with - to exclude a keyword or phrase, with + to require a whole word or phrase, or with -+ to exclude a whole word or phrase. ? matches any character, * matches any amount of characters.
 
Pages: « 1 2 3 4 5 6 7 8 9 » Per Page: 25 50 75 100 150 500 All
RAM Address Length Type Description Details
$7E1480 1 byte Sprites Width between the top left window ($7E:1472) and the bottom left window ($7E:1476) of the spotlight. This value is always positive, and its sign flag is saved at $7E:1484.
$7E1481 1 byte Sprites Width between the top right window ($7E:1474) and the bottom right window ($7E:1478) of the spotlight. This value is always positive, and its sign flag is saved at $7E:1485.
$7E1482 1 byte Flag Used as a flag in the spotlight code to skip initialization of the top left, top right, bottom left, and bottom right RAM addresses.
#$00 = Run initialization; #$01 = Do not run initialization.
$7E1483 1 byte Sprites Used as a flag for the current direction the spotlight is moving. #$00 = spotlight is moving right; #$01 = spotlight is moving left.
$7E1484 1 byte Sprites A flag used in the spotlight code to determine which side of the top left window border the bottom left window border is on.
#$00 = bottom left is more to the left; #$01 = bottom left is on the same position, or more to the right.
$7E1485 1 byte Sprites A flag used in the spotlight code to determine which side of the top right window border the bottom right window border is on.
#$00 = bottom right is more to the left; #$01 = bottom right is on the same position, or more to the right.
$7E1486 1 byte Sprites Unused, set to #$01 in the dark room spotlight sprite. Change $03:C544 to EA EA EA (NOP #3) to change this into free RAM. If that patch is performed, this address is safe for other uses. Cleared on reset, titlescreen load, overworld load and cutscene load.
$7E1487 4 bytes Empty Empty. Cleared on reset, titlescreen load and overworld load.
$7E148B 2 bytes Misc. Used by random number generation subroutine to determine the next output.
Do not use these if you want a random number. Use $7E:148D instead.
$7E148D 2 bytes Misc. Output of random number generation routine, located at $01:ACF9.
$7E148F 1 byte Player Flag used to detect if the player is holding an object (throw block, key, shell, etc.) Also adjusts the player image, different from $7E:1470. This address does store its value to $7E:1470.
If the player is carrying something, this address should usually (not always, regarding the glitch) prevent the player from holding a second item.
#$00 = Carrying nothing; #$01 = carrying something.
$7E1490 1 byte Timer Star power timer. Decrements every fourth frame, except when lock flag ($9D) AND while the freezable frame counter ($14) has a value divisible by 4, will decrement each frame (assuming it's a glitch). The music will revert when this timer reaches #$1E.
$7E1491 1 byte Sprites Amount 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 $7E:1491 with the movement on the X axis in this address. Very often used for rideable sprites as this address can be added to the player position to move the player in tandem with the sprite.
$7E1492 1 byte Timer Player peace image timer.
$7E1493 1 byte Timer End level timer. Setting to #$FF will end the level as a goal sphere / boss fight. Peace sign is shown here when the timer hits #$28. The switches (yellow, green, red and blue) set it to #$08.
$7E1494 1 byte Palettes Direction of the color fading at level end. Only the highest bit is ever read.
#$00 = getting darker; #$80 = getting brighter.
$7E1495 1 byte Timer Timer that controls fading and the level end scorecard. Increments and stops when it hits #$40. While it's ticking, the colors will fade; when it's done, $7E:003A through $7E:003D won't be read and the Layer 3 scrolling will be locked.
$7E1496 1 byte Timer Player animation timer. This controls a lot of things such as the walking/running animation rate, how long the death animation should last, how long to stay invisible for after getting the cape, the alternating player images when the player is walking over slippery surfaces, etc.
$7E1497 1 byte Timer Flashing invulnerability timer - not to be confused with the star timer. This is activated when the player gets hurt. Controls both interaction (player should not interact with sprites again) as well as the blinking graphics.
$7E1498 1 byte Timer Time to show player picking an item/object up pose.
$7E1499 1 byte Timer Time for player to face the screen.
$7E149A 1 byte Timer Time to show player kicking something pose.
$7E149B 1 byte Timer Time for the player to change through palettes, as if he got a fire flower. Only ticks when the "get flower" animation is active, and is just a flag otherwise.
$7E149C 1 byte Timer Time to show player shooting a fireball pose.
$7E149D 1 byte Timer Side flipping climbing net sprite flag and timer. Whenever you punch the flipping net, this gets set to #$1E and decrements every frame till it's zero. That's how many frames the spinning animation lasts. It also determines the X speed the player has while he's on the climbing net sprite - this means that it should be decremented every frame in order to avoid issues.
$7E149E 1 byte Timer Player punches while climbing on a net flag and timer. Every time you punch a net this is set to #$08 and decremented till it's zero again. During the time it's not zero, the frame is displayed that shows the player punching the net. If you store #$08 or greater to it every frame you'll be hold onto the net without being able to move or get off.
When this RAM address is non-zero, the player can also not move.
$7E149F 1 byte Timer This timer controls the time until the player gets into gliding/sinking mode after he has jumped into the air with a cape. Is set to #$50 the moment you get airborne, and decrements every frame afterwards. The ability of raising any further stops at #$00.

Note that this doesn't reset when going into another sublevel, allowing the player to "carry over" flying if the player is spawn in midair (or jump immediately when placed on ground) and maintains holding dash.
$7E14A0 1 byte Timer How long the running frames should be shown after the player launches off with the cape. Is #$10 by default and decrements each frame.
$7E14A1 1 byte Timer Player slides a bit when turning around timer. Most notably used with very steep slopes. If this is non-zero, $7E:13DD's image (#$0D) won't be shown.
$7E14A2 1 byte Timer Used as a timer for the cape animation. This is what makes the cape wave when the player walks and what makes the cape fall when he stops.
$7E14A3 1 byte Timer A timer for Yoshi's tongue stretching out.
#$12 = Yoshi about to stretch out tongue (timer starts here), player pose #$27.
#$10 = $7E:18AE is set to #$06.
#$0C = Player now gets a different pose, #$28.
#$00 = Player now gets a different pose, #$20 (or #$21 if turning around, $7E:187A is used to determine that).
$7E14A4 1 byte Timer Time until the player advances a diving stage, while flying and holding forward, and time until the player pulls back up a stage, while flying and holding backward.
$7E14A5 1 byte Timer Timer for how long you keep floating after releasing B when floating with the cape.
$7E14A6 1 byte Player Cape spin timer.
$7E14A7 1 byte Timer Timer for breaking the bridge in Reznor battles. It is set to #$40 and decrements each frame. When it reaches #$3C, a tile on each side breaks. When it drops to #$00, a sound is played and it's reset to #$40 again.
$7E14A8 3 bytes Misc. Unused. $7E:14A8 decrements every frame automatically until it reaches zero, while $7E:14A9 and $7E:14AA decrement every fourth frame. $7E:14A9 is cleared when the player ground pounds with the cape (this can be prevented by setting $02:94C6 to NOP #3 or [EA EA EA]), and $7E:14AA is set to #$40 when Yoshi grabs the wings (this can be stopped by setting $01:F6CF to NOP #3 or [EA EA EA]).
$7E14AB 1 byte Timer Bonus 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.
$7E14AC 1 byte Empty Empty. However, due to the code at $00:C563 and $00:C513, it decrements every fourth frame until it hits zero.
$7E14AD 1 byte Timer Blue P-Switch timer. Decrements every fourth frame. The P-switch running out sound is played when this hits #$1E.
$7E14AE 1 byte Timer Silver P-Switch timer. Decrements every fourth frame. The P-switch running out sound is played when this hits #$1E.
$7E14AF 1 byte Flag On/Off Switch value. #$00 is ON and all others (non-zero, i.e. #$01-#$FF) are OFF.
$7E14B0 2 bytes Misc. Used for multiple purposes.

The 16-bit address forms the center X position of the brown chained platform that is currently processed. The formula for this address = $7E:14B4 - $7E:14BC.

Additionally, the Lakitu cloud graphics routine uses $7E:14B0 as scratch RAM for the X position of a tile.

$7E:14B0 is furthermore used in the Bowser battle as a timer between his various attacks. Set to #$78 at the beginning, and between attacks afterwards it is set to #$54 each time.
Note that, whether he throws the Mechakoopas or not, does not only depend on this address!

And finally, $7E:14B1 is a timer that is set to #$FF when Bowser begins with the Mechakoopa attack. Note that the Mechakoopas are thrown when this timer is at #$80.
$7E14B2 2 bytes Misc. Used for multiple purposes.

The 16-bit address forms the center Y position of the brown chained platform that is currently processed. Note that, since the radius based on the sprite Y position is always zero, this holds the same value as $7E:14B6. The formula for this address = $7E:14B6 - $7E:14BF.

Additionally, the Lakitu cloud graphics routine uses $7E:14B2 as scratch RAM for the Y position of a tile.

$7E:14B2 is also a flag for scaling when Bowser is flying away. #$00 = shrinking; #$01 = growing; #$02 = disappear.

And finally, $7E:14B3 is an incrementing index to the Y position for the teardrop tile that appears on the Clown Car when Bowser is hurt.
$7E14B4 2 bytes Misc. Used for multiple purposes.

The 16-bit address is the X position of the brown chained platform sprite at cos a = 1. It is in fact a mirror of the sprite X position, which always stays the same. By subtracting the horizontal radius ($7E:14BC) from this address, the center position to revolve around is calculated.

The 16-bit address is also used to determine Iggy/Larry interactive X position, as well as the player's fireball X position during this boss battle.

$7E:14B4 is used in the Bowser battle as an index to what music should be played in phase 2 and 3. It only appears to have these values after written to:
#$07 = Use track #$19.
#$08 = Use track #$1A.
Both tracks are identical. Perhaps this seperation was intended to be used so that a different track played on each phase.

And finally, $7E:14B5 is a timer for Bowser's hurt state. If non-zero, Bowser will show his hurt pose.
$7E14B6 2 bytes Sprites Used for multiple purposes.

The 16-bit address is the Y position of the brown chained platform sprite at sin a = 0. It is in fact a mirror of the sprite Y position, which always stays the same. By subtracting the horizontal radius ($7E:14BF) from this address, the center position to revolve around is calculated. Since $7E:14BF is always zero, the center position and this address always have the same identical value.

The 16-bit address is also used to determine Iggy/Larry interactive Y position, as well as the player's fireball Y position during this boss battle.

$7E:14B6 is also a timer that is set to #$FF when Bowser begins with the Big Steelie attack. Note that the Big Steelie is thrown when this timer is at #$80.

And finally, $7E:14B7 holds the X position of each new fireball that falls from the sky in the Bowser battle, as well as the index to the sound effects that are generated with them (table at $03:A841).
$7E14B8 2 bytes Misc. Used for multiple purposes.

The 16-bit address is the X position of the first (outermost) chain tile of the brown chained platform currently being processed. This address is responsible for the actual movement of the platform and interaction with the player.

$7E:14B8 itself seems to form a buffer for the X position of Iggy/Larry during that boss battle, much similar to $7E:14B4.

Lastly, $7E:14B8 is an attack counter used in the second phase of the Bowser battle to determine if Bowser should throw Mechakoopas or Big Steelies. It increments on every throw, on #$02 Mechakoopas are thrown, and on #$03 it resets to #$00.
$7E14BA 2 bytes Sprites Used for multiple purposes.

The 16-bit address is the Y position of the first (outermost) chain tile of the brown chained platform currently being processed. This address is responsible for the actual movement of the platform and interaction with the player.

$7E:14BA itself seems to form a buffer for the Y position of Iggy/Larry during that boss battle, much similar to $7E:14B6.
$7E14BC 2 bytes Sprites Radius of the rotating brown platform, by default this value is #$50 (found at $01:CACC). This value is subtracted from $7E:14B4 and stored into $7E:14B0.
In SMW however, the value is always #$50. Additionally, the high byte is always #$00.

Note that this radius depends on sprite X position (which stays the same). It calculates the center position of the imaginary circle you rotate around from that position.
The further you increment the radius, the further you will have to move the sprite to the right in order for the center position to be the same.

See also $7E:14BF.
$7E14BE 1 byte Empty Empty. Cleared on reset, titlescreen load, overworld load and cutscene load.
$7E14BF 2 bytes Sprites Another type of radius that would rely on the brown chained platform's Y position, except that it's always #$0000, and thus effectively it does nothing. Subtracted from $7E:14B6 and stored into $7E:14B2. See also $7E:14BC.
$7E14C1 1 byte Empty Empty. Cleared on reset, titlescreen, overworld and cutscene load.
$7E14C2 2 bytes Sprites Used to hold the sine value of the brown rotating platform. Note that the range of this is always #$0000-#$0100. XOR isn't applied to this value when it is negative.
$7E14C4 1 byte Empty Empty. Cleared on reset, titlescreen, overworld and cutscene load.
$7E14C5 2 bytes Sprites Used to hold the cosine value of the brown rotating platform. Note that the range of this is always #$0000-#$0100. XOR isn't applied to this value when it is negative.
$7E14C7 1 byte Empty Empty. Cleared on reset, titlescreen, overworld and cutscene load.
$7E14C8 12 bytes Sprites Sprite status table:

#$00 = Free slot, non-existent sprite.
#$01 = Initial phase of sprite.
#$02 = Killed, falling off screen.
#$03 = Smushed. Rex and shell-less Koopas can be in this state.
#$04 = Killed with a spinjump.
#$05 = Burning in lava; sinking in mud.
#$06 = Turn into coin at level end.
#$07 = Stay in Yoshi's mouth.
#$08 = Normal routine.
#$09 = Stationary / Carryable.
#$0A = Kicked.
#$0B = Carried.
#$0C = Powerup from being carried past goaltape.

States 08 and above are considered alive; sprites in other states are dead and should not be interacted with.
$7E14D4 12 bytes Sprites Sprite Y position, high byte.
$7E14E0 12 bytes Sprites Sprite X position, high byte.
$7E14EC 12 bytes Sprites Accumulating fraction bits for fixed point sprite Y speed.
$7E14F8 12 bytes Sprites Accumulating fraction bits for fixed point sprite X speed.
$7E1504 12 bytes Sprites Miscellaneous sprite table. In the original game, it's only used in the revolving brown platform and nowhere else. More information can be found here.
$7E1510 12 bytes Sprites Miscellaneous sprite table. In the original game, it's only used in the revolving brown platform and nowhere else. Unlike $1504 (and every other sprite table), it is also not cleared by the sprite table initialization routine. More information can be found here.
$7E151C 12 bytes Sprites Miscellaneous sprite table. In SMW, it's used for vertical directions, and Yoshi uses it to determine which sprite to spawn out of an egg.
$7E:1520-$7E: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. More information can be found here.
$7E1528 12 bytes Sprites Miscellaneous sprite table. In SMW, it's used for Chargin' Chuck HP, Thwomp's face expression, etc. More information can be found here.
$7E1534 12 bytes Sprites Miscellaneous sprite table.
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 1-Up mushroom and the coin sprite, 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 that it might prevent the spawning of other common sprites.
Other than that, this address has many different purposes. More information can be found here.
$7E1540 12 bytes Sprites Miscellaneous sprite table. Table decrements itself once per frame, except for carryable sprites, where it decrements every second frame.
Various 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 spinjump death frame counter - that is, how long to show the "spinjumped" image when the sprite is killed by a jump of such sorts. More information can be found here.
$7E154C 12 bytes Sprites Miscellaneous sprite table. Used as a timer to disable sprite contact with the player. Table decrements itself once per frame. More information can be found here.
$7E1558 12 bytes Sprites Miscellaneous sprite table. Used as a timer for how long a sprite is sinking in lava/mud. Table decrements itself once per frame. More information can be found here.
$7E1564 12 bytes Sprites Miscellaneous sprite table. Used as a timer to disable sprite contact with other sprites. Table decrements itself once per frame. More information can be found here.
$7E1570 12 bytes Sprites Miscellaneous sprite table. 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. More information can be found here.
$7E157C 12 bytes Sprites Miscellaneous sprite table. It's most often used as a horizontal sprite direction table. #$00 = Right; #$01 = Left. More information can be found here.
$7E1588 12 bytes Sprites Sprite blocked status table. Format: asb?udlr.
a = touching Layer 2 from above.
s = touching Layer 2 from the side.
b = touching Layer 2 from below.
? = unknown, probably unused.
u = up.
d = down.
l = left.
r = right.
$7E1594 12 bytes Sprites Miscellaneous sprite table. In classic Piranha Plants, it is used to check if the sprite should be made visible and have interaction with the player. If it's any non-zero value, that Piranha Plant will become invisible. More information can be found here.
$7E15A0 12 bytes Sprites Sprite off screen flag table, horizontal.
$7E15AC 12 bytes Sprites Miscellaneous sprite table. It's often used as a timer to determine how long it takes to turn around. Table decrements itself once per frame. More information can be found here.
$7E15B8 12 bytes Sprites Determines what kind of slope a sprite is on. Possible values:
#$FC = very steep slope left.
#$FD = steep slope left.
#$FE = normal slope left.
#$FF = gradual slope left.
#$00 = flat ground (or in the air).
#$01 = gradual slope right.
#$02 = normal slope right.
#$03 = steep slope right.
#$04 = very steep slope right.
$7E15C4 12 bytes Sprites Flag set if a sprite is more than 4 tiles horizontally offscreen. Used by a few large sprites (e.g. turnblock bridges and chained platforms) to determine whether to draw any of the sprite at all.
$7E15D0 12 bytes Sprites Flag for whether the sprite is on Yoshi's tongue. #$00 = No; #$01 = Yes.
$7E15DC 12 bytes Sprites Flag to disable sprite interaction with objects. Ghost house ledge holes store their sprite index (plus one) to this to make sprites fall through the ground, but any non-zero value will work.
$7E15E8 1 byte Empty Empty. Cleared on reset, titlescreen load and overworld load.
$7E15E9 1 byte Sprites Sprite index for the current sprite that is being processed.
$7E15EA 12 bytes Sprites Sprite index to the OAM table.
$7E15F6 12 bytes Sprites Sprite YXPPCCCT table. Many sprites use it in their graphics routines.
$7E1602 12 bytes Sprites Miscellaneous sprite table. Often used as graphics pointer. More information can be found here.
$7E160E 12 bytes Sprites Miscellaneous sprite table. 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. More information can be found here.
$7E161A 12 bytes Sprites Sprite index to the load status table (see $7E1938). $FF means the sprite won't be reloaded.
$7E1626 12 bytes Sprites Miscellaneous sprite table. Consecutive enemies killed by a sprite table. Each byte is how many sprites that particular sprite has killed. In SMW, this applies to sprites that can be thrown, such as Koopa shells. More information can be found here.
$7E1632 12 bytes Sprites "Sprite is behind scenery" flag. Used by, among others, the net Koopas.
$7E163E 12 bytes Sprites Miscellaneous sprite table. Table decrements once per frame. In SMW, it's used as e.g. a timer that, when it's zero, makes Ludwig face the player, while he's spitting fireballs. More information can be found here.
$7E164A 12 bytes Sprites Sprite is in liquid indicator table. #$00 = Sprite not in liquid; #$01 = Sprite in water; #$80 = Sprite in lava.

Also used in the Morton/Roy battle as an indicator that the walls have to close in, and in Bowser's fight to indicate the music after Bowser is defeated has already started.
$7E1656 12 bytes Sprites Sprite 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 (false = player gets hurt if he jumps on the sprite, but can bounce off with a spin jump)
cccc=Object clipping
$7E1662 12 bytes Sprites Sprite properties, second Tweaker/MWR byte.
Format: dscccccc
d=Falls straight down when killed
s=Use shell as death frame
cccccc=Sprite clipping
$7E166E 12 bytes Sprites Sprite properties, third Tweaker/MWR byte.
Format: lwcfpppg
l=Don't interact with layer 2 (or layer 3 tides)
w=Disable water splash
c=Disable cape killing
f=Disable fireball killing
ppp=Palette
g=Use second graphics page
$7E167A 12 bytes Sprites Sprite properties, fourth Tweaker/MWR byte.
Format: dpmksPiS
d=Don't use default interaction with player
p=Gives power-up when eaten by Yoshi
m=Process interaction with player 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
$7E1686 12 bytes Sprites Sprite 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
$7E1692 1 byte Sprites Sprite memory setting from header.
$7E1693 1 byte Blocks For the regular tiles in SMW, this holds the low byte of the Map16 number (Y contains the high byte). Within custom block code, this contains the low byte of the "acts like"/"act as" setting, Y has the high byte, and $03-$04 contain the actual Map16 number. This gets its value from a pointer to the Map16 tile table at $7E:C800 (Y gets its value from $7F:C800).
$7E1694 1 byte Blocks How many pixels the sprite should move down from the nearest 16x16 tile. Originally, its data comes from the table at $00:E632.
$7E1695 1 byte Misc. Used most often in tracking the second sprite being checked in various interaction routines, for example the second sprite's index in the sprite contact routine. It also serves a use during checking when a sprite is entering/exiting water.
$7E1696 1 byte Empty Empty. Cleared on reset, titlescreen load, overworld load, cutscene load and level load.
Pages: « 1 2 3 4 5 6 7 8 9 » Per Page: 25 50 75 100 150 500 All

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2019 - SMW Central
Legal Information - Privacy Policy - Link To Us


Total queries: 9

Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Talkhaus
  • SMBX Community
  • GTx0
  • Super Luigi Bros
  • ROMhacking.net
  • MFGG
  • Gaming Reinvented