Summary: ROM 5.30
Summary of changes to the RISC OS 5 ROM image (5.28 to 5.30)
- The following are the headline changes to modules or components in platforms attaining ROM stable release status for 5.30.
- For brevity only the top 11 changes have been described, because many of the changes in the full change logs are administrative in nature or a result of other work, but they all contribute to stability and ease of use.
- The SharedCLibrary now includes hooks to support static constructors and destructors in C++ applications and modules as part of a drive to improve high level language support, coverage of the atomic operations specified in the C18 standard, and more robust safety checks that clients match the capabilities of the C library in use
- Freeway, Net, LanManFS, Resolver, ShareFS, TCPIPLibs, remotedb have dropped support for Internet 4 (pre RISC OS 3.70) as part of the TCP/IP bounty work to make maintenance easier going forward
- While over 90% of each of the ROM releases are common, there are a few extra notes specific to each port linked below:
- Beagleboard (full change logs OMAP3 with all 313 changes detail)
- Iyonix (full change logs Tungsten with all 305 changes detail)
- OMAP5 (first time achieving stable status, so no historical log to compare)
- Pandaboard (full change logs OMAP4 with all 314 changes detail)
- Raspberry Pi (full change logs BCM2835 with all 330 changes detail)
- RiscPC / A7000 (full change logs IOMDHAL with all 301 changes detail)
- Titanium (full change logs Titanium with all 313 changes detail)
!Draw
- The Y grid settings are now saved in the Draw file, so are preserved when loaded
- Retired unmaintained DXF support
- Fix for scaling of multiple column text areas, and position of pasting from the Draw menu
!Paint
- Can now export as PNG or JPEG, an enhancement enabled by the PNG bounty work
- Report and error on an attempt to load a non RGB (or BGR) sprite
- The brush tool now has an opacity slider to allow blending of sprites as brushes
- The brush tool shape selection uses thumbnails to select the brush
- Alpha channel sprites may now be created (but not edited)
- A new ‘blur’ brush too is provided using alpha blending
- Fix for long standing seemingly random crash on paint-with-sprite
- When a sprite file is dragged to Paint a second time, bring the existing copy to the top rather than opening a second, similar to how Draw and Edit operate
Filer
- The visibility of system folders can now be changed, meaning !Boot, !Scrap, !Territory, !Choices can all be removed from the Filer display
- Filer Action will spot attempts to overwrite system folders when hidden, preventing accidental overwrites by halting the operation
- FSLock has also been updated to works with !Scrap living in the root directory of a locked drive
Pinboard
- When the icon bar border is turned off, Pinboard now extends the backdrop image by 1 pixel to fill the gap
- No longer opens multiple copies of the Configure plug-in, if one is already running it pops it to the top
Window Manager
- The colours of the button wells and shadows can now be set, allowing for a theme design to change all the built in gadget types
- The icon bar can now use a different backround tile sprite to other windows, allowing for a theme design to differentiate this element of the display
- Pressing Ctrl-Shift-F12 a second time while at the shutdown dialogue would not exit the desktop, this has been fixed
- Assorted fixes for crashes and data aborts in certain edge cases of window design, memory, and mouse usages
CDFSFiler
- The drive icon will change to reflect that a video DVD is in the drive, in a similar manner to how it changes with audio/PhotoCD/data discs
Filing systems, FileCore and FileSwitch
- Memory protection is now enabled on FileCore’s private workspace, this can no longer be read in unprivileged modes
- Filetype FD1 for BBC BASIC held as text is now a recognised (built-in) run type
- Handling of pipes in PipeFS is considerably improved, especially in conjunction with Task Windows
- The maximum possible RAMFS disc capacity has been further increased to 2GB
VFPSupport
- Hardware accelerated versions of the transcendental functions have been added
- The VFP version of BBC BASIC will now use these for fast SIN, TAN, EXP and similar
- The VFP version of ABCLibrary (used by BASIC compiled with the ABC tool) will also use these
Kernel
- The maximum size for a RAM disc has been increased to 2GB in line with RAMFS
- Memory protection on the supervisor stack has been enhanced to improve system stability
- Programmers can now use OS_PlatformFeatures 34, OS_TaskControl, OS_AbortTrap, and abortable dynamic areas
- Further support for physical memory above 4GB has been implemented, designed in future to handle a 64 bit memory map, initially for Arm’s LPAE and a 40 bit memory map
- Ability to use direct memory access (DMA) to addresses up to a 64 bit memory map limit
Internet
- Partially updated the TCP/IP libraries to the latest sources from FreeBSD 12.4 as part of the TCP/IP bounty work
- The number of sockets which can be simultaneously held open at once by applications has been increased from 96 to 256
- Support for the obsolete Xeros NS protocol has been removed
Toolbox
- The ColourDbox gadget has several fixes and improvements as part of the Toolbox reunification bounty
- The Scale and Menu gadgets have enjoyed several fixes and improvements as part of the Toolbox reunification bounty
- The Colour Picker now renders correctly in 180dpi screen modes
Beagleboard specific
EtherUSB network driver
- Now connects to USB dongles which use the Communications Device Class (CDC-ECM) as part of work completed from the USB bounty
Pandaboard specific
EtherUSB network driver
- Now connects to USB dongles which use the Communications Device Class (CDC-ECM) as part of work completed from the USB bounty
HAL
- Preparatory work to enable access to the onboard WiFi controller using the SDIO bus in future
Raspberry Pi specific
HAL
- Preparatory work to enable access to the onboard WiFi controller using the SDIO bus
- Add support for SD/MMC devices on HATs
- Cater for detection of eMMC and Lite models of Compute Module 4
- Update to MDIO settings to work with Pi 400 models built with a KSZ9131 gigabit Ethernet PHY from Micrel
BCMVideo
- Enhancements to the video overlay handling, plus assorted bug fixes in the same area
EtherUSB and EtherGENET network drivers
- Now connects to USB dongles which use the Communications Device Class (CDC-ECM) as part of work completed from the USB bounty
- Update to configuration to work with Pi 400 models built with a KSZ9131 gigabit Ethernet PHY from Micrel