Language…
19 users online:  AmperSam, com_poser, Dennsen86, DixyNL, elegist, figuiDOS, Green, Hammerer,  Losoall, OnlySpaghettiCode, ppp9q, Serena, Silver_Revolver, SMW Magic, Sweetdude, The_Uber_Camper,  Thomas, tOaO, VSmario90 - Guests: 286 - Bots: 251
Users: 64,795 (2,374 active)
Latest user: mathew

SMW Memory Map

Displaying 2 out of 2 addresses.

View: moderated | waiting (13)

Filter

Link
  • Pages:
  • 1
ROM Address Length Type Description Details
$01A40D 956 bytes Sprite subroutine (JSR) The primary routine used to process most standard interactions between a sprite and other sprites; call this routine from within the sprite's MAIN routine to do so. A JSL to this routine can be found at $018032.

When two sprites are interacting, only the sprite in the higher slot actually processes it to prevent the interaction from being handled twice. Interactions can be prevented entirely by setting either sprite's "don't interact with other sprites" tweaker bit ($1686) or $1564. Notably, not using one of these two methods and instead simply not calling the routine in the first place does not guarantee interaction will not be processed, as it can still occur if the handling is coming from a sprite in a higher slot. An example of this in the original game exists with shells and Thwomps, who are immune to thrown shells when they handle the interaction, but are killed when the shell does instead.

Overwrites $00-$03 when called. When processing interaction for sprites in status 8 that have the "change direction when touched" tweaker bit set ($1686), $157C is assumed to be their horizontal direction and $15AC will be set for a timer intended to control a turning-around animation for the sprite.
$01A716 1 byte ASM Set to 60 to stop Blue Koopas from kicking shells
  • Pages:
  • 1