Prev: 9945 Up: Map Next: 99D1
996A: HUD flash
Used by the routine at 9470.
996A LD A,($A1DB) Return if HUD flash is not active
996D CP $FF
996F RET Z
9970 LD E,A Set HL to the address into commands table for HUD flash based on flash index value
9971 LD D,$00
9973 LD HL,$99D1
9976 ADD HL,DE
9977 LD A,(HL) Set A to the value of the commands table for HUD flash
9978 CP $FF Jump forward if command value is not equal to $FF
997A JP NZ,$9983
997D LD A,$FF inactive HUD flash
997F LD ($A1DB),A
9982 RET
9983 LD ($A22C),A Save into A093 the value of the command
9986 LD HL,$5800 Set HL the base address of the attribute file
9989 LD DE,$E4FF Set DE the base address of the attribute buffer
998C LD B,$40 Set B the number of bytes to flash
998E LD A,($A22C) Set A to the value of the command
9991 CP $01 command 1?
9993 JP Z,$99B8 Jump to handle flash command 1
9996 OR A command 0?
9997 JP Z,$99C5 Jump to handle flash command 0
999A CP $02 command 2?
999C JP Z,$99AB Jump to handle flash command 2
handle the next byte
999F INC HL Increase address into attribute file
99A0 INC DE Increase address into attribute buffer
99A1 DJNZ $998E Jump to process the next byte
99A3 LD A,($A1DB) Increment flash index into commands table
99A6 INC A
99A7 LD ($A1DB),A
99AA RET
handle flash command #2
99AB LD A,(DE) Set A the color attribute from attribute buffer
99AC CP (HL) Compare with attribute file
99AD JP Z,$999F Jump to the next byte if equal
99B0 LD A,(HL) Increment attribute color in attribute file
99B1 INC A
99B2 AND $07
99B4 LD (HL),A
99B5 JP $999F Jump to process next byte
handle flash command #1
99B8 LD A,(HL) Set A the color attribute
99B9 INC A Increase color attribute
99BA CP $07 Jump to the next byte if color attribute is $07
99BC JP Z,$999F
99BF AND $07 Set the new color attribute
99C1 LD (HL),A
99C2 JP $999F Jump to the next byte
handle flash command #0
99C5 LD A,(HL) Set A the color attribute
99C6 DEC A Decrease color attribute
99C7 OR A Jump to the next byte if color attribute is $00
99C8 JP Z,$999F
99CB AND $07 Set the new color attribute
99CD LD (HL),A
99CE JP $999F Jump to the next byte
Prev: 9945 Up: Map Next: 99D1