Difference between revisions of "Sprite port-mirror Attribute 3 (with INC) Register"
(core 2.00.23 changes) |
(refresh sprite info) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 11: | Line 11: | ||
| 7 || Enable visibility | | 7 || Enable visibility | ||
|- | |- | ||
− | | 6 || | + | | 6 || Enable fifth sprite attribute byte |
|- | |- | ||
| 5-0 || Pattern index ("Name") | | 5-0 || Pattern index ("Name") | ||
|} | |} | ||
− | + | When the bit 6 is "0", the sprite renderer will ignore value written in fifth attribute byte, for example by {{NextRegNo|$39}}, and it will use zero for all the features of fifth attribute byte (it is safe to initialize only four bytes if you are planning to use 4-byte type of sprites). | |
− | After write into sprite-attribute "byte 4" ({{PortNo|$xx57}}), the {{NextRegNo|$34}} is incremented (with all consequences stemming from such action). If the sprite | + | If you want the value in fifth attribute byte to apply during rendering, bit 6 here must be set to "1". |
+ | |||
+ | After write into sprite-attribute "byte 4" ({{PortNo|$xx57}}), the {{NextRegNo|$34}} is incremented (with all consequences stemming from such action). If the sprite 127 was modified, the result of the increment is officially "undefined behaviour", and code should explicitly set valid 0..127 sprite index before next sprite-attribute manipulation. |
Latest revision as of 23:19, 9 December 2019
Number | $78 |
---|---|
Readable | No |
Writable | Yes |
Short Description | Same as Sprite port-mirror Attribute 3 Register ($38) (write fourth byte of sprite-attributes), plus increments Sprite port-mirror Index Register ($34) |
Byte 4 is bitmapped:
Bit | Description |
---|---|
7 | Enable visibility |
6 | Enable fifth sprite attribute byte |
5-0 | Pattern index ("Name") |
When the bit 6 is "0", the sprite renderer will ignore value written in fifth attribute byte, for example by Sprite port-mirror Attribute 4 Register ($39), and it will use zero for all the features of fifth attribute byte (it is safe to initialize only four bytes if you are planning to use 4-byte type of sprites).
If you want the value in fifth attribute byte to apply during rendering, bit 6 here must be set to "1".
After write into sprite-attribute "byte 4" (Sprite Attribute Upload ($xx57 / 87)), the Sprite port-mirror Index Register ($34) is incremented (with all consequences stemming from such action). If the sprite 127 was modified, the result of the increment is officially "undefined behaviour", and code should explicitly set valid 0..127 sprite index before next sprite-attribute manipulation.