A couple of completely unimportant OS 3.1 questions
Chris Mahoney (1684) 2166 posts |
Hi everyone, Out of sheer curiosity I decided to try out one of my in-development apps in ArcEm on RISC OS 3.1. The good news is that I got my app working… but I have a couple of questions. I’m writing this from memory as I’m not at my RISC OS machine at the moment, so forgive me if I make any errors :) 1. What is the correct way to install !System onto a “fresh” hard drive image? The readme only seems to explain how to update an existing one. I tried simply copying the !System app onto the hard drive, but it fails when run (can’t find <Obey$Dir>.Themes.!Sprites). I got around this by copying the Themes directory across from the HD4 distribution, but that doesn’t seem “right”. 2. One of the values passed to Wimp_Initialise is the Wimp version; the PRM says something to the effect of “latest Wimp version known to task” and the ROOL wiki says “Wimp Version x 100”. Is “task” my application? The latest version that I know about is 5.22 so I’ve been passing “522” to Wimp_Initialise. This works under current versions of RISC OS 5, and even works if I lie and put a higher number in there. However, in 3.1, I get something like “Bad number passed to Wimp_Initialise”. The app continues to launch and run, but I’m just looking for clarification around what I should actually pass in. As noted in the post title, neither of these questions are particularly important, just more curiosity than anything :) |
Steve Fryatt (216) 2107 posts |
The latest version of the Wimp known to and needed by your application. It’s used to turn on (and off) features introduced in later versions of the system, and there are some distinct values that the system recognises. The minimum these days should be 310, as that introduced the ability to refuse user messages that the application doesn’t need (thereby reducing wasted task switching for broadcast messages). If you use the Nested Wimp, you should be passing 380. I think those are the only two values you need to be using. |
Chris Mahoney (1684) 2166 posts |
Thanks; 310 it is :) |
Chris Mahoney (1684) 2166 posts |
As for point 1, I noticed that the Style Guide says that you can assume the existence of the Universal Boot application. It now looks like ROOL’s System distribution may sit on top of that. Unfortunately there was no luck there though! I installed Universal Boot (although I have no idea whether it’s the current version – it’s from Acorn’s FTP archive) and then I ran the SysMerge script that comes with System. This resulted in the helpful error “nager:Sprites22” (I’m guessing that this is the tail end of “manager” but I’m not sure where it’s coming from). Am I on the right track here and do I just need to find a newer Universal Boot, or am I doing things completely wrong? |
Steve Pampling (1551) 8182 posts |
For RO3 the correct boot is the Universal boot from the ROL fork. There are all sorts of issues in trying to combine current boot sequence elements with old Acorn era ROM builds. There are more than enough quirks with combining ROL builds and ROOL boot sequence items. My understanding is that the !System package is only for use on RO4 builds |
Chris Mahoney (1684) 2166 posts |
The Universal Boot on the ROL site is bit-for-bit identical to Acorn’s.
THAT, on the other hand, may explain things a bit! In any case, my app runs, and that’s all I really wanted to try so I’m happy :) |
Steve Pampling (1551) 8182 posts |
But not the ROOL build, which is the important aspect.
Which closes the lid on this specific item and leaves a helpful trail for those that follow. |
Richard Walker (2090) 432 posts |
For RISC OS 3.1, you need to download (from ROOL) the HardDisc4 and System archives. Unpack them to the root of your main disc and you’re done. Do not use any legacy Acorn/ROL stuff at all. I tried this in some emulators a little while ago, and it worked nicely. Someone has clearly gone to a lot of trouble in optimising boot/harddisc4, whilst ensuring compatibility right back to 3.1. Impressive. I keep thinking that what would make life easier for emulator users is a ‘ready to go’ zip containing ArcEm/Arculator and Boot/HardDisc4. Could even be auto-built by someone keen (to keep up with ROOL). |
Steve Pampling (1551) 8182 posts |
I believe that was the intention, but obviously it needs thorough testing. The ROOL guys can’t test every single configuration variant. |
Chris Mahoney (1684) 2166 posts |
I didn’t realise that the HD4 archive would work on 3.1 – which was apparently a classic case of my not reading the documentation because it says right next to it that you need System as well if you’re not on 5. Thanks for the tip!
With the exception of the QMSMagi2350 printer which is more than ten characters :) |
Rick Murray (539) 13863 posts |
(^_^) |
Chris Evans (457) 1614 posts |
There is a downside of using ROL’s UniBoot or ROOLs RO5 compatible !Boot structure: the memory used! 99% of RISC OS 3 computers are 4MB or less so every few K is significant. |
Chris Mahoney (1684) 2166 posts |
Or cheat and run from HostFS :)
Looks like 768k (at least in ArcEm). |
Richard Walker (2090) 432 posts |
Re. memory usage, yes, that’s an issue with 3.1 machines when you talk about soft-loading any updated modules (especially Wimp) and fancy iconsprites etc. But… you know what’s great about the ROOL HD4/Boot? There is nothing stopping anyone from adding a Configuration app for 3.1 which has a ‘low memory footprint’ option, allowing items like the new Wimp to be skipped. Technically, it’s all solvable, unlike with the various rotting Acorn and ROL efforts. |