Prev: AEEA Up: Map Next: AF27
AEF1: 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 AEF1 EXX Read the moved marker.
AEF2 LD A,(IX+$01)
AEF5 AND $7F Merge A into the byte at IY+01 keeping that byte's top bit.
AEF7 OR (IY+$01)
AEFA LD (IY+$01),A
AEFD LD A,(IX+$00) Store the character id.
AF00 LD (IY+$00),A
AF03 EXX
AF04 LD A,(IX+$04) Read the attribute type.
AF07 OR (IX+$05) Merge the object attribute into the result.
AF0A RET Z Return when this character has no attribute.
AF0B LD A,$0E Return if copying this display entry did not match.
AF0D CALL CopyScheduleEntry
AF10 RET NZ
AF11 EXX Switch register sets and point HL at byte 12 of the record at IY.
AF12 PUSH IY
AF14 POP HL
AF15 LD DE,$0012
AF18 ADD HL,DE
AF19 PUSH HL Take the graphics: baker street and move the pointer on by the length.
AF1A LD DE,$FFF6
AF1D ADD HL,DE
AF1E POP DE
AF1F LD BC,$0006 Take a length of 06 bytes.
AF22 LDIR Copy the bytes and take an offset of 04.
AF24 LD DE,$0004
View the equivalent code in;
Prev: AEEA Up: Map Next: AF27