> 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