Sticky bit: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
Line 3: Line 3:
{{16BitRegister|Y position|9|'''[[Sticky bit]]'''|1|Sprite size|6}}
{{16BitRegister|Y position|9|'''[[Sticky bit]]'''|1|Sprite size|6}}


Setting it to 1 makes the corresponding sprite "stick" to the right of the precedent one.
Setting it to 1 makes the corresponding sprite "stick" to the right of the precedent one. This allows moving groups of sprites easily, by just updating one coordinate pair.


The [[GPU]] will automatically place it to the right of the precedent sprite, use the same Y position, the same size in tiles and the same vertical shrinking coefficient.
The [[LSPC]] will automatically place a chained sprite to the right of the previous one. It will inherit the same Y position, the same height and the same vertical shrinking coefficient. All attributes are ignored except the horizontal shrinking coefficient.
Only the horizontal shrinking coefficient is left independant.


Chained sprites can also be called "driven sprites".
Changing the driving sprite's attributes will change all those of the consecutively chained sprites, but the values will remain unchanged in [[VRAM]].


Changing the driving sprite's attributes will change all those of the consecutively chained sprites.
Changing driven sprites attributes won't affect it until its sticky bit is reset.
 
Changing driven sprites attributes won't affect it until it is unchained (saved in [[VRAM]] but ignored by GPU).


[[Category:Video system]]
[[Category:Video system]]

Latest revision as of 22:45, 23 June 2018

The "sticky bit" (or "chain bit") is one of the per-sprite attributes stored in the Sprite Control Bank 3 (bit 6).

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Def Y position Sticky bitSprite size

Setting it to 1 makes the corresponding sprite "stick" to the right of the precedent one. This allows moving groups of sprites easily, by just updating one coordinate pair.

The LSPC will automatically place a chained sprite to the right of the previous one. It will inherit the same Y position, the same height and the same vertical shrinking coefficient. All attributes are ignored except the horizontal shrinking coefficient.

Changing the driving sprite's attributes will change all those of the consecutively chained sprites, but the values will remain unchanged in VRAM.

Changing driven sprites attributes won't affect it until its sticky bit is reset.