[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