VirtualRPC-DL
Colin Ferris (399) 1814 posts |
Does anyone know if the 4.02 ROM file can be replaced with VirtualRPC-DL – without having to softload the replacement ROM? ie be made to behave like RedSq – and be able to use various ROxx. |
Wouter Rademaker (458) 197 posts |
Yes, it is possible. You can soft link “ROM” to the actual rom and “hostfs” to the actual directory. |
Colin Ferris (399) 1814 posts |
The question is :- what format is the original ROM 4.02 in? |
Colin Ferris (399) 1814 posts |
With ref to VirtualRPC-DL – what does the ref to ‘ARM7’ model mean? |
Steve Pampling (1551) 8170 posts |
ARM7, if I recall, was the RPC module that was a small improvement on the ARM6 originally fitted. ARMv3 instruction set I believe. |
Colin Ferris (399) 1814 posts |
I was thinking more on the lines of RO5 and Otter running on VirtualRPC-DL. |
Steve Pampling (1551) 8170 posts |
On first seeing the info for VRPC-DL I did wonder about the fiddles (hacks?) required to run RO5 on it. |
Colin Ferris (399) 1814 posts |
A few modules need updating like in RSqrl – should be a fair bit faster! |
Steve Pampling (1551) 8170 posts |
Sounds like you’ve run the test setup. |
Colin Ferris (399) 1814 posts |
Did a old version of OS_EnterOS (Arthur/RO2) disable the interupts? Is there a list of the ARM instructions which the StrongArm implemented? Does RO six have swi “OS_LeaveOS” implemented? Does this bit of code mean anything? teqp pc,#0 |
Rick Murray (539) 13840 posts |
No. It just returned from the SWI handler, with SVC mode intact. From RISC OS 2:
If you are disassembling, the IntOn and IntOff code is just above SENTERSWI, which may be why you might have thought this?
Possibly. I’m not having much luck finding anything due to the age and the wild popularity of the ARM family. ARM710 was ARMv3 while SA110 was ARMv4. I recall (U)MULL was new to StrongARM, though I’m not sure what others there are. It was the first of the split-cache ARMs, and it had an oddity that PC pointed, I think, three instructions beyond the current (rather than the usual 2). Re. OS_PlatformFeatures 0 bit 3.
Set an abort handler and just test ’em all?
I have not found any documentation to state that it does, however if it can run a later version of the CallASWI module, it will be provided by that.
My memory of the 26 bit mode stuff is rusty these days, however I would have imagined that TEQPing zero into PC would zap all the flags – NZCV unset, FIQ/IRQ enabled, USR mode. |
Colin Ferris (399) 1814 posts |
Thanks for the help – is it possible to catch a undefined instruction and replicate it? Also is there a wimp prog that would press a function key – say many of thousands of times? |
Rick Murray (539) 13840 posts |
Yes. That’s how FPE works. Practically none of the RISC OS machines were fitted with a real FPA, so a clever module traps the undefined instruction abort, checks if it is an FPA instruction (CP1 or CP2), and if so goes and fakes the operation.
Write a dummy application to start up, poll, and call…what is it? Wimp_ProcessKey? I’m writing this on my phone in bed, but there’s a Wimp SWI used to pass on global keypresses like F12. Thing is, you can (ab)use it to stuff all sorts of keypresses into the system. Many years ago I wrote an app that would “type” the contents of a text file to applications that didn’t directly accept files. Bake in a secret keypress, like holding both Alt keys, to get the program to stop and quit. Because things can be difficult if you’re trying to quit an app that is firing off loads of fake keypresses. Yeah, this is the voice of experience. ;-) |
Colin Ferris (399) 1814 posts |
Does anyone here really understand the FPE module – I would have thought a new module for the Hardware Floating point would have been very useful. Unless the ‘C’ compiler comes up with a way of producing code that could handle both – something like the catching of 26/32bit code. Is there an example of a module catching a undefined instruction out there? I was thinking of the Long multiply – for the VirtualRPC-DL – but it is possibly – that it may have been implemented. So no function key prog – thought I’d ask – I wonder if a simple prog could be run in a Task window – producing Function key presses – that could be fed into another window accepting key presses. |
Chris Evans (457) 1614 posts |
Jeffrey has written recently in these forums about this. The jist of it as I recall was the overhead of using the hardware is at a level that it would not make a significant difference. He is looking at improving compile time usage with a filter for older hardware. i.e. the same binary would run on all hardware. Google Finds me an eight page thread: |
Colin Ferris (399) 1814 posts |
With VRPC-DL max Screen memory is 8Mb – but without setting Vram to 8Mb – running RO5.23 the screen memory in the task window can be dragged out to 32Mb. Has there been changes – that upset !MakeModes? |