Prev: 64245 Up: Map Next: 64370
64294: Clear screen before drawing picture
Used by the routine at 64275.
Input
DE current location
CLEAR_SCREEN 64294 LD A,(23697) A=current state of colour flags
64297 LD (64218),A Store current state of colour flags
64300 AND 15 Clear ink 9 / paper 9 settings
64302 LD (23697),A Rewrite colour flags
64305 LD A,(23624) A=current border colour
64308 LD (64219),A Store current border colour
64311 LD HL,(64186) HL=picture table
64314 LD D,0 Clear MSB of DE
64316 ADD HL,DE HL=offset in picture table of current location
64317 LD A,(HL) A=picture info
64318 RES 3,(IY+9)
64322 BIT 7,A Is there a picture to show?
64324 JR NZ,CLEAR_SCREEN_0
64326 SET 3,(IY+9)
CLEAR_SCREEN_0 64330 AND 63
64332 LD HL,(23693) HL=current permanent colours/transparent colours
64335 LD (64220),HL Store current colours
64338 LD L,A L=permanent colours for picture
64339 LD H,0 Transparent colours=0
64341 LD (23693),HL Set current colours
64344 AND 56 Set bits 0,1,2,6 and 7 of flag to 0 (ink black)
64346 BIT 5,A Is bit 5 of flag set? (paper=green,yellow,cyan or white)
64348 JR NZ,CLEAR_SCREEN_1 If so, leave ink as black
64350 OR 7 Set bits 0,1,2 of picture flag (ink white)
CLEAR_SCREEN_1 64352 LD (23624),A Set border colour in system variables to that given
64355 RRCA
64356 RRCA
64357 RRCA Move the paper colour into the lower three bits
64358 OUT (254),A Update border with paper colour
64360 PUSH DE
64361 CALL 3435 Clear the whole screen
64364 POP DE
64365 SET 7,(IY+9)
64369 RET
Prev: 64245 Up: Map Next: 64370