Routines |
Prev: 62238 | Up: Map | Next: 62351 |
Used by the routine at 54098.
|
||||
Handler_TimeBar | 62281 | LD B,40 | B=40. | |
62283 | LD HL,55354 | HL=Time. | ||
62286 | RES 5,(HL) | Reset bits 5 and 6 of *HL. | ||
62288 | RES 6,(HL) | |||
62290 | LD HL,(55387) | HL=*TimeBar_CurrentPosition. | ||
UpdateTimeBar_Loop | 62293 | LD C,4 | Set a pixel counter in C for the height of each segment. | |
62295 | PUSH HL | Stash the current screen position on the stack. | ||
Handler_TimeBar_0 | 62296 | SCF | Set the carry flag (prepare for the right rotation). | |
62297 | RR (HL) | Rotate *HL right one position. | ||
62299 | JP C,Handler_TimeBar_2 | If the carry flag is set after the rotation, move to the next column - jump to Handler_TimeBar_2. | ||
62302 | INC H | Increment H by one. | ||
62303 | DEC C | Decrease the pixel counter by one. | ||
62304 | JP NZ,Handler_TimeBar_0 | Jump to Handler_TimeBar_0 until the full height of the bar has been drawn. | ||
62307 | LD A,B | H=B+30. | ||
62308 | ADD A,30 | |||
62310 | LD H,A | |||
62311 | LD L,20 | L=20. | ||
62313 | LD A,5 | A=5. | ||
Handler_TimeBar_1 | 62315 | XOR %00010000 | Flip bit 4. | |
62317 | OUT (254),A | Send to the speaker. | ||
62319 | LD D,H | Load the pitch delay counter into D. | ||
TimeBar_PitchDelay | 62320 | DEC D | Decrease the pitch delay counter by one. | |
62321 | JP NZ,TimeBar_PitchDelay | Jump back to TimeBar_PitchDelay until the pitch delay counter is zero. | ||
62324 | DEC L | Decrease L by one. | ||
62325 | JP NZ,Handler_TimeBar_1 | Jump to Handler_TimeBar_1 until L is zero. | ||
62328 | POP HL | Restore HL from the stack. | ||
62329 | DJNZ UpdateTimeBar_Loop | Decrease counter by one and loop back to UpdateTimeBar_Loop until counter is zero. | ||
62331 | RET | Return. | ||
Handler_TimeBar_2 | 62332 | POP HL | Restore HL from the stack. | |
62333 | LD A,(55390) | A=*TimeBar_Length. | ||
62336 | CP 20 | Return if A is greater than or equal to 20. | ||
62338 | RET P | |||
62339 | INC A | Increment A by one. | ||
62340 | LD (55390),A | Write A to *TimeBar_Length. | ||
62343 | INC HL | Increment HL by one. | ||
62344 | LD (55387),HL | Write HL to *TimeBar_CurrentPosition. | ||
62347 | PUSH HL | Stash HL on the stack. | ||
62348 | JP Handler_TimeBar_0 | Jump to Handler_TimeBar_0. |
Prev: 62238 | Up: Map | Next: 62351 |