AddressDescriptionTypeSize
$7E0420OAM extra bits table, with one byte per OAM tile. Used to generate the packed table at [url=https://smwc.me/m/smw/ram/7E0200]$0400[/url] during the routine at [url=https://smwc.me/m/smw/rom/008494]$008494[/url]. Format: [code inline]%000000SX[/code]
  • S - Size. Generally, 0 = 8x8, 1 = 16x16.
  • X - Bit 9 of the tile's X position. Used to allow tiles to be positioned beyond the left edge of the screen.
  • All other bits must remain 0.
Sprites can either manually write the necessary information here, or they can use the routine at [url=https://smwc.me/m/smw/rom/01B7B3]$01B7BE[/url] to take care of it.
Sprites128
$7E1440The starting Y position of the current scroll sprite, left-shifted twice and with the extra bits still added. (Format: --YYYYEE, where Y = Y position and EE = extra bits). Regularly adjusted inside the scroll sprites. It can be particularly useful for determining what type of scrolling should be applied with this scroll sprite. This address is used for Layer 1 scrolling. Also used during the castle destruction cutscenes as a frame number for various animations.Sprites1
$7E1441The starting Y position of the current scroll sprite, left-shifted twice and with the extra bits still added. (Format: --YYYYEE, where Y = Y position and EE = extra bits). Regularly adjusted inside the scroll sprites. It can be particularly useful for determining what type of scrolling should be applied with this scroll sprite. This address is used for Layer 2 scrolling. Also used during Iggy, Ludwig, and Roy's castle destruction scenes as a timer for the explosion.Sprites1
$7E1783Shooter number. #$00 = None, #$01 = Bullet Bill shooter, #$02 = Torpedo Launcher. Pixi uses the most significant bits of this table to hold the extra bits of the shooter.Sprites8
$7E18B9Generator type that is currently active. #$00 = None, #$01-#$0F = generators CB-D9. The pointers for this address are located at $02:B00C. Pixi uses the most significant bits of this address to hold the extra bits of the generator.Sprites1
$7E192ARAM address used to hold some information while loading a level. Format: swaaaaaa. s = slippery level, w = water level, a = player action. In the original game, if one of bits 3-5 is set, the player action will be "vertical pipe exit downwards, water level", though with Lunar Magic, these extra bits are just ignored. Lunar Magic also uses the w bit during a screen exit for temporarily holding the water/midway flag from [url=https://smwc.me/m/smw/ram/7E19D8]$19D8[/url] as well. Note that the s and w bits are cleared after being transferred to $85/$86, so they'll both be 0 when read mid-level.Misc.1
$7FAB10Custom sprite table used by Pixi. It holds the extra bits of a sprite.Sprites12