![]() |
Routines |
| Prev: 41649 | Up: Map | Next: 41700 |
|
Used by the routines at ProcessObjectDisplay, ProcessObject_Display, SwapObjectDisplayPointers and ProcessDisplayAction.
Packs two attribute nibbles from the object record into 40990 and ObjectAttributeValue.
|
||||||||
|
Extract the first attribute value from bit-packed object data.
|
||||||||
| ExtractObjectAttributes | 41661 | LD A,(IX+5) | Read the object attribute. | |||||
| 41664 | RRCA | |||||||
| 41665 | RRCA | |||||||
| 41666 | RRCA | |||||||
| 41667 | RRCA | |||||||
| 41668 | AND %00001111 | Keep the high nibble of the object attribute (now in bits 0-3) as the low half of the display flag. | ||||||
| 41670 | LD C,A | Read the character record. | ||||||
| 41671 | LD A,(IX+7) | |||||||
| 41674 | AND %11110000 | Take the high nibble of byte 7 of the object data as the high half of the display flag. | ||||||
| 41676 | ADD A,C | Join the two halves into one byte. | ||||||
| 41677 | LD (40990),A | Record the result in the display flag at 40990. | ||||||
|
Extract the second attribute value from bit-packed object data.
|
||||||||
| 41680 | LD A,(IX+1) | Read the moved marker. | ||||||
| 41683 | RRCA | |||||||
| 41684 | RRCA | |||||||
| 41685 | RRCA | |||||||
| 41686 | RRCA | |||||||
| 41687 | AND %00001111 | Keep the high nibble of the moved marker (now in bits 0-3) as the low half of the object attribute value. | ||||||
| 41689 | LD C,A | Read the action flags. | ||||||
| 41690 | LD A,(IX+3) | |||||||
| 41693 | AND %11110000 | Take the high nibble of the action flags (byte 3) as the high half of the object attribute value. | ||||||
| 41695 | ADD A,C | Join the two halves into one byte. | ||||||
| 41696 | LD (40989),A | Record the result in the object attribute value at ObjectAttributeValue. | ||||||
| 41699 | RET | Return. | ||||||
|
View the equivalent code in;
|
||||||||
| Prev: 41649 | Up: Map | Next: 41700 |