GN_Pmt, Put (set) machine time
Register parameters
RST 20H, DEFW $1E09
IN: HL = 0, not allowed HL = 1, not allowed HL = 2, 3 byte internal time in ABC (A = high byte, C = low byte) HL > 255, HL points to 3 byte internal time (low byte first) E = least significant byte of assumed date OUT, if call successful: Fz = 0, if time is inconsistent with assumed date in E(in). Registers changed after return: ..BCDEHL/IXIY same AF....../.... differentÂ
Notes
The time is used throughout the machine and should only be altered if the user of the machine is fully aware of the fact. Flow sequence:
- Divide by 100 (get set seconds).
- Read the time in days/seconds.
- Store base centiseconds.
- Reset the RTC.
- X = Days (1 day in seconds)
- Z = X + Set seconds
- Store new base time
Bugs
Call probably crashes if HL points to segment 3.
Related calls
GN_Gmt, get (read) machine time in internal format
GN_Gtm, convert an ASCII string to a time in internal format
GN_Msc, miscellaneous time operations
GN_Ptm, write internal time as ASCII string
GN_Pmd, Put (set) machine date
GN_Sdo, send date and time to standard output
OS_Dly, delay a given period