[email protected] wrote:
> A fix would be to add:
> 
> /* Get actual switch number of OS_CallASWI and OS_CallASWIR12 */
> if (templ == 0x6f) templ=armregs[10] & 0xdffff;
> else if (templ == 0x71) templ = armregs[12] & 0xdffff;

Wouldn't that alter/disable OS_CallASWI(R12) for all cases?  I'd prefer to just 
trap OS_Mouse in order to prevent unintended side effects:

if (templ == 0x6f && (armregs[10] & 0xdffff) == 0x1c) templ=0x1c;
else if (templ == 0x71 && (armregs[12] & 0xdffff) == 0x1c) templ = 0x1c;

(NB. Untested.)

> 
> in the osSWI subroutine in arm_common.c after:
> 
> void
> opSWI(uint32_t opcode)
> {
>     uint32_t templ;
> 
>     inscount++;
>     rinscount++;
>     templ = opcode & 0xdffff;
> 

Regards,

Richard

                                          
_______________________________________________
Rpcemu mailing list
[email protected]
http://www.riscos.info/cgi-bin/mailman/listinfo/rpcemu

Reply via email to