Thanks, I will try this out later.

Regards,

Jan Rinze.

2009/1/16 Tom Walker <[email protected]>

> > Any clue on how to patch RISC OS?
> > would certainly be a huge improvement i.m.h.o.
>
> I'm struggling to remember how I found the routine in 4.02. It looks
> something like this :
>
> 03814820 : E3560001 : CMP     R6,#1
> 03814824 : 33A02050 : MOVCC   R2,#&50
> 03814828 : 03A02004 : MOVEQ   R2,#4
> 0381482C : 83A02008 : MOVHI   R2,#8
>
> Basically R6 has the VRAM amount in megabytes, and initialises R2 based on
> whether it is 0, 1 or 2. What the patch at the bottom of romload.c changes
> it to is this :
>
> 03814820 : E3560001 : CMP     R6,#1
> 03814824 : E3A06008 : MOV     R6,#8
> 03814828 : 03A02004 : MOVEQ   R2,#4
> 0381482C : 83A02008 : MOVHI   R2,#8
>
> ie lying and saying it's found 8, but the earlier comparison still works,
> as it's >1 mb. R2 is stuffed into an IOMD register, so it doesn't really
> matter on the emulator, but R6 contents are used later.
>
> I haven't looked, but I doubt this area of code has changed much in later
> ROS 4 or ROS 6 (as it's still the same hardware), so it may be possible to
> search for this exact code sequence and patch any ROM. There may be a better
> way of doing this though.
>
> I'd be loathe to patch ROS 3.7 or earlier, as these checksum the ROM. The
> patch obviously makes the checksum fail, and I don't remember if ROS will
> even boot if this is the case.
>
> Tom
>
>
>
>
_______________________________________________
Rpcemu mailing list
[email protected]
http://www.riscos.info/cgi-bin/mailman/listinfo/rpcemu

Reply via email to