Summary: ROM 5.28
Summary of changes to the RISC OS ROM image (5.24 to 5.28)
- The following are the headline changes to modules or components in platforms attaining ROM stable release status for 5.28.
- For brevity only the top 14 changes have been described, because many of the 344 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 Task Manager, Wimp and Kernel have all had remedial work to support RISC OS systems with more than 2GB of RAM fitted
- PCI Manager, Debugger, USBDriver and underlying host controllers, and the Kernel have had extensive changes to support physical memory located outside the range of a 32 bit variable in support of recent system on chip devices which no longer fit into 4GB of address space
- Paint, Colour Picker, ScreenModes, Boot Commands, DOSFS, Serial, OHCI, and SCSI device driver, Debugger, RTSupport plus toolbox’s ColourMenu, FileInfo, FontMenu and the RISC OS, Unicode, Toolbox and TCP/IP networking libraries have all had previously hidden memory leaks and similar programming mistakes fixed by analysing their source code with cppcheck.
- 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)
- Iyonix (full change logs Tungsten)
- Pandaboard (full change logs OMAP4)
- Raspberry Pi (full change logs BCM2835)
- RiscPC / A7000 (full change logs IOMDHAL)
- Titanium (full change logs Titanium)
!Alarm
- Now saves its choices in the Choices directory inside the Boot application rather than in a system variable, and no longer uses valuable CMOS.
!Chars
- No longer reports an error if an unplottable character is found in a font. Instead, a rectangle is substituted.
!Draw
- Supports clipboard cut & paste operations for Draw/Sprite/JPEG/Text objects, interacting with other compliant RISC OS applications.
- Supports drag and drop of Draw/Sprite/JPEG/Text objects, optionally wrapping the objects in a small DrawFile depending on what formats the receiving application supports.
- The former operation to make a single local copy of an object has been moved to keyboard shortcut Ctrl-D to make a Duplicate.
- Additional fixes when transforming text areas and plotting fonts above 240pt.
- A new summary box gives information on the current DrawFile via Misc > File menu item, to complement the similar dialogue in Paint and Edit.
- Now saves its choices in the Choices directory, with the choices dialogue accessible via the icon bar menu Choices… item.
!Edit
- Now saves its choices in the Choices directory inside the Boot application rather than in a system variable, saving can be triggered from the Save choices menu entry
- Edit can now be unplugged, and will disappear from Resources:$.Apps entirely, should you have a preferred editor.
!Paint
- The sprite filer supports clipboard cut & paste operations, interacting with other compliant RISC OS applications.
- Supports drag and drop of Sprites for keyboard-less transfer in and out of Paint.
- Colour handling has been greatly improved
- Artist friendly colour ordering of 256 colour palette, and option to reorder pixel data for the remapped palette
- Full 256 colour sprites can be created (as well as 64/16 entry VIDC compatible ones)
- Colour indicator swatch in the bottom left corner of the sprite window
- Adjust click on colours to paint with background colour
- Shift-select as a shortcut to Paint > Select colour
- Shift-adjust ditto for background colour
- The sprite editor window will zoom if the containing window is resized while Ctrl is held down.
- Now saves its choices in the Choices directory, with the choices dialogue accessible via the icon bar menu Choices… item.
- During a sprite move there is a new option to wrap pixels that have “fallen” off the edge back round to the opposite edge.
- A number of esoteric bugs have been fixed as part of the ongoing improvements to Paint bounty work.
BBC BASIC
- Can now assemble the later ARMv8 AArch32 opcodes using its built in assembler.
- A number of minor bug fixes.
Debugger
- Can now disassemble the later ARMv8 AArch32 opcodes using its built in disassembler.
- Can dump physical memory which is above the 4GB address range.
Filer
- When creating a new directory, multiple levels can be created in one step (using dot separators), using the same destination logic as directory copy.
- The existing Rename shortcut is now marked with ^R in the menus.
Internet
- The insecure T/TCP protocol has been fully removed (previously it was disabled by the Boot application) as part of the TCP/IP security bounty.
- Timeouts on socket operations now timeout correctly for applications that want something other than the default 60s duration.
LanManFS
- Usernames and passwords have been extended to 64 characters.
- Filename translation, file enumeration, and deleting complex directory trees are now more reliable.
RTC
- Now makes the initial clock correction more swiftly than before.
SCSIFS and SDFS’ Filer
- Ambiguous disc name errors caused by swapping discs while they are mounted are now handled correctly, as for ADFS.
- All of the desktop filers now show an ellipsis after the Free menu item in line with the Style Guide recommendation.
WindowScroll
- This is a new module which makes the action of the scroll wheel on a mouse much more configurable.
- The default behaviour matches earlier versions of RISC OS 5, but can be customised through the corresponding Mouse setup plug-in.
Window Manager
- The Window Manager now supports drag and drop (as well as cut and paste via keyboard shortcuts) in writable icons throughout the desktop
- Any Style Guide compliant application should automatically gain this feature in any suitable icon
- A new Clipboard Manager task keeps track of the clipboard operations
- Programmers may wish to consult the draft documentation for details of the interfaces that have changed
- A handful of bugs have also been fixed – consult the full change logs for programmer level detail of what these are.
Iyonix specific
NVidia video driver
- Now supports video modes with unusual line lengths which require padding, such as 1366 wide
Beagleboard specific
HAL
- Fix to UART driver for speeds above 19200bps.
- Fix to BeagleBoard rev C GPIO setup.
OMAPVideo video driver
- Now supports video modes with unusual line lengths which require padding, such as 1366 wide.
Pandaboard specific
HAL
- Fix to UART driver for speeds above 19200bps.
- Preparatory work for using multiple cores in future.
OMAPVideo video driver
- Now supports video modes with unusual line lengths which require padding, such as 1366 wide.
Raspberry Pi specific
HAL
- Adds Compute Module 3+ support.
- Adds Model 4B support.
- Fix for UART handshaking.
XHCIDriver
- Extended to attach to XHCI controllers which are on the PCIe bus
- A number of fixes and stability improvements adopted from NetBSD
EtherGENET
- This is a new module to drive the on chip gigabit Ethernet interface present in the Model 4B
BCMVideo
- Updates in support of the primary video head on the Model 4B
Titanium specific
GC320 video driver
- Now supports video modes with unusual line lengths which require padding, such as 1366 wide.
- Is more lenient vetting some video modes that were previously incorrectly calculated or rejected.
HAL
- Improvement to SATA reset when softloading and PHY settings.
- Fix for left/right reversal on the headphones.
- Fix to UART driver for speeds above 38400bps.
- Fix to PCIe bus master setup.
XHCIDriver
- Extended to attach to XHCI controllers which are on the PCIe bus
- A number of fixes and stability improvements adopted from NetBSD