OS_Word 14
Reason: 0
Returns the INTERNATIONAL version of the string, it will return the correct LOCAL time.
Reason: 1
Should not be used anymore but returns values for the local time, not GMT.
Reason: 2
Should not be used, but accepts values for local time.
Reason: 3
Reads UTC (GMT) time in 5 byte format.
OS_Word 15
Reason: 8,15,24
Sets the time from an INTERNATIONAL string, the string should represent local time.
(All month, day names and the like are in the local language).
OS_ConvertStandardDateAndTime
Entry:
R0 = Pointer to 5 byte UTC time value
R1 = Pointer to buffer for resulting string
R2 = Size of buffer
Exit:
R0 = Pointer to buffer (R1 on entry)
R1 = Pointer to terminating 0 in buffer.
R2 = Number of bytes free in buffer.
OS_ConvertDateAndTime
Entry:
R0 = Pointer to 5 byte UTC time block
R1 = Pointer to buffer for resulting string
R2 = Size of buffer
R3 = Pointer to format string (null terminated)
Exit:
R0 = Pointer to buffer (R1 on entry)
R1 = Pointer to terminating 0 in buffer.
R2 = Number of bytes free in buffer.
R3 = Preserved
The fields for the above are now:
CS - Centi-seconds
WE - Weekday in full in local language. W3 - Short form of weekday name (May not be 3 characters) WN - Weekday as a number
DY - Day of the month (may not be 2 characters, and may not even be
numeric)
ST - Ordinal pre/suffix in local language (may be null)
MO - Month name in full
M3 - Short form of month name (May not be 3 characters)
MN - Month number.
CE - Century
YR - Year within century
WK - Week of the year (As calculated in the territory, may not be Mon to
Sun)
DN - Day of the year.
0 Insert an ASCII 0 byte
% Insert a '%'
Territory_ReadCalendarInformation
In:
R0 = Territory to use (-1 = Configured)
R1 = Pointer to 5 byte UTC time value.
R2 = Pointer to an 11 word buffer
Out:
R0,R1 Preserved.
[R1] = Number of first working day in the week. [R1+4] = Number of last working day in the week. [R1+8] = Number of months in the current year.
(current = one in which given time falls)[R1+12] = Number of days in the current month.
[R1+16] = Max length of AM/PM string.
[R1+20] = Max length of WE string.
[R1+24] = Max length of W3 string.
[R1+28] = Max length of DY string.
[R1+32] = Max length of ST string (May be 0).
[R1+36] = Max length of MO string.
[R1+40] = Max length of M3 string.
Territory_ConvertTimeToOrdinals
In:
R0 = Territory to use (-1 = Configured)
R1 = Pointer to 5 byte UTC time value.
R2 = Pointer to buffer
Out
R0,R1 preserved.
[R1] = CS. ; all values are for LOCAL time[R1+4] = Second
Territory_ConvertOrdinalsToTime
In:
R0 = Territory to use (-1 = Configured)
R1 = Pointer to 5 byte buffer. ; all values are for LOCAL time
R2 = Pointer to buffer
[R1] = CS.
[R1+4] = Second
[R1+8] = Minute
[R1+12] = Hour (out of 24)
[R1+16] = Day number in month.
[R1+20] = Month number in year.
[R1+24] = Year number.
Out
[R0] 5 byte UTC time.
Territory_SetTime
In:
R0 = Pointer to 5 byte UTC time value
Out:
CMOS clock set to given time.