![]() |
Routines |
| Prev: 41649 | Up: Map | Next: 41700 |
|
Used by the routines at ProcessObjectDisplay, ProcessObject_Display, ProcessDisplayPointer and ProcessDisplayAction.
|
||||||||
|
Extract the first attribute value from bit-packed object data.
|
||||||||
| ExtractObjectAttributes | 41661 | LD A,(IX+5) | A=*IX+5 (load byte from offset +5). | |||||
| 41664 | RRCA | Shift right by 4 bits (extract low nibble from offset +5). | ||||||
| 41665 | RRCA | |||||||
| 41666 | RRCA | |||||||
| 41667 | RRCA | |||||||
| 41668 | AND %00001111 | Keep only bits 0-3. | ||||||
| 41670 | LD C,A | C=A (store the low nibble). | ||||||
| 41671 | LD A,(IX+7) | A=*IX+7 (load byte from offset +7). | ||||||
| 41674 | AND %11110000 | Keep only bits 4-7 (extract high nibble from offset +7). | ||||||
| 41676 | ADD A,C | A+=C (combine high and low nibbles). | ||||||
| 41677 | LD (40990),A | Write A to *40990 (store the first attribute value). | ||||||
|
Extract the second attribute value from bit-packed object data.
|
||||||||
| 41680 | LD A,(IX+1) | A=*IX+1 (load byte from offset +1). | ||||||
| 41683 | RRCA | Shift right by 4 bits (extract low nibble from offset +1). | ||||||
| 41684 | RRCA | |||||||
| 41685 | RRCA | |||||||
| 41686 | RRCA | |||||||
| 41687 | AND %00001111 | Keep only bits 0-3. | ||||||
| 41689 | LD C,A | C=A (store the low nibble). | ||||||
| 41690 | LD A,(IX+3) | A=*IX+3 (load byte from offset +3). | ||||||
| 41693 | AND %11110000 | Keep only bits 4-7 (extract high nibble from offset +3). | ||||||
| 41695 | ADD A,C | A+=C (combine high and low nibbles). | ||||||
| 41696 | LD (40989),A | Write A to *ObjectAttributeValue (store the second attribute value). | ||||||
| 41699 | RET | Return. | ||||||
| Prev: 41649 | Up: Map | Next: 41700 |