Richard Spencer wrote:
> > It seems the the OS_Mouse SWI is not working when called

> > from C code with RPCEmu 0.88 on Windows 7.

> > _kernel_swi_regs regs;

>  > while (1)
>  > {
>  >  if (_kernel_swi(OS_Mouse, &regs, &regs) == 0)
>  > {
> >       printf("\004%d,%d\n\005", regs.r[0], regs.r[1]);
> >    }
> >   }

> The above works here using 0.8.8 on Vista with a RO5 rom image.  However the 
> output is 'delayed' by about a second - works much better without the VDU 
> codes for some reason.  Maybe this could indicate the problem?

The VDU code were because my original test was in a WIMP program and I wanted 
the text to appear on the screen. I have removed them now and it made no 
difference.

>If you do a *pointer what do you see while the program is running?

I was originally running the program in the WIMP so the pointer was being 
shown. But I repeated the test after using F12 and typing *pointer. The result 
is the same - the mouse pointer moves with the mouse as expected, but the 
values returned from OS_Mouse do not vary.

> > Is there anyone who can look at and fix this problem? Or give
> > me a workaround (which does not require program changes).

> You haven't stated which version of RISC OS you're using. Some combinations 
> of ROM/rpcemu model have displayed problems here - in the main they could be 
> fixed by pressing F12 and typing *pointer.

Sorry I forgot those details. I’m using RISC OS 4.02 (the nearly free version 
from RISC OS) and Strong ARM 128MB with 2MB VRAM.

*pointer does not seem to make a difference. The pointer seems to be working 
and displaying fine in normal use anyway.

> Also, what happens if you use _swix?

I’ve rewritten the program to use _swix and I get the same result. Screen mode 
800x600 256 colours always reports 640,480 for the coordinates. Note: I’ve just 
tried it in a variety of screen modes and always get the same result.

Thanks for your reply,
Alan
_______________________________________________
Rpcemu mailing list
[email protected]
http://www.riscos.info/cgi-bin/mailman/listinfo/rpcemu

Reply via email to