Prev: 44778 Up: Map Next: 44839
44785: Merge Character Flags
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