Prev: 70E8 Up: Map Next: 711A
70F3: Gather an action pattern's flags
Used by the routines at NARRATE_ACTION, WOULD_WORK and ASSIGN_PHRASES.
The top four bits of each of the pattern's four word references are flags, not part of the word. They are gathered in pairs: FLAGS_FIRST_WORDS from the first two references, FLAGS_LAST_WORDS from the last two. What is known of them is in PATTERN_OPTIONS, NARRATE_ACTION and WOULD_WORK: bits 2 and 3 of FLAGS_FIRST_WORDS are the second and first objects, bit 4 not narrated, bit 7 an object that is a place, bit 0 PATTERN_OPTION; bit 6 of FLAGS_LAST_WORDS needs light.
Traced further for the how-it-works pages (2026-09-27): in FLAGS_FIRST_WORDS, bit 5 means the target's phrase carries the particle (read by the phrase assignment); in FLAGS_LAST_WORDS, bits 2-3 and 0-1 are the find mode for the target and for the instrument, bit 5 is set only by GIVE ... TO, and bit 7 only by CLIMB OUT OF, for its narration.
Input
IX The pattern
PATTERN_FLAGS 70F3 LD A,(IX+$05) FLAGS_LAST_WORDS = the fourth reference's flags, with the third's below them
70F6 RRCA
70F7 RRCA
70F8 RRCA
70F9 RRCA
70FA AND $0F
70FC LD C,A
70FD LD A,(IX+$07)
7100 AND $F0
7102 ADD A,C
7103 LD (FLAGS_LAST_WORDS),A
7106 LD A,(IX+$01) FLAGS_FIRST_WORDS = the second reference's flags, with the first's below them
7109 RRCA
710A RRCA
710B RRCA
710C RRCA
710D AND $0F
710F LD C,A
7110 LD A,(IX+$03)
7113 AND $F0
7115 ADD A,C
7116 LD (FLAGS_FIRST_WORDS),A
7119 RET
Prev: 70E8 Up: Map Next: 711A