Sprite Attribute 4 Register: Difference between revisions
From SpecNext Wiki
core 2.00.23 changes |
Core 2.00.27 (or 28) changes to relative sprite system. |
||
| Line 6: | Line 6: | ||
}} | }} | ||
Byte 5 is bitmapped: | Byte 5 is bitmapped: | ||
:For '''anchor''' sprites: | |||
{|class="wikitable" | {|class="wikitable" | ||
! Bit !! Description | ! Bit !! Description | ||
|- | |- | ||
| 7 || | | 7-6 || "H N6" - "H" is 4/8 bit graphics selector, "N6" is sub-pattern selector for 4 bit modes.<br /> | ||
%00 = 8-bit colour patterns (256 bytes), this sprite is "'''anchor'''"<br /> | |||
%01 = this sprite is "'''relative'''" (4/8-bit colour is selected by "anchor" sprite) → see tables below<br /> | |||
%10 = 4-bit colour pattern (128 bytes) using bytes 0..127 of pattern slot, this sprite is "'''anchor'''"<br /> | |||
%11 = 4-bit colour pattern (128 bytes) using bytes 128..255 of pattern slot, this sprite is "'''anchor'''" | |||
|- | |- | ||
| | | 5 || Type for following '''relative''' sprites: 0 = "composite", 1 = "big sprite" | ||
0 | |||
|- | |- | ||
| | | 4-3 || x-axis scale factor: %00 = 1x (16 pixels), %01 = 2x, %10 = 4x, %11 = 8x (128 pixels) | ||
|- | |||
| 2-1 || y-axis scale factor: %00 = 1x (16 pixels), %01 = 2x, %10 = 4x, %11 = 8x (128 pixels) | |||
|- | |||
| 0 || MSB of Y coordinate | |||
|} | |||
:For '''composite relative''' sprites: | |||
{|class="wikitable" | |||
! Bit !! Description | |||
|- | |||
| 7-6 ||%01 = relative sprite | |||
|- | |||
| 5 || "N6" bit, in 4-bit colour mode 0 = using bytes 0..127 of pattern slot, 1 = using bytes 128..255 of pattern slot. In 8-bit mode use 0. | |||
|- | |- | ||
| 4-3 || x-axis scale factor: %00 = 1x (16 pixels), %01 = 2x, %10 = 4x, %11 = 8x (128 pixels) | | 4-3 || x-axis scale factor: %00 = 1x (16 pixels), %01 = 2x, %10 = 4x, %11 = 8x (128 pixels) | ||
| Line 23: | Line 36: | ||
| 2-1 || y-axis scale factor: %00 = 1x (16 pixels), %01 = 2x, %10 = 4x, %11 = 8x (128 pixels) | | 2-1 || y-axis scale factor: %00 = 1x (16 pixels), %01 = 2x, %10 = 4x, %11 = 8x (128 pixels) | ||
|- | |- | ||
| 0 || | | 0 || Enable relative pattern offset (1 = Pattern index is added to anchor pattern index, 0 = independent pattern index) | ||
|} | |||
:For '''big-sprite relative''' sprites: | |||
{|class="wikitable" | |||
! Bit !! Description | |||
|- | |||
| 7-6 ||%01 = relative sprite | |||
|- | |||
| 5 || "N6" bit, in 4-bit colour mode 0 = using bytes 0..127 of pattern slot, 1 = using bytes 128..255 of pattern slot. In 8-bit mode use 0. | |||
|- | |||
| 4-1 || use 0 (scaling is defined by '''anchor''' sprite) | |||
|- | |||
| 0 || Enable relative pattern offset (1 = Pattern index is added to anchor pattern index, 0 = independent pattern index) | |||
|} | |} | ||
See {{PortNo|$xx57}} for extra notes about anchor/relative sprites, coordinates and clipping. | See {{PortNo|$xx57}} for extra notes about anchor/relative sprites, coordinates and clipping. | ||
Revision as of 02:10, 11 February 2019
| Number | TBRegisterNumber::$39 |
|---|---|
| Readable | TBRegisterReadable::No |
| Writable | TBRegisterWritable::Yes |
| Short Description | [[ShortDesc::Nextreg port-mirror to write directly into "byte 5" of {{#ask:
PortNumber::$xx57 }} ($xx57{{#ask: PortNumber::$xx57 |mainlabel=- |headers=hide |intro= / |?NumberDec#- }}).]] |
Byte 5 is bitmapped:
- For anchor sprites:
| Bit | Description |
|---|---|
| 7-6 | "H N6" - "H" is 4/8 bit graphics selector, "N6" is sub-pattern selector for 4 bit modes. %00 = 8-bit colour patterns (256 bytes), this sprite is "anchor" |
| 5 | Type for following relative sprites: 0 = "composite", 1 = "big sprite" |
| 4-3 | x-axis scale factor: %00 = 1x (16 pixels), %01 = 2x, %10 = 4x, %11 = 8x (128 pixels) |
| 2-1 | y-axis scale factor: %00 = 1x (16 pixels), %01 = 2x, %10 = 4x, %11 = 8x (128 pixels) |
| 0 | MSB of Y coordinate |
- For composite relative sprites:
| Bit | Description |
|---|---|
| 7-6 | %01 = relative sprite |
| 5 | "N6" bit, in 4-bit colour mode 0 = using bytes 0..127 of pattern slot, 1 = using bytes 128..255 of pattern slot. In 8-bit mode use 0. |
| 4-3 | x-axis scale factor: %00 = 1x (16 pixels), %01 = 2x, %10 = 4x, %11 = 8x (128 pixels) |
| 2-1 | y-axis scale factor: %00 = 1x (16 pixels), %01 = 2x, %10 = 4x, %11 = 8x (128 pixels) |
| 0 | Enable relative pattern offset (1 = Pattern index is added to anchor pattern index, 0 = independent pattern index) |
- For big-sprite relative sprites:
| Bit | Description |
|---|---|
| 7-6 | %01 = relative sprite |
| 5 | "N6" bit, in 4-bit colour mode 0 = using bytes 0..127 of pattern slot, 1 = using bytes 128..255 of pattern slot. In 8-bit mode use 0. |
| 4-1 | use 0 (scaling is defined by anchor sprite) |
| 0 | Enable relative pattern offset (1 = Pattern index is added to anchor pattern index, 0 = independent pattern index) |
See {{#ask: PortNumber::$xx57 }} ($xx57{{#ask: PortNumber::$xx57 |mainlabel=- |headers=hide |intro= / |?NumberDec#- }}) for extra notes about anchor/relative sprites, coordinates and clipping.