Prev: B934 Up: Map Next: B9FA
B936: Process Script Display
Used by the routine at ScriptInterpreter.
ProcessScriptDisplay B936 PUSH IX
B938 PUSH IY
B93A PUSH HL
B93B LD ($B935),A
ProcessScriptDisplay_0 B93E CALL ProcessTextTokenStream_20
B941 LD A,(IX+$07)
B944 CP $02
B946 JP Z,ProcessCharacterDisplay
B949 LD A,(IX+$01)
B94C CP $FF
B94E JR Z,ProcessScriptDisplay_3
B950 LD A,($B935)
B953 LD ($B934),A
B956 LD A,(IX+$02)
B959 LD ($A01C),A
B95C LD C,(IX+$03)
B95F LD B,(IX+$04)
B962 LD ($B17E),BC
B966 CALL InitialiseDisplayBuffer
B969 JR Z,ProcessScriptDisplay_6
B96B LD IX,($B866)
B96F LD BC,($B17E)
B973 LD (IX+$03),C
B976 LD (IX+$04),B
B979 LD A,($A01C)
B97C LD (IX+$02),A
B97F AND A
B980 CALL Z,ProcessScriptDisplay_7
ProcessScriptDisplay_1 B983 LD A,$01
ProcessScriptDisplay_2 B985 POP HL
B986 POP IY
B988 POP IX
B98A AND A
B98B RET
ProcessScriptDisplay_3 B98C LD A,(IX+$02)
B98F CALL ProcessRoomDisplayParameter
B992 LD ($A033),A
B995 LD A,(IX+$03)
B998 CALL ProcessRoomDisplayParameter
B99B LD ($A034),A
B99E LD A,(IX+$04)
B9A1 CALL ProcessRoomDisplayParameter
B9A4 LD ($A035),A
B9A7 CALL CopyPointerToStack
B9AA JR ProcessScriptDisplay_1
ProcessScriptDisplay_4 B9AC CALL ProcessScriptDisplay_7
B9AF JR NZ,ProcessScriptDisplay_4
ProcessScriptDisplay_5 B9B1 XOR A
B9B2 JR ProcessScriptDisplay_2
ProcessScriptDisplay_6 B9B4 LD A,($A01C)
B9B7 AND A
B9B8 JR Z,ProcessScriptDisplay_4
B9BA LD IX,($B866)
B9BE LD (IX+$02),$00
B9C2 CALL ProcessScriptDisplay_7
B9C5 JR Z,ProcessScriptDisplay_5
B9C7 JP ProcessScriptDisplay_0
ProcessScriptDisplay_7 B9CA LD IX,($B866)
ProcessScriptDisplay_8 B9CE LD L,(IY-$02)
B9D1 LD H,(IY-$01)
B9D4 LD (IX+$05),L
B9D7 LD (IX+$06),H
B9DA PUSH IX
B9DC PUSH IY
B9DE POP IX
B9E0 CALL ProcessMemoryEntry
B9E3 POP IX
B9E5 LD A,L
B9E6 OR H
B9E7 JR Z,ProcessScriptDisplay_9
B9E9 PUSH HL
B9EA POP IY
B9EC BIT 6,(IY+$01)
B9F0 JR NZ,ProcessScriptDisplay_8
B9F2 OR $01
B9F4 RET
ProcessScriptDisplay_9 B9F5 CALL CopyPointerToStack
B9F8 XOR A
B9F9 RET
Prev: B934 Up: Map Next: B9FA