Prev: 46974 Up: Map Next: 47391
46975: Process Text Token Stream
Used by the routine at ProcessLocationDisplay.
Output
F Zero flag set if end of stream reached
ProcessTextTokenStream 46975 LD A,(46974) Jump to ProcessTextTokenStream_1 if *46974 is not equal to 255.
46978 CP 255
46980 JR NZ,ProcessTextTokenStream_1
ProcessTextTokenStream_0 46982 LD HL,(46806) HL=*46806.
46985 LD A,L Return if HL is zero.
46986 OR H
46987 RET Z
46988 XOR A Write 0 to *46974.
46989 LD (46974),A
46992 PUSH HL IX=HL (using the stack).
46993 POP IX
46995 LD L,(IX-2) L=*IX-2.
46998 LD H,(IX-1) H=*IX-1.
47001 LD (46806),HL Write HL to *46806.
47004 LD L,(IX+0) L=*IX+0.
47007 LD H,(IX+1) H=*IX+1.
47010 CALL ProcessMemoryEntry Call ProcessMemoryEntry.
47013 INC HL Increment HL by two.
47014 INC HL
47015 PUSH HL IX=HL (using the stack).
47016 POP IX
ProcessTextTokenStream_1 47018 LD A,(IX+0) A=*IX+0.
47021 INC IX Increment IX by one.
47023 BIT 7,A Jump to ProcessTextTokenStream_3 if bit 7 of A is not set.
47025 JR Z,ProcessTextTokenStream_3
47027 LD D,A D=A.
47028 LD E,(IX+0) E=*IX+0.
47031 INC IX Increment IX by one.
47033 AND %01110000 Keep only bits 4-6.
47035 CP 96 Jump to ProcessTextTokenStream_2 if A is equal to 96.
47037 JR Z,ProcessTextTokenStream_2
47039 CP 48 Jump to ProcessTextTokenStream_2 if A is equal to 48.
47041 JR Z,ProcessTextTokenStream_2
47043 CP 32 Return if A is not equal to 32.
47045 RET NZ
ProcessTextTokenStream_2 47046 LD A,255 Write 255 to *46974.
47048 LD (46974),A
47051 AND A Set flags.
47052 RET Return.
ProcessTextTokenStream_3 47053 CP 32 Jump to ProcessTextTokenStream_6 if A is less than 32.
47055 JR C,ProcessTextTokenStream_6
47057 CP 96 Jump to ProcessTextTokenStream_4 if A is less than 96.
47059 JR C,ProcessTextTokenStream_4
47061 CALL GetCommonWord Call GetCommonWord.
47064 OR %00000001 Set bit 0.
47066 LD A,0 A=0.
47068 RET Return.
ProcessTextTokenStream_4 47069 AND %00011111 Keep only bits 0-4.
47071 INC A Increment A by one.
47072 LD B,A B=A.
47073 PUSH IX HL=IX (using the stack).
47075 POP HL
47076 INC HL Increment HL by one.
47077 LD C,0 C=0.
ProcessTextTokenStream_5 47079 CALL RotateAndExtractCharacterCode Call RotateAndExtractCharacterCode.
47082 DJNZ ProcessTextTokenStream_5 Decrease counter by one and loop back to ProcessTextTokenStream_5 until counter is zero.
47084 PUSH HL IX=HL (using the stack).
47085 POP IX
47087 LD A,C A=C.
47088 AND A Jump to ProcessTextTokenStream_1 if HL is not equal to A.
47089 JR NZ,ProcessTextTokenStream_1
47091 DEC IX Decrease IX by one.
47093 JR ProcessTextTokenStream_1 Jump to ProcessTextTokenStream_1.
ProcessTextTokenStream_6 47095 CP 2
47097 JR NZ,ProcessTextTokenStream_8
47099 LD E,(IX+0)
47102 LD D,(IX+1)
47105 ADD IX,DE
ProcessTextTokenStream_7 47107 DEC IX
47109 JR ProcessTextTokenStream_1
ProcessTextTokenStream_8 47111 CP 11
47113 JR NZ,ProcessTextTokenStream_9
47115 LD E,(IX+0)
47118 LD D,(IX+1)
47121 PUSH IX
47123 POP HL
47124 LD A,2
47126 CALL AllocateMemory
47129 LD (IX+0),L
47132 LD (IX+1),H
47135 PUSH HL
47136 LD HL,(46806)
47139 LD (46806),IX
47143 LD (IX-2),L
47146 LD (IX-1),H
47149 POP HL
47150 ADD HL,DE
47151 PUSH HL
47152 POP IX
47154 JR ProcessTextTokenStream_7
ProcessTextTokenStream_9 47156 CP 29
47158 JP C,ProcessTextTokenStream_1
47161 JP ProcessTextTokenStream_0
This entry point is used by the routines at CheckFlagAndSetDisplayParameter, ProcessDisplayEntry and ProcessDisplayEntryAlternate.
ProcessTextTokenStream_10 47164 POP IX
47166 LD B,3
ProcessTextTokenStream_11 47168 LD E,(HL)
47169 INC HL
47170 LD D,(HL)
47171 INC HL
47172 PUSH DE
47173 DJNZ ProcessTextTokenStream_11
47175 POP HL
47176 EX (SP),HL
47177 PUSH HL
47178 JP (IX)
47180 LD HL,(45450)
47183 PUSH HL
47184 LD HL,(45448)
47187 PUSH HL
47188 LD HL,(45446)
47191 PUSH HL
47192 LD HL,(45452)
47195 PUSH HL
47196 LD HL,26730
47199 CALL PrintTextAndHandleControlCharacters
47202 RET
47203 JP ProcessObjectDisplayLogic
47206 NOP
47207 NOP
47208 NOP
47209 NOP
This entry point is used by the routine at 56629.
ProcessTextTokenStream_12 47210 PUSH AF
47211 LD IX,40942
47215 CALL FetchObjectPointerFromStack
47218 JR Z,ProcessTextTokenStream_15
47220 LD C,(IX+0)
47223 LD B,(IX+1)
47226 LD (47208),BC
47230 LD L,(IX-2)
47233 LD H,(IX-1)
47236 LD (40940),HL
47239 CALL ProcessMemoryEntry
47242 POP AF
47243 PUSH AF
47244 AND A
47245 JR Z,ProcessTextTokenStream_13
47247 CALL ProcessTextTokenStream_16
47250 JR Z,ProcessTextTokenStream_15
ProcessTextTokenStream_13 47252 LD BC,(47208)
47256 LD (41003),BC
ProcessTextTokenStream_14 47260 CALL 44671
47263 CP 192
47265 JR NZ,ProcessTextTokenStream_14
47267 LD HL,(41001)
47270 LD (HL),144
ProcessTextTokenStream_15 47272 POP AF
47273 RET
ProcessTextTokenStream_16 47274 LD HL,(47208)
47277 LD (41003),HL
47280 XOR A
47281 LD (40996),A
47284 LD HL,(40944)
47287 PUSH HL
47288 LD HL,0
47291 LD (40944),HL
ProcessTextTokenStream_17 47294 CALL 43698
47297 JR Z,ProcessTextTokenStream_18
47299 CP 2
47301 JR NZ,ProcessTextTokenStream_19
ProcessTextTokenStream_18 47303 LD HL,(41003)
47306 LD A,(HL)
47307 AND 240
47309 CP 192
47311 JR NZ,ProcessTextTokenStream_17
47313 LD (HL),144
47315 LD A,8
47317 CALL AllocateMemory
47320 LD HL,(40942)
47323 LD (40942),IX
47327 LD (IX-2),L
47330 LD (IX-1),H
47333 LD HL,(40944)
47336 LD (IX+5),L
47339 LD (IX+6),H
47342 POP HL
47343 LD (40944),HL
47346 XOR A
47347 LD (IX+1),A
47350 LD A,(41012)
47353 LD (IX+0),A
47356 LD A,(40996)
47359 LD (IX+7),A
47362 XOR A
47363 RET
ProcessTextTokenStream_19 47364 PUSH AF
47365 CALL 55421
47368 POP AF
47369 POP HL
47370 LD (40944),HL
47373 RET
This entry point is used by the routine at ProcessScriptDisplay.
ProcessTextTokenStream_20 47374 CALL CheckObjectInA036
47377 LD (47206),IX
47381 LD E,(IX+5)
47384 LD D,(IX+6)
47387 PUSH DE
47388 POP IY
47390 RET
Prev: 46974 Up: Map Next: 47391