![]() |
Routines |
| Prev: 6498 | Up: Map | Next: 64F0 |
|
Used by the routine at 6A9B.
|
||||
| HandlerTime | 64C7 | LD A,($5C78) | A=FRAMES. | |
| 64CA | CP $32 | Return if A < 32. | ||
| 64CC | RET C | |||
| 64CD | SUB $32 | A = A - 32. | ||
| 64CF | LD ($5C78),A | Write A back to FRAMES. | ||
|
Update the time from the smallest unit upwards.
Handles the "seconds".
|
||||
| 64D2 | LD HL,$5E33 | HL=Time_3. | ||
| 64D5 | LD A,(HL) | Grab the seconds. | ||
| 64D6 | INC A | Increase seconds by one. | ||
| 64D7 | DAA | Write seconds back to Time_3. | ||
| 64D8 | LD (HL),A | |||
| 64D9 | CP $60 | Return unless seconds have reached 60. | ||
| 64DB | RET NZ | |||
| 64DC | LD (HL),$00 | Reset seconds to 00. | ||
|
Handles the "minutes".
|
||||
| 64DE | DEC HL | HL=Time_2. | ||
| 64DF | LD A,(HL) | Grab the minutes. | ||
| 64E0 | INC A | Increase minutes by one. | ||
| 64E1 | DAA | Write minutes back to Time_2. | ||
| 64E2 | LD (HL),A | |||
| 64E3 | CP $60 | Return unless minutes have reached 60. | ||
| 64E5 | RET NZ | |||
| 64E6 | LD (HL),$00 | Reset minutes to 00. | ||
|
Handles the "hours".
|
||||
| 64E8 | DEC HL | HL=Time_1. | ||
| 64E9 | LD A,(HL) | Grab the hours. | ||
| 64EA | INC A | Increase hours by one. | ||
| 64EB | DAA | Keeping only bits 0-3, write hours back to Time_1. | ||
| 64EC | AND %00001111 | |||
| 64EE | LD (HL),A | |||
| 64EF | RET | Return. | ||
| Prev: 6498 | Up: Map | Next: 64F0 |