ROOL !Boot as Multi-!Boot
Andrew Daniel (376) 76 posts |
I have been trying the latest !Boot on RPCEmu and my RiscPC with various OS versions. While it should fail gracefully if there is no ROxxxHook directory for the installed OS It generally falls over with a ‘Messages not found’ error. This seems to be because the *Error command is falling over on 3.70, 3.71 and 4.02 during the execution of !Boot. If I start the RiscPC with shift and * keys pressed then the *Error command works as it should, as it does on RPCEmu with *con.noboot and *con.lang 1 (under 4.02). A test *Error command inserted in !BootRun produced the expected error running 5.19 but not with 4.02! I don’t understand why yet. If I create a RO400Hook folder then it will complete execution of !boot to the desktop on either OS, which is handy for softloading on the RiscPC. The only real problem is the copying of the files from the ROxxxHook to Choices.Boot the first time !Boot is run means those files are run regardless of which OS version is installed. The only other problem I have which I don’t think is directly connected to !Boot is using the AKF60 MDF with 1024×768 C256 works ok under 4.02 but a jumbled image with 5.19 and the RiscPC makes some worrying clicking sounds too! I shall continue to experiment and will post how I get on. If we can make the !Boot app work with 3.60+ then that will hopefully encourage a few more folk to try ROOL RISC OS out. |
Trevor Johnson (329) 1645 posts |
Yes, this can cause problems. How about adding a generic (LCD?) MDF here and setting that? Appropriate defaults could be used in each ROxxxHook PreDesk routine respectively (unless a single generic non-AKF60 def is found to work in all cases). |
Jeffrey Lee (213) 6048 posts |
Hmm, that doesn’t sound too good. It’s just a hunch, but I think the problem could be that the ROOL boot sequence uses VIDCBandwidthLimit settings which were designed for the Iyonix, not the RiscPC. This means the OS might be trying to use modes which require more bandwidth than is available. Try going into Boot.PreDesk.Configure.!Run and changing the values to 38000000 76000000 152000000; those should be the correct values for a RiscPC or A7000 (For an A7000+, you’d want 80000000 instead of 38000000). One of the tasks that’s been on my todo list for a while now is to get rid of *VIDCBandwidthLimit entirely and make it so that the video driver is in control of everything. Maybe I should bump that further to the top of the list since there seems to be quite a bti of interest in running RO 5 on the RiscPC recently. |
Andrew Daniel (376) 76 posts |
I now have a RO400Hook installed in the ROOL !Boot, the PreDesktop and Desktop files both detect which OS is running and act accordingly. So the RiscPC can boot into the RO4 roms or if sofload of 5.19 is selected cleanly boot through into the RO5 desktop. I have the same !Boot working on both the real and emulated machines. The configure applications for both versions of RISC OS work correctly. I have also added an Apps26 folder, whose contents only get added to ResourceFS if RO4 is running, also a test is made for HostFS, if this is found different VIDCBandwithLimit settings are applied for RPCEmu than for the real hardware. At the moment I have a cludge installed on the RiscPC to not run !Internet under 5.19 due to the NIC module problem. I still don’t seem to be able to get the same display modes with RO5 as I do with RO4 regardless of which MDF I try. I still have a few tweaks applied to !Bootrun. It should be possible to do away with most of them to enable a !Boot to be made to merge with the standard ROOL one for use on IOMD machines. |
Trevor Johnson (329) 1645 posts |
Great stuff! |