rarezuloo.blogg.se

Super mario world sprites misc
Super mario world sprites misc






Mirror of SNES register $2130.Ĭolumn/row of Map16 tiles to use for VRAM upload when layer 1 is scrolling left/up. Format: aabb00cd.Īa = main color window on/off bb = sub color window on/off c = fixed color add/subtract d = direct color mode for 8bpp backgrounds. $43 (mirror of WOBJSEL $2125) controls OBJ and COL $42 (mirror of W34SEL $2124) controls BG3 and BG4 $41 (mirror of W12SEL $2123) controls BG1 and BG2 Lower case apply for BG1, BG3 and OBJ (layer 1, 3 and sprites) and upper case apply for BG2, BG4 and COL (layer 2, 4 and colour 0 / fixed colour). These control which window is for which layer active as well as whether a window is inverted for that layer. S = 0 for adding color layer, 1 for subtracting color layer h = half-color enable b = backdrop enable o = object (aka sprite) enable 4321 = enable Layer 4, 3, 2, 1 (Layer 3 is only affected below the status bar). Is sometimes used to alter priority of various sprite tiles, such as with the sprite backgrounds in the boss rooms. Also known as the mirror of SNES register $2102. Format: 4321pmmm.Ĥ321 = Layer 1/2/3/4 uses 8x8 tiles when clear, 16x16 tiles when set p = Layer 3 absolute priority (only in background mode 1) mmm = background mode # (0-7).

super mario world sprites misc

Mirror of SNES register $210E.īackground mode select applied with IRQ below status bar (so the area above IRQ is not affected by this). Value #$10 makes the layer twice as large as value #$20, value #$40 makes the layer twice as small as value #$20, etc. The closer to #$00, the more the layer grows, the further from #$00, the more the layer shrinks. The first byte - $7E:0038 - is used for horizontal scaling, whereas the second byte - $7E:0039 - is used for vertical scaling.ĭefault value is #$20. Its values are calculated and stored into the respective Mode 7 parameter mirrors at $7E:002E through $7E:0035. Mode 7 scaling that is, making Layer 1 shrink or grow.

#Super mario world sprites misc code#

Values #$0000 through #$01FF are all different values, after that it's the same pattern - that is, if you add this 16-bit address with #$0200, there is a 360 degree rotation.įurthermore, this address is used in the brown chained platform code as an index to the sine and cosine tables at $07:F7DB. Layer 3 Y position minus Layer 1 Y position. Layer 2 Y position minus Layer 1 Y position. Used for various things, among which interaction with multiple layers is included. Layer 3 X position minus Layer 1 X position. Layer 2 X position minus Layer 1 X position. Mirror of SNES register $2112.ĭepending on Layer 3 tides being activated or not, it's either: $04-$FF = invalid (may crash the game if powerup items, including 1-Up mushrooms, are grabbed). Format: axlr-.Ī = A x = X l = L r = R, - = null/unused.Ĭontroller buttons newly pressed this frame. Format: byetUDLR.ī = B only y = X or Y e = select t = Start U = up D = down L = left, R = right.Ĭontroller buttons currently held down. Format: byetUDLR.ī = A or B y = X or Y e = select t = Start U = up D = down L = left, R = right.Ĭontroller buttons newly pressed this frame. Inside sprite code, this address is often preferred over $7E:0013, especially in graphics routines, as graphics will not be updated when the player dies if this address is used as an index to the tilemap.Ĭontroller buttons currently held down. Stops when, for example, RAM addresses such as $7E:009D are not zero (lock sprite flag, usually indicates the player is dying, grabbing a powerup, or something similar).

super mario world sprites misc

Note that $7E:0014 is better suited for most purposes.

super mario world sprites misc

Increments once per frame, except when the game is lagging. Stripe image loader - value must be divisible by 3.

super mario world sprites misc

(Inside the Morton/Ludwig/Roy room, where IRQ is used twice, although it can be used in other areas that run IRQ as well.) #$00 = IRQ #1 #$01 = IRQ #2. Used to distinguish IRQ #1 from IRQ #2's code. It's set to a non-zero value during NMI, and it's set to zero after the game mode has been run, so that the game runs exactly once a frame - one NMI trigger per frame. If the value in it is not zero, run the actual game otherwise, loop forever. Also used in the custom Map16 tile change routine. $7E:0003 (16-bit) - Block number from LM Map16 editor. Of note is the following address, used in LM ASM hacks: The general purpose is temporarily preserving a value for later use in a routine. Scratch RAM, is and can be used for a big number of purposes.






Super mario world sprites misc