Prev: A0C3 Up: Map Next: A133
A0C4: Update timer bar in HUD
Used by the routines at 947A and A915.
A0C4 LD A,($A042) Return if HDU flash active
A0C7 CP $FF
A0C9 RET NZ
A0CA LD A,($A064) Set DE the timer bar update slot
A0CD LD E,A
A0CE LD D,$00
A0D0 LD HL,$582B Set HL to the address into attribute file for the time bar position
A0D3 ADD HL,DE
A0D4 LD (HL),$46 Set color attribute to bright yellow
A0D6 INC HL Increase to the next time bar slot
A0D7 LD A,(HL) Jump forward if slot is green
A0D8 CP $04
A0DA JP Z,$A0DF
A0DD LD (HL),$06 Set color attribute to normal yellow
A0DF LD A,($A066) Check for time bar update direction
A0E2 OR A Jump forward to increase slot if direction is right
A0E3 JP Z,$A0E9
A0E6 JP $A0FB Jump forward to decrease slot if direction is left
A0E9 LD A,($A064) Increase time bar update slot
A0EC INC A
A0ED LD ($A064),A
A0F0 LD HL,$A067 Return if current update slot is less than the number of slots availables
A0F3 CP (HL)
A0F4 RET NZ
A0F5 LD A,$01 Change update direction to left
A0F7 LD ($A066),A
A0FA RET
A0FB LD A,($A064) Decrease timer bar update slot
A0FE DEC A
A0FF LD ($A064),A
A102 OR A Return if slot is not zero
A103 RET NZ
A104 XOR A Change direction to right
A105 LD ($A066),A
A108 LD A,($A065) Decrement time bar counter
A10B DEC A
A10C LD ($A065),A
A10F OR A if time bar counter is not zero return
A110 RET NZ
A111 LD A,$05 Reset time bar counter
A113 LD ($A065),A
A116 LD A,($A067) Decrement a time slot
A119 DEC A
A11A OR A Jump to kill rex if no time slots availables
A11B JP Z,$9BDA
A11E LD ($A067),A Set the number of availables time slots
A121 LD E,A Set this slot to green color in attribute file
A122 LD D,$00
A124 PUSH DE
A125 LD HL,$582C
A128 ADD HL,DE
A129 LD (HL),$04
A12B POP DE Set this slot to green color in attribute buffer
A12C LD HL,$E52B
A12F ADD HL,DE
A130 LD (HL),$04
A132 RET
Prev: A0C3 Up: Map Next: A133