Real Time Clock
The Real Time Clock has previously been handled by the Kernel. With Kernel 8.64 and later the clock is managed by the RTC module. This communicates with the hardware driver through a vector (RTCV), whose default claimant is the RTCHW module. The RTCHW module provides implementations for the RiscPC, A7000-series, RiscStation, and A9.
The RTC module provides the Kernel SWI OS_ResyncTime, and all the OS_Word 14 and 15 operations to control the clock. A new reason code has been added to OS_Word 15 for setting the clock's 5 byte time directly. See the OS_Word15 document for more details.
A separate document describes the RTCV vector.
OS_ResyncTime (&6C)
on entry
R0 = reason code :
0 = synchronise with hardware clock
other reserved
This SWI is used to cause the software clock to be resynchronised with the hardware clock, where available. When changed, a service call Service_RTCSynchronised will be issued. This call was new to RISC OS 4.
Service_RTCSynchronised (&DD)
on entry
R1 = &DD
on exit
R1 preserved to pass on (do not claim)
This service is issued by the RTC module to inform clients that the software and hardware clocks have been synchronised. It may indicate that an
indeterminate period of inactivity has taken place, such as after returning from a suspend state. Where possible, timed events should be synchronised and where necessary appropriate action taken to ensure that queued events take place.
This service should never be claimed.
|