Prev: 49113 Up: Map Next: 49211
49164: Get Time Period
Handles calculating a time-period code for scheduling events.
Time Period Code Meaning
1 Late night/ evening (8 PM - 5 AM)
2 7 PM
3 Afternoon (1 PM - 6 PM)
4 Morning/ Midday (7 AM - 12 PM)
5 6 AM
Output
A Time period code
GetTimePeriod 49164 LD A,(40930) Fetch *Messaging_AM_PM.
49167 CP 97 Check if its "A" for AM.
49169 LD A,(40928) Load *CurrentTime_Hour into A.
Is it morning?
49172 JR Z,TimePeriod_AM Jump to TimePeriod_AM if *Messaging_AM_PM is ASCII 97 ("a").
It's the afternoon (as in, "PM").
49174 CP 12 Jump to TimePeriod_Morning if it's noon (12 PM).
49176 JR Z,TimePeriod_Morning
49178 CP 8 Jump to TimePeriod_Pre_8PM if it's before 8 PM.
49180 JR C,TimePeriod_Pre_8PM
It's late PM/ evening; 8 PM - 11 PM.
TimePeriod_LateEvening 49182 LD A,1 A=1.
49184 RET Return.
It's before 8 PM, but break this down further.
TimePeriod_Pre_8PM 49185 CP 7 Jump to TimePeriod_Afternoon if its not 7 PM.
49187 JR NZ,TimePeriod_Afternoon
It's 7 PM.
49189 LD A,2 A=2.
49191 RET Return.
It's afternoon/ early PM; 1 PM - 6 PM.
TimePeriod_Afternoon 49192 LD A,3 A=3.
49194 RET Return.
It's morning, but break this down further.
TimePeriod_AM 49195 CP 12 Jump to TimePeriod_LateEvening if it's midnight (12 AM).
49197 JR Z,TimePeriod_LateEvening
49199 CP 6 Jump to TimePeriod_LateEvening if it's before 6 AM.
49201 JR C,TimePeriod_LateEvening
49203 JR Z,TimePeriod_EarlyMorning Jump to TimePeriod_EarlyMorning if it's 6 AM.
It's morning; 7 AM - noon (12 PM).
TimePeriod_Morning 49205 LD A,4 A=4.
49207 RET Return.
It's early morning; 6 AM.
TimePeriod_EarlyMorning 49208 LD A,5 A=5.
49210 RET Return.
Prev: 49113 Up: Map Next: 49211