Sprite and Layers System Register: Difference between revisions

From SpecNext Wiki
Jump to: navigation, search
Adding details how sprite clipping works in "over border" mode.
mNo edit summary
Line 13: Line 13:
| 7 || Enable [[Enhanced ULA|Lores Layer]]
| 7 || Enable [[Enhanced ULA|Lores Layer]]
|-
|-
| 6 || If 1, the sprite rendering order is reversed, i.e. sprite 0 is on top
| 6 || If 1, the sprite rendering order is reversed, i.e. sprite 0 is on top (0 after reset)
|-
|-
| 5 || If 1, the clipping works even in "over border" mode (doubling X-axis coordinates of clip window)
| 5 || If 1, the clipping works even in "over border" mode (doubling X-axis coordinates of clip window) (0 after reset)
|-
|-
| 3-4 || If %00, ULA is drawn under Layer 2 and Sprites; if %01, it is drawn between them, if %10 it is drawn over both
| 3-4 || If %00, ULA is drawn under Layer 2 and Sprites; if %01, it is drawn between them, if %10 it is drawn over both

Revision as of 12:46, 23 December 2018

Number TBRegisterNumber::$15
Readable TBRegisterReadable::Yes
Writable TBRegisterWritable::Yes
Short Description [[ShortDesc::Enables/disables Sprites and Lores Layer, and chooses priority of sprites and Layer 2.]]


Bitmapped as follows:

Bit Function
7 Enable Lores Layer
6 If 1, the sprite rendering order is reversed, i.e. sprite 0 is on top (0 after reset)
5 If 1, the clipping works even in "over border" mode (doubling X-axis coordinates of clip window) (0 after reset)
3-4 If %00, ULA is drawn under Layer 2 and Sprites; if %01, it is drawn between them, if %10 it is drawn over both
2 If 1, Layer 2 is drawn over Sprites, else sprites drawn over layer 2
1 Enable sprites over border (0 after reset)
0 Enable sprite visibility (0 after reset)

When both "over border" (bit 1) and "clipping over border" (bit 5) is enabled, the Sprite clipping window {{#ask: TBRegisterNumber::$19 }} ($19) X-axis coordinates are "doubled", and coordinates origin is moved from pixel [0,0] position to sprite [0,0] position ([-32,-32] pixel position). For example: setting clip coordinates as {x1:5, x2:155, y1:7, y2:248} will make sprites visible in area [10,7]..[309,248] (inclusively) in sprite coordinates.