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
