SMW Memory Map - Waiting Addresses
Displaying 35 out of 35 waiting addresses.
View: moderated | waiting (35)
- Pages:
- 1
ROM Address | Length | Type | Description | Details | Submitter |
---|---|---|---|---|---|
$00D2CD | 60 bytes | Mario physics | Deceleration table. Each value here are 16-bit values to modify $7A-$7B so that the player slows down to either #$00 or some value based on slopes (autoslide). Note: Due to a bug, if Mario is traveling faster than his maximum speed and hold down the D-pad in the same direction (for example, going rightwards faster than his maximum rightwards speed and the player holds right), would slow him down. The index on this table is by taking $13E1: Y_index = (Value_In_RAM_13E1 / 2) + SlopeThreshold. Where SlopeThreshold is 0 if the player speed is equal or faster than the minimum speed, otherwise it is 2. |
Calculation of index Values in table | HammerBrother |
$00DC4F | 75 bytes | Mario physics | Routine that updates the player's X and Y position ($94 and $13DA, $96 and $13DC) by X and Y speed ($7B and $7D). The rate of movement is in “subpixels” per frame-- 1/16th of a pixel for more precise movement, using fixed point arithmetic. Note that stuff using position besides speed related data, such as hitboxes will only take the pixel position and not the subpixel position. Normally this routine is called after JSR to $00DC2D. It then JSRs into $00DC4F with:
|
How it works Math Example | HammerBrother |
$00E938 | 84 bytes | Mario physics | Code that handles player interacting with layer 1 and 2. At $00E953-$00E975, handles layer 2 interaction. Before and after JSR CODE_00EADB, it first (temporally) offsets the player's XY position ($94 and $96 add by $26 and $28) so that interaction with layer 2 moves with layer 2, then after the layer 2 prcoessing is done, offsets the player's position back (subtract by $26 and $28 not using pull instructions so that blocks that sets the player's XY position wouldn't be canceled). |
HammerBrother | |
$01851C | 3 bytes | ASM | [20 7C 85] Change to [BC 7C 15] to make the Diggin' Chuck's starting direction depend on its X position instead of it always starting out facing the player. | imamelia | |
$02881E | 5 bytes | Sound effect | Sound effect the on/off switch makes when spawning the bounce sprite. Note that the sound effect is actually played twice, with the other being at $02918C. Set to EA EA EA EA EA (or org $02881E : nop #5) to fix it from being played twice. |
HammerBrother | |
$02918C | 5 bytes | Sound effect | Sound effect the on/off bounce block sprite makes when triggered, overrides the "hit head" sound. NOTE: the sound effect is actually played twice, with the other being at $02881E (code that spawns the bounce block). Set to EA EA EA EA EA (or org $02918C : NOP #5) to prevent the SFX from being played twice. |
HammerBrother | |
$02919F | 77 bytes | Subroutine (JSR) | Subroutine which changes a tile at the current bounce sprite's position. It can be jumped to the following addresses:
|
Additional Data | MarioFanGamer |
$029265 | 241 bytes | Subroutine (JSR) | Subroutine for most bounce sprites' init code. It makes bounce blocks (e.g. a ?-block) be able to collect a coin right above them. $029330: The block on page 0 which can be collected. Keep in mind that this is independent of the acts like setting and support thereof has to be implemented manually. |
MarioFanGamer | |
$029356 | 60 bytes | Subroutine (JSR) | Code that generates a spinning coin at the position of a bounce sprite. This is used to be able to collect a coin with a bounce block. However, this routine doesn't handle the removal of the coin which is instead handled by $0291B8. | MarioFanGamer | |
$0CA204 | 1 byte | Coordinate | The X position where Mario stops in the Yoshi's House at Ending. If you change this value, Peach and Green Yoshi's stopping positions will also change to match Mario's. (The spacing will remain the same, but the positions will shift.) |
Francium | |
$0CF7DF | 2048 bytes | Overworld | Layer 1 map16 data of the overworld, uncompressed. The data is directly copied from there to $7EC800. | MarioFanGamer | |
Hijack Address | Length | Type | Description | Details | Submitter |
$008CF5 | 1 byte | Hex Edit | Modified by GHB Disable Score by HammerBrother and wye. Removes score's first zero from status bar display. |
RussianMan | |
$008E95 | 3 bytes | Jump (JMP/JSR) | Modified by GHB Disable Score by HammerBrother and wye. Disables score display on the status bar. |
RussianMan | |
$009C9F | 4 bytes | Jump (JML/JSL) | Optionally hijacked by the patch Level Death Flag by MarioFanGamer. JSL to code that clears the death flag for all levels when a save file is loaded. |
Fernap | |
$01C1A3 | 4 bytes | Jump (JML/JSL) | Modified by Item from Layer 2 block Fix by Isikoro. Move growing vine with layer 2 when it has been spawned from a layer 2 block. |
RussianMan | |
$01C1E9 | 4 bytes | Jump (JML/JSL) | Modified by Item from Layer 2 block Fix by Isikoro. Make growing vine spawn vine tiles on a correct layer, depending on spawn block's layer of origin. |
RussianMan | |
$01C4A8 | 4 bytes | Jump (JML/JSL) | Modified by Item from Layer 2 block Fix by Isikoro. Move power-ups with layer 2 when they're spawned from a layer 2 block. |
RussianMan | |
$01C4B0 | 1 byte | Hex Edit | Modified by Item from Layer 2 block Fix by Isikoro. Changes the branch's destination for power-up interaction routine to a different RTS, since the original one gets overwritten by a different hijack. |
RussianMan | |
$01EB33 | 4 bytes | Jump (JML/JSL) | Modified by Ultimate Screen Teleporter by mario90. JML, modifies Yoshi's graphics routine to allow for a walking animation when entering a side teleport. |
Maarfy | |
$028A11 | 5 bytes | Jump (JML/JSL) | Modified by Item from Layer 2 block Fix by Isikoro. Places Power-ups/Vine on a correct layer, depending on the wether the block it spawned from was on layer 1 or 2. |
RussianMan | |
$02ADC9 | 4 bytes | Jump (JML/JSL) | Modified by GHB Disable Score by HammerBrother and wye. Disables score sprite functionality with exception of lives, coins and custom score sprites. |
RussianMan | |
$05CC42 | 31 bytes | Table | Modified by GHB Disable Score by HammerBrother and wye. Removes level end score tally display. |
RussianMan | |
$05CC77 | 13 bytes | Code | Modified by GHB Disable Score by HammerBrother and wye. Disables the hidden mechanic where an extra life is given if tens digit of bonus star counter matches the ones and tens of the timer. |
RussianMan | |
$05CCAA | 78 bytes | Code | Modified by GHB Disable Score by HammerBrother and wye. Disables timer display on end level score tally. |
RussianMan | |
$05CCFB | 43 bytes | Code | Modified by GHB Disable Score by HammerBrother and wye. Disables score calculation based on timer during level end. |
RussianMan | |
$05CDE4 | 1 byte | Hex Edit | Modified by GHB Disable Score by HammerBrother and wye. If !drumroll = 0, disables drum roll SFX during score/bonus star tally for level end. |
RussianMan | |
$05CDFD | 60 bytes | Jump (JMP/JSR) | Modified by GHB Disable Score by HammerBrother and wye. Dummies out the hex to dec routine used to write time bonus to the score card. |
RussianMan | |
$05CE4C | 86 bytes | Jump (JMP/JSR) | Modified by GHB Disable Score by HammerBrother and wye. Dummies out the routine responsible for the Timer * 50 bonus score calculation. |
RussianMan | |
$05CEAF | 1 byte | Hex Edit | Modified by GHB Disable Score by HammerBrother and wye. Removes score's first zero from the display during level end. |
RussianMan | |
$05CECF | 54 bytes | Code | Modified by GHB Disable Score by HammerBrother and wye. Disables bonus score addition during level end. |
RussianMan | |
$05CF36 | 3 bytes | Hex Edit | Modified by GHB Disable Score by HammerBrother and wye. Disables amount of score to add up to the score total count at level end check for drumroll end SFX. |
RussianMan | |
$05CF49 | 1 byte | Hex Edit | Modified by GHB Disable Score by HammerBrother and wye. If !drumroll = 0, disables drum roll end SFX during score/bonus star tally for level end. |
RussianMan | |
$05CF78 | 40 bytes | Code | Modified by GHB Disable Score by HammerBrother and wye. Disables bonus score during level end display. |
RussianMan | |
$05D8B7 | 39 bytes | Code | Modified by Ultimate Screen Teleporter by mario90. The LevelNum patch, which sets the current sublevel number in $010B. |
Maarfy | |
$0FF200 | 1024 bytes | Table | Used by Lunar Magic for the "old" graphics bypass using lists. In that system, an index of $00 is used to mark that no list bypass is used, and indices $01-$FF will point into this table (However, Lunar Magic's UI will instead display $00 as the first list and $FE as the last list). To calculate the direct offset, take ((index-1)*4). Note that both FG/BG list bypass and sprite list bypass share the same range of indices. For each offset, contains four bytes for the four (Ex)GFX files that are used for this index. This system is only capable of addressing Graphics files numbered $00 through $FF. |
Ragey | |
- Pages:
- 1