Softloading a ROM module
Matthew Phillips (473) 721 posts |
I’ve been developing some new features for an application which involve JPEG rendering using the OS routines. I’ve found that on the Iyonix the OS is unable to understand the JPEG. This must be because the Sprite Extend module is rather old (1.21, 19-Jan-2010). The Iyonix is still on 5.16, which is quite ancient, but useful for testing stuff! A machine with a recent ROM has no trouble handling the JPEG. How easy would it be to soft-load a newer Sprite Extend to provide support on older operating systems? I think that the ROM modules may be compiled with optimisations that target particular processors, so saving the module out of a newer ROM and attempting a softload on the Iyonix may be a non-starter. I don’t think a “neutral” version of Sprite Extend is available to download anywhere. I guess I can try building from the source, but I wondered whether anyone can confirm whether softloading SpriteExtend would be feasible? |
David Pitt (3386) 1248 posts |
ROOL’s Iyonix ROM downloads do contain a softloader but there may be a minimum, flashed, ROM version required to permit softloading.
There is a standalone, MkRam, build option already present for SprExtend in the source code tarballs. A standalone module did softload on the Titanium, but softloading 1.85 over the same version in ROM might not be considered much of a test. A build of an Iyonix SprExtendSA is here. It is untested, no Iyonix to test on. |
Matthew Phillips (473) 721 posts |
Thank you, David. Seems to work fine. In terms of the build options, do you think that build would work on later machines too? I’d perhaps better not distribute it with the application, but it will certainly help me with the development work as I do quite a lot of that on the Iyonix still. |
Jeffrey Lee (213) 6048 posts |
Using an Iyonix-targeted softload on newer machines might cause problems – there might be a couple of bits which try and use unaligned loads. The hard disc image contains a softloadable version of SpriteExtend (in !Boot.RO350Hook.Boot.PreDesk), which I think will work on everything RISC OS 3.5+. (I guess it’s only in the 350 folder because 3.50 didn’t have SpriteExtend in ROM) |
Matthew Phillips (473) 721 posts |
Thank you – useful information. |