![]()  | 
Routines | 
| Prev: 49094 | Up: Map | Next: 49164 | 
| 
 
Used by the routine at GameEntryPoint.
 
 | 
||||||||||
| 
 
Handle the game ticker.
 
 | 
||||||||||
| Handler_GameClock | 49113 | LD HL,(40925) | Increment *CurrentTime_Ticker by one. | |||||||
| 49116 | INC HL | |||||||||
| 49117 | LD (40925),HL | |||||||||
| 
 
Handle the clock minutes.
 
 | 
||||||||||
| 49120 | LD HL,40927 | Increment *CurrentTime_Minutes by one. | ||||||||
| 49123 | INC (HL) | |||||||||
| 49124 | LD A,(HL) | Return if *HL is not equal to 60 (e.g. it's less than 60 minutes). | ||||||||
| 49125 | CP 60 | |||||||||
| 49127 | RET NZ | |||||||||
| 
 
The minutes is at 60, which is invalid - so handle rolling the clock hour digits.
 
 | 
||||||||||
| 49128 | LD (HL),0 | Reset the minutes back to 0 at *HL. | ||||||||
| 
 
Handle the clock hours.
 
 | 
||||||||||
| 49130 | LD HL,40928 | Increment *CurrentTime_Hour by one. | ||||||||
| 49133 | INC (HL) | |||||||||
| 49134 | LD A,(HL) | Jump to Handler_GameClock_AM_PM if *HL is not equal to 13 (e.g. it's less than 13 o'clock). | ||||||||
| 49135 | CP 13 | |||||||||
| 49137 | JR NZ,Handler_GameClock_AM_PM | |||||||||
| 
 
The hours is at 13. which is invalid - so handle rolling the clock.
 
 | 
||||||||||
| 49139 | LD (HL),1 | Reset the hours back to 1 at *HL. | ||||||||
| 49141 | RET | Return. | ||||||||
| 
 
Is it midday yet?
 
 | 
||||||||||
| Handler_GameClock_AM_PM | 49142 | CP 12 | Return if *HL is not equal to 12. | |||||||
| 49144 | RET NZ | |||||||||
| 
 
It's either midday or midnight, so flip between AM and PM.
 
 | 
||||||||||
| 49145 | LD A,(40930) | A=*Messaging_AM_PM. | ||||||||
| 
 
Smart way of altering the letter from "a" to "p" and back again.  
  | 
||||||||||
| 49148 | XOR %00010001 | Flip bits 0, 4. | ||||||||
| 49150 | LD (40930),A | Write this back to *Messaging_AM_PM. | ||||||||
| 
 
If the clock went from PM to AM, handle rolling the day of the week.
 
 | 
||||||||||
| 49153 | CP 97 | Return if A is not equal to ASCII 97 ("a"). | ||||||||
| 49155 | RET NZ | |||||||||
| 49156 | LD A,(40929) | Increment *CurrentDayOfWeek by one. | ||||||||
| 49159 | INC A | |||||||||
| 49160 | LD (40929),A | |||||||||
| 49163 | RET | Return. | ||||||||
| Prev: 49094 | Up: Map | Next: 49164 |