A few years ago, RISC OS Open announced that a large number of applications would soon no longer be able to access the ARM vectors, kernel workspace, or any memory in what is known as ‘zero page’, which the memory from addresses 0 to 4095.
Fixing these zero page memory bugs in anything that runs on RISC OS will be a huge step towards allowing RISC OS to move closer to running on multiple cores in modern ARM processors, and to greatly improve system stability by removing a common class of programming mistake when applications use an address of zero by mistake.
Since ROOL’s announcement over three years ago, they’ve announced that over 70 bugs that needed addressing within RISC OS itself have been resolved – while the response from developers in the community has been pretty good, with a good number of popular applications being fixed to avoid huge compatibility issues later on down the line.
With the introduction of RISC OS 5.24, to help with compatibility a largely empty ‘page’ of read-only memory has been positioned where the old ‘zero page’ used to be, so accidental reads will continue to be hidden until any of the few remaining commonly-used buggy applications are fixed.
What’s really good to see here is the community seems to be responding in a very positive way towards upgrading applications now to avoid compatibility issues later on down the line.
Obviously there will still be some problems when RISC OS moves towards utilising multiple cores (or at least laying down the foundations for it), afterall we’re still coming across a few widely used applications that aren’t 32-bit compatible, 16 years after the first 32-bit RISC OS computer came out. For the most part however, it goes to show to that most people involved with RISC OS seem to be working towards a common goal now rather than the ROOL/RISCOSLtd. split that was very prevalent a few years ago.
A list of applications that have been reported and fixed is available on ROOL’s website should you want to take a gander.