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
- Overlays are now double buffered, not triple buffered
- Fixed a register corruption issue in OS_Byte 19 introduced with 2.84h
- JFD imager now compresses sector data in track chunks to improve Wimp updates/responsiveness
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
- F1021701 K.V. [v1.01] (1993) (High Risc Software Developments) - Fixed a bug that could cause an Abort when shelling out out to the desktop, caused by the game not waiting for the channel handler to shutdown. Added HD install instructions and now applies bug fixes on all RISC OS versions
- F1071101 K.V. [v1.00] (1993) (High Risc Software Developments) - Added HD install instruction and now applies bug fixes on all RISC OS versions
- F1020101 Hostages (1990) (Superior Software) - Adjusted the game speed to 50fps
- Checked all scripts that set the OS version emulation, to ensure its reset before exiting
- F1020101 Hostages (1990) (Superior Software) - Added HD install instructions. When HD installed all game code is now patched on 1st run, to correct the frame-pacing
- F1071601 Technodream (1998) (ProAction) - Added HD install instructions