Sprite Attribute 3 (with INC) Register: Difference between revisions
refresh sprite info |
m Xalior moved page Sprite port-mirror Attribute 3 (with INC) Register to Sprite Attribute 3 (with INC) Register |
(No difference)
| |
Latest revision as of 12:19, 14 October 2025
| Number | TBRegisterNumber::$78 |
|---|---|
| Readable | TBRegisterReadable::No |
| Writable | TBRegisterWritable::Yes |
| Short Description | [[ShortDesc::Same as {{#ask:
TBRegisterNumber::$38 }} ($38) (write fourth byte of sprite-attributes), plus increments {{#ask: TBRegisterNumber::$34 }} ($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 {{#ask: TBRegisterNumber::$39 }} ($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" ({{#ask: PortNumber::$xx57 }} ($xx57{{#ask: PortNumber::$xx57 |mainlabel=- |headers=hide |intro= / |?NumberDec#- }})), the {{#ask: TBRegisterNumber::$34 }} ($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.