[Rpcemu] Setting the date and Time

Theo Markettos rpcemu at markettos.org.uk
Wed Apr 22 15:00:05 PDT 2009

On Wed, Apr 22, 2009 at 08:16:42PM +0100, Paul Stewart wrote:
> Using RPCEmu under Puppy Linux.
> The ability to set the Time from within the emulator does not work.
> For example if I fire up Alarm and from the Alarm menu choose to set 
> the time, that act of setting it has no effect.  FreeTime is also 
> unable to set the time.

Which time are you trying to set... the emulator time, or the time of the
host system?

There are two clocks in RISC OS... a hardware clock, operated by the PCF8583
chip on the Risc PC motherboard, and a soft copy of this clock in RAM which
is updated from the IOMD timer by an interrupt routine.

RISC OS reads the hardware clock at startup into the soft copy, and then
only uses the soft copy.  Setting the clock writes the hardware clock, and
the soft copy is then updated from it.

In emulators such as Virtual RiscPC and RPCEmu, reading the hardware clock
actually reads the host OS' clock.  Writing the hardware clock has no effect
(in any case, you might need some kind of administrator privileges to change
the host clock).

Are you trying to adjust the RPCEmu clock because it has drifted away from
the host clock (ie the correct time)?  In which case, I suggest using the
SyncClock module.  It's written by David Ruck and is supplied with
VirtualAcorn.  It regularly reads the hardware clock and updates the RISC OS
soft copy - I haven't actually tried it on RPCEmu yet, but it should work
just the same as on VA.

I asked him the other day and he said he's happy for it to be distributed
and used with RPCEmu, including the source.  I have a copy of the source...
currently the licence at the top is "(c) All Rights Reserved".  Questions
for Dick et al:

1. As we have permission to distribute the source, would something under
this licence be acceptable?  It would preclude modification unless we got an
exemption (which I haven't asked about, but can do so).
2. Should we ask Dave if we can licence it under something else (GPL, BSD,
whatever) to make it more compatible with the rest of RPCEmu?

Anyway if you want a copy in the meantime, just shout.


More information about the Rpcemu mailing list