[Rpcemu] Improving CPU usage when idle
tommowalker at yahoo.co.uk
Wed Apr 8 15:22:03 EDT 2009
> I wonder if anyone can help with the following questions.
> What is the purpose of "mousehack"? As far as I can tell, it seems to
> bypass interrupts (in keyboard.c:pollmouse()), and instead implements
> a SWI (in keyboard.c:getosmouse()). Why?
It's so that the mouse pointer in RISC OS matches the position of the pointer in Windows/Linux. With mousehack turned off only the motion is matched - which (if the mouse isn't trapped within the window, as is done on Windows) means two pointers on screen in different locations.
> Another question: in pollmouse(), the line "if (model) return;" can be
> found. As far as I can tell from grepping the sources, "model" is set
> to 0 if emulating an ARM7500, so why do we have special treatment for
ARM7500 emulates a PS/2 mouse, IOMD emulates quadrature. When emulating an IOMD RISC OS refuses to use PS/2 (as it isn't there), I don't know if ARM7500 allows use of quadrature (ARM7500 emulation predates IOMD).
More information about the Rpcemu