Vanfanel wrote: Wed Jun 20, 2018
@Jon: tried the new modules. So far I saw Hamsters (F1018601) is now crashing on launch, and Elite is still missing the demo mode.
From the brief look I had at Hamsters earlier, it's possibly a bug in the code. It's changing to mode 141 (shadowed mode 13) which requires 160KB of screen memory, but later checks for 80KB. I've not looked to see which VDU variable its using to get the value it checks, so it's also possible there's an issue with RISC OS. I've already spotted that VDU variable 148 will sometimes return the wrong address, which I've implemented a workaround for.
Regards the music/sound FX, the ReadMe states it's been patched to use QTeM, which I've not converted to 32bit as nothing used it. You can fix it by loading QTM from ADFFS:trackers and TrackerMod from the Hamsters Module directory - look at its original !Run.
Elite's missing intro, as I've already mentioned, is a bug in its code which doesn't do a mouse click debounce. It does the same thing on a RiscPC and Arc if you don't release the mouse really quickly when launching. I'll fix the code at some point.
I'll have another big change Module build up in a few days, more drastic changes for improved Wimp support. This time it's separating the RO3.11 screen memory mapping from the JIT in a way that allows all combinations of ADFEmulateRISCOS, ADFRemapVideoMemory and the JIT.
I'm also considering changing the GraphicsV driver to only implement modes the hardware doesn't support, the problem is it will break all games that rely on hardware timers and VIDC emulation, so I need to figure out the best workaround first. Either the boot scripts will need to notify ADFFS the game must be blitted, or it will need to dynamically switch drivers if VIDC, IOC T0/T1 or MEMC video registers are touched. The later option would also entail taking over the GPU memory allocation, instead of letting the RISC OS GPU driver allocate it.