PlingSystem and RISC OS 3.1
Stuart Painting (5389) 714 posts |
Inspired by the news that the self-extracting SparkFS will now unpack at RISC OS 3.1, I tried installing ROOL HardDisc4 and PlingSystem under RISC OS 3.11 (using ArchiEmu). To avoid any possible HostFS issues, I installed everything on an emulated 64MB ST506 drive. Things didn’t go well. Firstly, boot-up failed with “Undefined instruction at &01822994”, leaving me at the Supervisor prompt. Entering *Desktop only got me so far, as it quickly became apparent that !System hadn’t been “seen” properly. Opening a filer window on !Boot.Resources caused another “Undefined instruction” error to appear. I gave up trying to boot from the new !Boot and switched to examining the contents of !System.310.Modules. Three problems stood out:
Emulated system: RISC OS 3.11 under ArchiEmu 0.55.0 (17 June 2018) |
Rick Murray (539) 13840 posts |
I’d be inclined to get Debugger to output memory at that point to see what instruction is actually there. Keep in mind that, IIRC, the MSR/MRS instructions were carefully chosen to be NOPs on older processors. However, an emulator might behave differently and (incorrectly) report an undefined instruction. |
Jeffrey Lee (213) 6048 posts |
An emulator bug would also be my first guess, since I’m fairly certain I would have tested at least CallASWI and CLib fairly recently (albeit under emulation) I figured I’d give things a quick test in Arculator (since I’ve recently been using that as my preferred Arc emulator), but that wasn’t as straightforward as I’d hoped:
Thanks for leading us towards another can of worms, I guess! |
Stuart Painting (5389) 714 posts |
Ironically I just tried it all out on ArcEm 1.50 and… everything worked! It booted to a desktop with a background pattern, SparkFS started up cleanly, and I was able to unpack and create archives. I didn’t give it much of a workout but it certainly seems better-behaved than ArchiEmu. So it looks like the errors I was seeing are all due to an ArchiEmu bug. |
Jeffrey Lee (213) 6048 posts |
Update: The SparkPlug issue on Arculator appears to a bug in SparkPlug. You just need to make sure HostFS is selected as the current filesystem before running SparkPlug (assuming you’re running it from HostFS); I was running it from HostFS with nothing in ADFS (no hard disc, empty floppy drive) and that seemed to be responsible for triggering the failure. If I extract everything under RPCEmu, then manually merge in the new !System (make sure the HardDisc4 version is writable and then copy the PlingSystem version over the top), then copy everything over to Arculator & configure to booth from HostFS, then at first glance everything seems to work OK. I.e. it boots to desktop without any errors, the new CallASWI + CLib have been loaded, and (after upgrading from a 2MB machine config to 4MB), MineHunt successfully loads and runs (so C apps are working, at least). I haven’t tried extracting everything under Arculator, but presumably that would also work (I did the above test before thinking to check if the selected filesystem was the cause of the SparkPlug failure) |
David Pilling (8394) 96 posts |
Re: SparkPlug, is there anything you’d like me to fix… I had to use Arculator recently, and I found that people were being tripped up by SparkFS insisting on System being present when it was never going to use it. The !Run file should be changed at source. Given SparkFS is now free. I see Spark/Plug as of no further relevance. |