Because of this issue on the Pi, the Arm v5/v7 builds (ADFFS500ov / ADFFS550ov) have the overlay swaps handled via
Pinebook laptops are currently unsupported due to this issue. I believe the nightly RISC OS build might have the patch to resolve it. Note that the Pinebook Pro build from R-Comp has yet to be updated, ADFFS will cause a hard-lock if loaded on it when it tries to install its own video driver.
As a general point, the Pinebook and Pinebook Pro video drivers are incomplete, neither support resolution changes or overlays, so are not currently suitable for use with ADFFS.
*Help ADFFS will confirm if the Overlay build has been loaded - you'll see "overlay" listed against the Module name.
Changes since 2.83
- Removed some debug output from the JFD imager
- When imaging a JFD, the check for the expected DiscRec is now performed in the initial GUI and it prompts if no floppy is inserted
- Now resets the RunTypes when the ADFFS Module exits to their pre-loaded values
- Modified imaging Archive so it can be used for package information
- Now checks if CLib is in the RMA instead of simply checking if its already loaded, to allow ROM based CLib to be updated when ADFFS loads
- GPU borders are now only cleared when the geometry changes and not written at every frame blit
- VIDC20 writes to vertical registers were not exiting early if the value had not changed
- Added GraphicsV overlay support
- JFD imager now only sets "ID", "Disc number" and "Discs in set" if cached values were previously set
- ADF imager now allows re-imaging of JFD to ADF and allows the filename to be specified
- Dropped Low Vector RISC OS 5 support on ARMv5+
- ADFFS now defaults to overlays if they're supported by the GPU driver
- VIDC1 palette translation wasn't adjusting the physical colour to account for the fixed logical colour bits in 256 colours and was not ignoring the supremacy bit
- VIDC1 and GraphicsV palette entries are now gamma corrected when emulating pre-RISC OS 3.5
- Fixed an issue in Service_ChangeMode, which would fail to translate VIDC1 to VIDC20 on IOMD after calculating VMOD/RMOD due to register corruption
- When intercepting an ADFS that does not have any floppies configured, it will no longer pass floppy DiscOp/MiscOp on and will instead either deal with them or raise appropriate errors
- OS_CallASWI/R12 are now intercepted to allow C based ADFS Modules to be intercepted
- Resolved an issue when checking if CLib is in the RMA, which might cause an unknown command error
- Moved !RunTypes from !Run to Module Init and Module Exit
- If ADFS is an active filesystem, it now checks if there are any open files on ADFS: and will refuse to load if there are
- Fixed a crash introduced by OS_CallASWI/R12 interception
- Temporarily switched overlay bank switching to be done via CallBack until the issues with the BCMVideo GraphicsV driver (Pi) are resolved. This unfortunately ruins quite a few games, but does reduce the hard-locks. Random stuck overlays do still occur though when the overlay is destroyed
- The open file check will now RMReInit DOSFS if ADFS::*.$.!Boot.Loader is the only file held open on ADFS. This is a workaround for Pi builds that use ADFS as their main filing system
- Verified sectors are now marked as protection sectors by the JFD imager
- JFD imager GUI was updating the previous track instead of the current being processed, causing the wrong tracks to be visually flagged as bad or protection
- added a manual flag to recording files to indicate a know protection sector read - useful where the protection expects an error
- added a workaround for early WindowManager versions crashing if Wimp_GetRectangle is called when there are no buffered redraw changes
- OS_Byte 19 now checks if Timer 0 is active on IOC / IOMD before frame-pacing (fixes Gribbly's Day Out)
- Service_ModeExtension and Service_ModeChange were corrupting R12 while translating VIDC1 to VIDC20, potentially triggering an abort
- IOC video memory is now unmapped during Service_ModeChange instead of Service_PreModeChange to avoid potential aborts when interrupt driven screen update code in games runs mid-mode change (fixes Quark on IOMD)
- Discop's were failing for mounted floppy images, while creating a recording file
- Overlay is now switched via an RTSupport thread
Script changes
- Implemented a keyboard buffer flush prior to any key insertions across all scripts
- F1057408 Play It Again Sam 4: Pharaohs Secret Tombs, The (1996) (ProAction) - Added HD install instructions
- F1045301 Brian Clough's Football Fortunes (1992) (CDS Software) - Script added, with HD install instructions
- F1022001 KerBang! (1991) (Eterna) - Added HD install instructions and modified to not require the floppy when run from HD
- F1022501 Legend of the Lost Temple, The (1992) (Eterna) - Bugfixes now applied on all RISC OS versions
- F1037801 Warlocks (1993) (Network 23) - Now prevents the game from altering Dynamic Area sizes
- F1046301 Nosher (1992) (State of the Arc) - Script added, with HD install instructions
- F1017901 Gribbly's Day Out (1992) (Coin-Age) - Added HD install instructions and rewritten game start-up to use an environment variable for paths
- F1064001 Blaston (1991) (Eterna) - Added HD install instructions and now applies timing correction on all RISC OS versions, added an infinite strength cheat
- F1029601 Quark (1993) (Oregan Developments) - Modified game code to not require the floppy and implemented bugfixes on all RISC OS versions.
Added infinite lives and health cheats - F1038801 Wolfenstein 3D (1994) (Powerslave Software) - Bugfixes now applied on all RISC OS versions. Game no longer allocates all free memory to itself, potentially causing aborts when RMA allocation is required - it now allocates a maximum of 2MB. Removed the need to have disc 1 mounted when run from HD