Banner
Views: 852,781,215
Time:
13 users online: AmperSam, chickaDEE Magazine,  Dode, dogemaster, elusive, Epic_Manky, Infinity,  JamesD28, MellowYouth,  Sinc-X, Truxton, wesarg, Zandro - Guests: 99 - Bots: 59 Users: 47,027 (2,523 active)
Latest: wesarg
Tip: A power-up is most useful to a player shortly after the midway point.Not logged in.
SMW Memory Map
Displaying 150 out of 3053 addresses. Show Waiting Addresses (3)
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 720 21 » Per Page: 25 50 75 100 150 500 All
ROM Address Length Type Description Details
$018357 1 byte Misc. Initial Y speed of diagonally moving sprites, i.e. stream of boo buddies and reflecting fireball (F0).
$01836A 1 byte ASM Change to EA to make both wooden spikes move up or down depending on X&1 instead of sprite AC always moving down first.
$018391 1 byte Sound effect SFX played by the Banzai Bill
$0183A0 4 bytes Sprite number Sprites inside exploding turn block (Fish, Goomba, Shelless Green Koopa, Green Koopa)
$0183DB 1 byte Timer Length of time before sprite #19's message box appears (don't set lower than 04)
$018455 1 byte Misc. How many types of P-Switches to allow, minus one
$018466 2 bytes Palette Colours of P-Switches (Blue, Silver)
$0184A5 1 byte Sprite number Sprite spawned by killing Lakitu with cape or fireball (Lakitu Cloud)
$0184C6 4 bytes ASM Change to EA EA EA EA to make lakitu cloud never get spawned
$0184E4 1 byte Sprite Misc. [10] Timer to send Bullet Bills behind objects, set on spawn.
$01854C 1 byte Misc. How many segments Pokey has when Mario is riding Yoshi. The amount of segments depends on these bits:
---x xxxx. If any of the x bits are set, a segment will be added. If none is set, the sprite won't appear. If any of the - bits is set, the sprite won't appear.
$018553 1 byte Misc. How many segments Pokey has when Mario isn't riding Yoshi. The amount of segments depends on these bits:
---x xxxx. If any of the x bits are set, a segment will be added. If none is set, the sprite won't appear. If any of the - bits is set, the sprite won't appear.
$01857A 8 bytes Sprite subroutine (JSR) Face Mario subroutine, usually used by sprites to initially face Mario's direction.
$0185CC 402 bytes Pointer Pointers to sprite main routines. These are called based on the sprite number ($9E,x). Valid values are 00-C8; sprites C9 and above are considered different types of sprites and handled by other routines.
$018763 38 bytes Sprite subroutine (JSR) Goal point sphere/boss killed code.

- $018778: if you change this to [20 23 CD] and change $01CD23 to [9E C8 14 CE C6 13 60], it will prevent the player from walking after touching a goal sphere in a horizontal level.
- $018784: it controls which music is played when it's collected.
$018890 3 bytes Subroutine (JSR) Initialization routine for sprite 52 (moving ledge hole in ghost house) that simply decrements the low byte of its Y position.
Lunar Magic v2.53+ renders this routine unused by changing the initialization routine to $0185B7 instead. This is done in order to fix the glitch where placing the hole at the top of a subscreen causes its position to wrap around to the bottom of the subscreen.
$018898 84 bytes Sprite subroutine (JSR) Subroutine that makes Yellow Koopas jump over shells.
$0188E5 is the Y speed they get when jumping ($C0).
$0188EC 4 bytes Sprite Misc. Standard X speeds for sprites 00-13. The first two bytes are used when the "move faster" bit at $0188F0 is clear for the sprite, while the second two are used when it's set.
$0188F0 20 bytes Sprite Misc. Various properties for sprites 00-13. Format: ak--jfls.
a = animate twice as fast in air
k = use 32x16 tilemap (also draws wings on sprites 08+)
-- = unknown/unused
j = jump over thrown shells
f = follow Mario
l = stay on ledges
s = move faster (use $0188EE for X speeds instead of $0188EC)
$0189ED 1 byte Sprite tilemap related Tilemap of blue shell less koopa sliding out of shell
$018AED 1 byte Sprite Misc. Change from D0 to 80 to make bob-ombs not stun themselves then explode on their own, like SMB3 and other games.
$018AF5 1 byte Timer How quickly Bob-omb explodes
$018BCD 1 byte Misc. What animation frame most regular sprites use when turning around
$018C0D 1 byte Sprite number Sprite number to start adding wings to 2-tile high sprites
$018C31 1 byte Sprite number Sprite that Spiny Egg turns into after touching the ground
$018CD7 1 byte Misc. Time it takes for a Red Vertical Parakoopa to turn around after reaching it's maximum/mimimum Y speed. (08)
$018DA2 1 byte Sprite physics Winged Goomba jump height (between 80-FF).
$018DC7 16 bytes Sprite tilemap related Goomba Wing alignment, X position. First 8 bytes are for the alignment when the goomba's hopping left, the other 8 when he's hopping into the right direction.
$018DDF 2 bytes Sprite tilemap related Palette/GFX page/Priority/Flip of Goomba Wing Tiles
$018DE1 4 bytes Sprite tilemap related Sprite tilemap: Goomba Wings
$018DE5 4 bytes Sprite tilemap related Size of Goomba Wing tiles
$018E6E 4 bytes Misc. Speed of piranha plant (in pipe, going up, staying up, going down).
$018E93 1 byte Sprite Misc. YXPPCCCT properties of the stem of sprite 2A, the upside-down piranha plant. Change to $0A to make it use the first graphics page.
$018ECE 1 byte Misc. Replace D0 with 80 to make the classic and upsidedown piranha plants keep coming out of the pipe even if Mario is near or on top of the sprite.
$018F8D 1 byte Sprite number Object Hopping Flame leaves behind
$018FC7 8 bytes Sprite tilemap related Bullet Bill properties, YXPPCCCT.
- First byte: Right flying bullet bill
- Second byte: Left flying bullet bill
- Third byte: Vertically upwards flying bullet bill
- Fourth byte: Vertically downwards flying bullet bill
- Fifth byte: Diagonally flying bullet bill, lower left
- Sixth byte: Diagonally flying bullet bill, upper left
- Seventh byte: Diagonally flying bullet bill, upper right
- Eighth byte: Diagonally flying bullet bill, lower right
$018FCF 8 bytes Sprite tilemap related Which GFX frame to use (00 = regular bill, 01 = vertical bill, 02 = diagonal bill) for the Bullet Bills. Same order as x91C7.
$018FD7 8 bytes Sprite physics X speed of Bullet Bills. Same order as $018FC7.
$018FDF 8 bytes Sprite physics Y speed of Bullet Bills. Same order as $018FC7.
$0190B2 8 bytes Sprite subroutine (JSL) SMW's third shared subroutine for drawing sprites. This one draws a single 16x16 tile.
It can be used by custom sprites, although you'll have to set the correct tile number in OAM afterwards (see the example code).
Example
$0190BA 122 bytes Sprite physics Positions of each of the 4 object collision points for each sprite hitbox, relative to the sprite's XY position ($E4/$14E0 and $D8/$14D4). Consists of two 61-byte tables for each of the X and Y positions:
  • $0190BA-$0190F6: X positions
  • $0190F7-$019133: Y positions
Each byte indexed by %00ccccpp:
  • cccc: Which hitbox to use; retrieved from the low nybble of $1656.
  • pp: Which of the 4 collision points to use:
    • 00 = Right
    • 01 = Left
    • 10 = Bottom
    • 11 = Top
$019138 8 bytes Sprite subroutine (JSL) JSL for sprites interacting with objects. Actually calls routine at $019140.

During processing GPS blocks:
  • $0A-$0D: Position (in pixels) of the collision point currently being processed for sprite interaction with blocks in the level:
    • $0A-$0B (2 bytes): X position
    • $0C-$0D (2 bytes): Y position

    Note, just like $98-9B, coordinates are respective to the top-left of the layer currently being processed. Hence, if Layer 1 and Layer 2 are offset from each other, this value will differ between the two, even when the sprite is at the same position with respect to the level.
  • $0F (1 byte): Index of one of the 4 collision points currently in use. Also used to eject sprite out of block horizontally:
    • #$00 = SpriteV: Right (touches blocks from left)
    • #$01 = SpriteV: Left (touches blocks from right)
    • #$02 = SpriteH: Down (touches blocks from above)
    • #$03 = SpriteH: Up (touches blocks from below)

    Be careful when using custom blocks, $0F remains used before and after custom block processing at $019533. If $0F is modified and not restored, sprite interaction glitches can occur.
$019211 115 bytes Subroutine (JSR) Sprite buoyancy routine. Called from the object interaction routine and handles collision points.

Change $01927F from $13 to $14 to fix an exploit that freezing (setting $9D or pausing the game) can be used to manipulate wall-embedded sprites (with an Xspeed of $00) to move in a desired direction (left and right), see here at 1:40 for an example.
$0192C5 2 bytes Misc. [$01 $FF] Speed (right, left) given by conveyors (tiles 10C/10D) to sprites standing on them.
$0193EF 22 bytes Sprite subroutine (JSR) The code that makes sprites move if placed on conveyor belts.
$0195A5 1 byte Sprite physics Change this value to $00 to fix a small glitch with carryable sprites where throwing the sprite upwards at a hittable block will occasionally cause it to hit the block without actually activating it (due to registering both the bottom of the block and the side of another block at the same time).
$0195FC 32 bytes Empty Unused data.
$01961C 8 bytes Sprite number Sprites spawned by stomping Koopa Troopas (shelless Koopas)
$01962A 49 bytes ASM Code that handles the Bob-omb flashing and exploding. Change $019630 from 1D to 1C to disable the flashing entirely.
$019632 1 byte Sound effect Bob-omb's explosion SFX
$01963C 1 byte Timer Length of Bob-omb's explosion
$019654 1 byte Sprite Misc. Bob-omb Flashing Cycle

00-Palette 06
02-Palettes 04,06
04-Palettes 02,06
06-Palettes 00,04,06
08-Palettes 06,0E
0A-Palettes 04,06,0C,0E
0C-Palettes 02,06,0A,0E
0E-All Palettes
$019688 1 byte Misc. Which shell colour makes a shelless Koopa become invincible (00=Green; 01=Red; 02=Blue; 03=Yellow)
$0196C6 1 byte ASM Change from 1A to 04 to prevent shelless Koopas from hopping out of stunned shells (Use with $01AA15)
$019768 1 byte Sprite number [07] Which of the four Koopas generates a coin when stomped. Valid values are 04 (green), 05 (red), 06 (blue), and 07 (yellow). All others will make the coin never appear.
Alternatively, you can change the next two bytes ([D0 0A]) to [EA EA] to make all (shelled) Koopas spawn coins.
$01977C 1 byte Sprite number Sprite that's spawned when a Yellow Koopa is stomped (Coin)
$019807 1 byte Misc. Default animation frame to use for the shell
$01980E 1 byte Misc. Animation frame to use for the shell when Mario is turning around while holding it
$01983F 1 byte Timer Timing that enemies in a stunned state begin to shake
$019851 1 byte Sprite tilemap related Change to #$80 to prevent koopas eyes blinking while inside the shell.
$019881 1 byte Sprite tilemap related Koopa eye tiles when in shell (open)
$019889 1 byte Sprite tilemap related Koopa eye tiles when in shell (closed)
$0198A7 2 bytes Sprite physics [$E0 $20] X speed (left, right) to give Disco Shells when bumping into a wall.
$0198C7 1 byte Sprite physics ($20) Maximum right speed of Disco Shells.
$0198D1 1 byte Sprite physics ($E0) Maximum left speed of Disco Shells.
$019913 8 bytes ASM Start of sprite being kicked routine.
$019972 1 byte Sprite physics Y speed of kicked Koopa shells and throw blocks when they hit the ground.
Change from 10 to 0C to make shells always glide over one-tile-wide holes, or 14 to make them always fall in.
$01999F 1 byte Sound effect Hitting block with shell sound
$019A22 4 bytes Misc. Animation frame assignments for the shell
$019A26 4 bytes Misc. Flip of each animation frame
$019A34 1 byte Misc. How many animation frames the spinning shell has, -1
$019A93 1 byte Sprite physics Change to 02 to fix a small glitch where sprites can slide through solid blocks while sinking in lava if they're moving to the left.
$019AA2 66 bytes Sprite subroutine (JSR) Routine for sprites in state 02 (killed and falling offscreen). It's also shared by the routine for sprites killed in lava.
$019B0B 1 byte Sprite tilemap related Tile used by squished Dino Torch
$019B83 6 bytes Sprite tilemap related Standard Sprite Tile Table: Koopa tilemap
$019B89 3 bytes Sprite tilemap related Standard Sprite Tile Table: Koopa shell tilemap
$019B8C 7 bytes Sprite tilemap related Standard Sprite Tile Table: Shelless koopa tilemap (Fourth byte unused?)
$019B93 7 bytes Sprite tilemap related Standard Sprite Tile Table: Blue shelless koopa tilemap (Fourth byte unused?)
$019B9A 14 bytes Sprite tilemap related Standard Sprite Tile Table: Para-goomba tilemap
$019BA8 4 bytes Sprite tilemap related Standard Sprite Tile Table: Goomba tilemap
$019BAC 14 bytes Sprite tilemap related Standard Sprite Tile Table: Para-bomb tilemap
$019BBA 3 bytes Sprite tilemap related Standard Sprite Tile Table: Bob-omb tilemap
$019BBD 12 bytes Sprite tilemap related Standard Sprite Tile Table: Piranha plant tilemap
$019BC9 1 byte Sprite tilemap related Standard Sprite Tile Table: Football tilemap
$019BCA 4 bytes Sprite tilemap related Standard Sprite Tile Table: Bullet Bill tilemap (Horizontal, Vertical, Diagonal, Diagonal)
$019BCE 3 bytes Sprite tilemap related Standard Sprite Tile Table: Spiny tilemap
$019BD1 8 bytes Sprite tilemap related Standard Sprite Tile Table: Spiny egg tilemap
$019BDD 3 bytes Sprite tilemap related Standard Sprite Tile Table: Buzzy Beetle
$019BE3 3 bytes Sprite tilemap related Standard Sprite Tile Table: Buzzy Beetle Shell.
$019BE6 6 bytes Sprite tilemap related Spike Top tilemap
$019BEC 2 bytes Sprite tilemap related Hopping Flame tilemap
$019BEE 6 bytes Sprite tilemap related Lakitu tilemap (3 frames, 2 bytes each)
$019BF6 12 bytes Sprite tilemap related Magikoopa Tilemap
$019C02 1 byte Sprite tilemap related Throw block sprite tilemap and turn block sprite with hidden enemies inside. (Both use the same byte)
$019C03 10 bytes Sprite tilemap related Climbing Koopa Tilemap
$019C0D 4 bytes Sprite tilemap related Fish (Cheep Cheep) Tilemap (2 frames swimming, 2 frames flopping)
$019C13 4 bytes Sprite tilemap related Thwimp Tilemap
$019C17 1 byte Sprite tilemap related Yoshi Egg Tilemap (only manifests if the Yoshi egg is in the stunned status ($14C8 = #$09), i.e. found in a block or laid by Yoshi; otherwise, the tile loaded from this address is overwritten before drawing).

Change alongside $01F760 - $01F763 and $01F794 to completely remap the Yoshi egg tiles.
$019C1D 12 bytes Sprite tilemap related Portable Springboard Tilemap
$019C2D 4 bytes Sprite tilemap related Bony Beetle tilemap
$019C35 16 bytes Sprite tilemap related Vertical Fireball (Podoboo) tilemap.
$019C5A 2 bytes Sprite tilemap related Eerie tilemap
$019C5C 9 bytes Sprite tilemap related Boo Ghost Tilemap
$019C65 4 bytes Sprite tilemap related Rip Van Fish Tilemap
$019C69 2 bytes Sprite tilemap related Vertical Dolphin Tilemap
$019C6B 2 bytes Sprite tilemap related Diggin' Chuck's Rock Tilemap
$019C6D 3 bytes Sprite tilemap related Monty Mole Tilemap
$019C70 1 byte Sprite tilemap related Ledge-dwelling Mole's Dirt Tilemap (data shared with Goal Point Sphere's Tilemap)
$019C71 8 bytes Sprite tilemap related Ground-dwelling Monty Mole's Dirt (2 Air tiles, 2 Dirt Tiles, 2 Air tiles, 2 Dirt Tiles)
$019C79 4 bytes Sprite tilemap related Sumo Bros' Lightning Tilemap
$019C7D 2 bytes Sprite tilemap related Ninji Tilemap
$019C7F 84 bytes Sprite tilemap related Table containing a sprite's location in the Standard Sprite Tile Table.
$019CD3 4 bytes Sprite tilemap related X displacement for tiles in the first shared GFX routine ($019CF3).
$019CF3 108 bytes Sprite subroutine (JSR) The first of the shared graphics subroutines. This one creates 4 8x8 tiles in a 16x16 block.
$019D5F 177 bytes Sprite subroutine (JSL) The second of the shared graphics subroutines. This one creates 2 16x16 tiles in a 16x32 block, with the second one tile below the base position. It can also be called with a JSR to $019D67.
$019DB6 1 byte Sprite tilemap related Palette/GFX page of standard sprites (shared)
$019E1C 4 bytes Sprite tilemap related Sprite tilemap: Paratroopa Wings
$019E20 4 bytes Sprite tilemap related Palette/GFX page/Priority/Flip of Paratroopa Wing tiles
$019E24 4 bytes Sprite tilemap related Size of Paratroopa Wing tiles
$019E95 116 bytes Sprite subroutine (JSR) Subroutine that draws wings for 16x16 sprites.
It uses $1570,x to decide if to draw open or closed wings (increasing it once per frame will result in the normal wings animation speed).
If used in a custom sprite, the data bank needs to be set to $01 (see example code).
Example
$019F0D 78 bytes Sprite subroutine (JSR) The third of the shared graphics subroutines. This one creates a single 16x16 tile.
$019F3C 1 byte Sprite tilemap related Palette/GFX page of standard sprites (shared)
$019F5B 6 bytes Coordinate x-pos table of sprite being carried:
walking, turn from left to right, turn from right to left (two bytes each, indexed by Mario's direction)
$019F6B 4 bytes Sprite physics X-speed of the touched/kicked shell.
Value 1: left-speed, when touched (not kicking)
Value 2: right-speed, when touched
Value 3: left-speed, when kicked
Value 4: right-speed, when kicked.
This will also affect the shell of buzzy beetle! Setting the speed to 00 or FF will make the shells not spinning, giving unlimited score.
Original Values:
D2 2E CC 34
$019F9B 46 bytes Subroutine (JSR) First half of the routine that handles sprites being carried, though it's actually only the part that handles the P-balloon.
Any other sprite will branch to $019FE0
$019FA7 change to EA EA EA EA EA to the P-Balloon last forever.
$019FB0 is the time at which the deflatting animation starts. (default 30)
$019FC2 change 90 to 80 to make Mario keep the balloon effect even after taking hits or power-ups. (causes weird behaviour when dying)
$019FA7 5 bytes ASM Change to [EA EA EA EA EA] to give the P-Balloon an infinite timer
$01A0A7 1 byte Sprite physics Number of frames to disable player contact with any carryable sprite after kicking it.
$01A0AC 1 byte Timer Time to show Mario's "kicking" pose when a Bob-omb is kicked
$01A119 1 byte Coordinate carried sprite Y-pos while picking up
$01A1E1 4 bytes ASM Changing [1A 1A 29 0F] to [EA EA EA EA] will disable the throw block sprites flashing.
$01A1F0 1 byte Sprite tilemap related Tile used by stunned Bob-omb
$01A1FA 1 byte Sprite tilemap related Key tilemap
$01A221 1 byte Sprite tilemap related POW (P-Switch) Tilemap
$01A26A 1 byte Sprite physics [$F0] Baby Yoshi's idle hopping speed. Change to $00 to make him not hop when on the ground.
$01A291 1 byte Sound effect Sound baby Yoshi makes when eating
$01A295 2 bytes Sprite Misc. Change to [$80,$1E] to make Baby Yoshi instantly grow when eating something, regardless if it's a powerup or not.
Change to [$80,$5D] to make Baby Yoshi never grow instantly when eating something, even if it's a powerup. It will count as one sprite eaten instead.
If changing this, you also need to apply the hex edit at $03C03C for it to work properly.
$01A2BC 1 byte Sprite number Sprite that Baby Yoshi turns into
$01A2C6 1 byte Sound effect Yoshi's egg explodes sound
$01A2FB 1 byte Misc. Number of enemies Baby Yoshi must eat to grow
$01A300 2 bytes Sprite Misc. Change to $80,$02 to disable getting a coin when Baby Yoshi eats something.
$01A3DF 44 bytes Sprite subroutine (JSR) Routine called by the shared sprite GFX routines at $019D5F and $0190B2 to hide tiles that would be drawn offscreen vertically. It works for both 1 and 2 tile high sprites by using the first two bits in $186C to determine which tile(s) should be hidden.
$01A61E 7 bytes Sound effect Sound effects to use for consecutive bounces on enemies. Begins with [13] (1st bounce) and ends with [19] (7th bounce).
$01A65B 1 byte Sound effect Koopa hit by shell sound
$01A716 1 byte ASM Set to 60 to stop Blue Koopas from kicking shells
$01A729 1 byte Sound effect Kicking shell sound
$01A78D 1 byte ASM Set to 80 to stop Blue Koopas from stopping shells
$01A7D1 1 byte Sprite number Enemy spawned from stomping horizontal green winged koopas
$01A7D2 1 byte Sprite number Enemy spawned from stomping bouncing green winged koopas
$01A7D3 1 byte Sprite number Enemy spawned from stomping vertical red winged koopas
$01A7D4 1 byte Sprite number Enemy spawned from stomping horizontal red winged koopas
Pages: « 1 2 3 4 5 6 720 21 » 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 - 2020 - SMW Central
Legal Information - Privacy Policy - Link To Us


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy