GN_Msc, Miscellaeneous time operations
Register parameters
RST 20H, DEFW $2009
IN: A = MT_CVT ($00), Convert source to time to elapse: BHL = source time days CDE = source time centiseconds/ticks A = MT_UBT ($01), Update base time: BHL = additional offset in minutes C = offset in seconds A = MT_UPT ($02), Read uptime OUT, if A(in) = MT_CVT Fc = 0, success BHL = minutes still to elapse C = seconds still to elapse (only when minutes < 0) A = centiseconds still to elapse Fc = 1, failure A = RC_FAIL ($16), time given to routine has already elapsed Registers changed after return: ....DE../IXIY same AFBC..HL/.... different OUT, if A(in) = MT_UBT Fc = 0, always Registers changed after return: A.BCDEHL/IXIY same .F....../.... different OUT, if A(in) = MT_UPT Fc = 0, always DE = days since latest hard reset H = hours, L = minutes and C = seconds Registers changed after return: A.B...../IXIY same .F.CDEHL/.... different
Notes
- MT_CVT : Operating system uses this call to determine when an alarm has to be triggered by calculating difference between alarm time and current time.
- MT_UBT : Applications should not use this call, the system to maintain the time over soft reset. It adjusts the base time because hardware timers are reset.
- MT_UPT : Uptime is the operating system running time since latest hard reset. Uptime is preserved over soft reset (OZ V5.0).
Related calls
GN_Gmt, get (read) machine time in internal format
GN_Gtm, convert an ASCII string to a time in internal format
GN_Pmt, put (set) machine time
GN_Ptm, write internal time as ASCII string
GN_Sdo, send date and time to standard output
OS_Dly, delay a given period