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). 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. 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: 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). Note that $7E:0014 is better suited for most purposes. Increments once per frame, except when the game is lagging. Stripe image loader - value must be divisible by 3. (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.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |