Prev: B17E Up: Map Next: B39C
B191: Initialise Display Buffer
Used by the routine at ProcessScriptDisplay.
InitialiseDisplayBuffer B191 LD A,$FF
B193 LD ($A035),A
B196 LD ($A034),A
B199 LD HL,$B16D
B19C LD B,$11
B19E CALL ClearBuffer
B1A1 CALL ProcessDisplayPointer
B1A4 JR NZ,InitialiseDisplayBuffer_0
B1A6 LD HL,$B84C
B1A9 XOR A
B1AA RET
InitialiseDisplayBuffer_0 B1AB LD A,$01
B1AD PUSH IX
B1AF POP HL
B1B0 LD DE,$8259
B1B3 SBC HL,DE
B1B5 JR Z,InitialiseDisplayBuffer_2
B1B7 LD DE,$0008
InitialiseDisplayBuffer_1 B1BA INC A
B1BB SBC HL,DE
B1BD JR NZ,InitialiseDisplayBuffer_1
InitialiseDisplayBuffer_2 B1BF LD ($A033),A
B1C2 LD ($B18E),IX
B1C6 CP $2E
B1C8 JR NZ,InitialiseDisplayBuffer_4
B1CA LD HL,$B16D
B1CD BIT 0,(HL)
B1CF LD HL,$A002
B1D2 LD DE,$B172
B1D5 LD BC,$0006
B1D8 JR Z,InitialiseDisplayBuffer_3
B1DA EX DE,HL
InitialiseDisplayBuffer_3 B1DB LDIR
InitialiseDisplayBuffer_4 B1DD CALL CheckDisplayFlagBit3
B1E0 CALL CheckDisplayFlagBit2
B1E3 LD A,($A01C)
B1E6 AND A
B1E7 JR NZ,InitialiseDisplayBuffer_5
B1E9 LD A,($B39C)
B1EC LD ($A01C),A
B1EF CALL InitialiseDisplayBuffer_27
InitialiseDisplayBuffer_5 B1F2 LD A,($A01E)
B1F5 AND $10
B1F7 LD ($B190),A
B1FA JR Z,InitialiseDisplayBuffer_6
B1FC XOR A
B1FD LD ($A01C),A
InitialiseDisplayBuffer_6 B200 XOR A
B201 LD ($A00B),A
B204 LD A,($A01D)
B207 AND $0C
B209 JR NZ,InitialiseDisplayBuffer_8
InitialiseDisplayBuffer_7 B20B CALL ProcessObjectDisplayLogic
B20E RET NZ
B20F LD HL,$B863
B212 RET
InitialiseDisplayBuffer_8 B213 CALL InitialiseDisplayBuffer_31
B216 JR NZ,InitialiseDisplayBuffer_13
B218 LD A,($A01C)
B21B AND A
B21C JR NZ,InitialiseDisplayBuffer_9
B21E CALL InitialiseDisplayBuffer_21
B221 AND A
B222 JR Z,InitialiseDisplayBuffer_11
InitialiseDisplayBuffer_9 B224 CALL CheckFlagAndSetDisplay_Entry
B227 JR Z,InitialiseDisplayBuffer_10
B229 CALL ProcessObjectDisplayLogic
B22C JR Z,InitialiseDisplayBuffer_9
B22E LD A,($A034)
B231 LD ($B184),A
B234 LD HL,$B170
B237 INC (HL)
B238 LD A,($B190)
B23B AND A
B23C JR NZ,InitialiseDisplayBuffer_10
B23E LD A,($A01C)
B241 AND A
B242 JR Z,InitialiseDisplayBuffer_9
InitialiseDisplayBuffer_10 B244 LD A,($B184)
B247 LD ($A034),A
B24A LD A,($B170)
B24D AND A
B24E JR Z,InitialiseDisplayBuffer_11
B250 CP $01
B252 JR Z,InitialiseDisplayBuffer_7
B254 LD HL,$B5E2
B257 XOR A
B258 RET
InitialiseDisplayBuffer_11 B259 LD A,($A033)
B25C CP $2E
B25E JR NZ,InitialiseDisplayBuffer_12
B260 LD A,($A01C)
B263 AND A
B264 JR NZ,InitialiseDisplayBuffer_12
B266 LD HL,$B16D
B269 BIT 0,(HL)
B26B JR NZ,InitialiseDisplayBuffer_12
B26D LD HL,$0000
B270 LD ($B172),HL
B273 LD ($B174),HL
B276 LD ($B176),HL
B279 JR InitialiseDisplayBuffer_8
InitialiseDisplayBuffer_12 B27B LD HL,$B65F
B27E XOR A
B27F RET
InitialiseDisplayBuffer_13 B280 LD A,($A01C)
B283 AND A
B284 JR NZ,InitialiseDisplayBuffer_14
B286 CALL InitialiseDisplayBuffer_21
B289 AND A
B28A JR Z,InitialiseDisplayBuffer_11
B28C CALL InitialiseDisplayBuffer_24
B28F AND A
B290 JR Z,InitialiseDisplayBuffer_20
InitialiseDisplayBuffer_14 B292 CALL CheckFlagAndSetDisplay_Entry
B295 JR Z,InitialiseDisplayBuffer_15
B297 CALL InitialiseDisplayBuffer_17
B29A LD A,($B171)
B29D CP $01
B29F JR NZ,InitialiseDisplayBuffer_14
B2A1 LD A,($A034)
B2A4 LD ($B184),A
B2A7 LD HL,$B170
B2AA INC (HL)
B2AB LD A,($B190)
B2AE AND A
B2AF JR NZ,InitialiseDisplayBuffer_15
B2B1 LD A,($A01C)
B2B4 AND A
B2B5 JR Z,InitialiseDisplayBuffer_14
InitialiseDisplayBuffer_15 B2B7 LD A,($B184)
B2BA LD ($A034),A
B2BD LD A,($B170)
B2C0 AND A
B2C1 JR Z,InitialiseDisplayBuffer_11
B2C3 CP $01
B2C5 JR NZ,InitialiseDisplayBuffer_16
B2C7 CALL InitialiseDisplayBuffer_17
B2CA LD A,($B171)
B2CD AND A
B2CE JR Z,InitialiseDisplayBuffer_20
B2D0 CP $01
B2D2 JP Z,InitialiseDisplayBuffer_7
B2D5 LD HL,$B5D3
B2D8 XOR A
B2D9 RET
InitialiseDisplayBuffer_16 B2DA LD HL,$B5E2
B2DD XOR A
B2DE RET
InitialiseDisplayBuffer_17 B2DF CALL InitialiseDisplayBuffer_29
InitialiseDisplayBuffer_18 B2E2 CALL CheckFlagAndSetDisplayParameter_0
B2E5 JR Z,InitialiseDisplayBuffer_19
B2E7 CALL ProcessObjectDisplayLogic
B2EA JR Z,InitialiseDisplayBuffer_18
B2EC LD A,($A035)
B2EF LD ($B185),A
B2F2 LD HL,$B171
B2F5 INC (HL)
B2F6 LD A,($B190)
B2F9 AND A
B2FA JR Z,InitialiseDisplayBuffer_18
InitialiseDisplayBuffer_19 B2FC LD A,($B185)
B2FF LD ($A035),A
B302 RET
InitialiseDisplayBuffer_20 B303 LD HL,$B6AE
B306 XOR A
B307 RET
InitialiseDisplayBuffer_21 B308 LD HL,($B17E)
B30B PUSH HL
B30C LD A,($B4A2)
B30F PUSH AF
B310 CALL InitialiseDisplayBuffer_27
InitialiseDisplayBuffer_22 B313 CALL CheckFlagAndSetDisplay_Entry
B316 JR Z,InitialiseDisplayBuffer_23
B318 LD HL,$B170
B31B INC (HL)
B31C JR InitialiseDisplayBuffer_22
InitialiseDisplayBuffer_23 B31E POP AF
B31F LD ($B4A2),A
B322 LD HL,$B170
B325 LD A,(HL)
B326 LD (HL),$00
B328 POP HL
B329 LD ($B17E),HL
B32C RET
InitialiseDisplayBuffer_24 B32D LD HL,($B180)
B330 PUSH HL
B331 CALL InitialiseDisplayBuffer_29
B334 LD A,($B549)
B337 PUSH AF
InitialiseDisplayBuffer_25 B338 CALL CheckFlagAndSetDisplayParameter_0
B33B JR Z,InitialiseDisplayBuffer_26
B33D LD HL,$B171
B340 INC (HL)
B341 JR InitialiseDisplayBuffer_25
InitialiseDisplayBuffer_26 B343 POP AF
B344 LD ($B549),A
B347 LD A,($B171)
B34A POP HL
B34B LD ($B180),HL
B34E RET
InitialiseDisplayBuffer_27 B34F XOR A
B350 LD ($B170),A
B353 LD A,$FF
B355 LD ($B4A2),A
B358 CALL AdjustObjectTableForSum
B35B LD A,($A00F)
B35E CP $07
B360 JR NC,InitialiseDisplayBuffer_28
B362 LD IX,$0000
InitialiseDisplayBuffer_28 B366 LD ($B17E),IX
B36A RET
InitialiseDisplayBuffer_29 B36B XOR A
B36C LD ($B171),A
B36F LD A,$FF
B371 LD ($B549),A
B374 CALL AdjustObjectTableForSum
B377 LD A,($A010)
B37A CP $07
B37C JR NC,InitialiseDisplayBuffer_30
B37E LD IX,$0000
InitialiseDisplayBuffer_30 B382 LD ($B180),IX
B386 RET
InitialiseDisplayBuffer_31 B387 LD A,($A01D)
B38A BIT 2,A
B38C RET Z
B38D LD HL,$B16E
B390 BIT 0,(HL)
B392 RET NZ
B393 BIT 1,A
B395 JR NZ,InitialiseDisplayBuffer_32
B397 OR $01
B399 RET
InitialiseDisplayBuffer_32 B39A XOR A
B39B RET
Prev: B17E Up: Map Next: B39C