So I spent last night playing with the new LoadMdule (and a little MuTools) on my SX32, since it is one of the few systems I haven't managed to find a working softkicker for.
Depending on the avaialble RAM, MuMapRom *might* be worth a try. This said, it is also very much a hack, and yes, if you want to map a 1MB ROM for it, you need plenty of local motherboard RAM the machine does likely not provide.
Things mostly work fine, except with some quirks that I haven't really figured out yet - sometimes on reboot, the modules are no longer resident, yet the system will try to boot up as if they were. To get around this I must to a "long reset" (press ctrl-a-a really long), or power cycle. I will investigate this a bit more so I can reproduce the problem consistently.
How do you reset the machine? There are two "must-work" methods, namely the keyboard reset, and exec/ColdReboot(). If one of them does not work, let me know.
LoadModule will, by default, place its modules in MEMF_KICK memory (except exec, which must potentially go into MEMF_LOCAL). In worst case, modules also need to go to MEMF_LOCAL, or even MEMF_CHIP, even though this *should* not required if the memory is announced correctly. Details would be interesting. If the standard arguments do not work, I can probably compile a version for you that puts the modules into MEMF_CHIP just for testing.
BTW, it is rather important that LoadModule comes into the system before MuFastZero. Once the latter is installed, Execbase may exist "twice": Once in its original position in Chip RAM, and this is the location where it is required for the reset. And once in the mirrored position in fast RAM. The CPU can, once the tool is run, only see the latter mirror. Thus, if you install LoadModule on top of MuFastZero, you only modify the active version of exec, but not the version that comes in play after a reset.
A small, but really annoying thing is that LoadModule (at least with AUTO) doesn't want to load modules of same major revision as already resident.
Not only with AUTO, but in general. It is a fairly general limitation of exec. If you place two modules on the resident list, exec will grab the one with the highest version number. There might be a way around this, but in general, there are system limitations like this for a reason. Libraries and devices have dependencies between them, and it is typically not a good idea to insert a lower-release into a system that was compiled for a higher release.
(I just now read the line in the readme saying "This will augment the list of modules provided through the MODULE argument.")
This doesn't help. It is only later that the code checks the release dates, AUTO only compiles the command line (so to say) for the rest of the code.