[Rpcemu] An idle loop?

Theo Markettos rpcemu at markettos.org.uk
Sat Jan 30 15:40:08 PST 2010


On Sat, Jan 30, 2010 at 09:01:01PM +0000, Matthew Howkins wrote:
> > Do arm processors have an hlt instruction?  Does risc os enter an idle
> > loop?  I'd prefer if rpcemu didn's all the cpu power when nothing is
> > happening.
> 
> ARM610 and ARM710 do not.
> 
> StrongARM-110 has an method of halting which uses a co-processor 15
> instruction, however I am not aware of a version of RISC OS that uses
> it. Perhaps others on the list may know more about if and when it is
> used.

There's a BASIC program in rpcemu/riscos-progs (called Sleep or something
like that) that calls RPCEmu via a SWI when the Wimp is idle.  RPCEmu then
calls usleep().  It's a bit clumsy as to the sleeping periods, so you may
need to fiddle with the exact sleeping periods - I found it disturbed mouse
clicks rather too much but maybe different hardware/OS is different.

RISC OS also calls the SWI Portable_Idle when it is idle, so that's a
potential mechanism to release some of the CPU.  I can't remember if RPCEmu
makes use of that.

Theo



More information about the Rpcemu mailing list