![]() |
Routines |
| Prev: 44778 | Up: Map | Next: 44839 |
|
Used by the routine at MatchWordAgainstEarlierClause.
Copies the id, script marker and attribute bytes from the character record onto the schedule entry so the two stay in step.
|
||||
| MergeCharacterFlags | 44785 | EXX | Read the moved marker. | |
| 44786 | LD A,(IX+1) | |||
| 44789 | AND 127 | Merge A into the byte at IY+1 keeping that byte's top bit. | ||
| 44791 | OR (IY+1) | |||
| 44794 | LD (IY+1),A | |||
| 44797 | LD A,(IX+0) | Store the character id. | ||
| 44800 | LD (IY+0),A | |||
| 44803 | EXX | |||
| 44804 | LD A,(IX+4) | Read the attribute type. | ||
| 44807 | OR (IX+5) | Merge the object attribute into the result. | ||
| 44810 | RET Z | Return when this character has no attribute. | ||
| 44811 | LD A,14 | Return if copying this display entry did not match. | ||
| 44813 | CALL CopyScheduleEntry | |||
| 44816 | RET NZ | |||
| 44817 | EXX | Switch register sets and point HL at byte 18 of the record at IY. | ||
| 44818 | PUSH IY | |||
| 44820 | POP HL | |||
| 44821 | LD DE,18 | |||
| 44824 | ADD HL,DE | |||
| 44825 | PUSH HL | Take the graphics: baker street and move the pointer on by the length. | ||
| 44826 | LD DE,65526 | |||
| 44829 | ADD HL,DE | |||
| 44830 | POP DE | |||
| 44831 | LD BC,6 | Take a length of 6 bytes. | ||
| 44834 | LDIR | Copy the bytes and take an offset of 4. | ||
| 44836 | LD DE,4 | |||
|
View the equivalent code in;
|
||||
| Prev: 44778 | Up: Map | Next: 44839 |