Backward Compatibility
Limited software portability exists with subsequent versions of the OS and hardware. Single-tasking BBC BASIC applications often require only trivial changes, if any. Successive OS upgrades have raised more serious issues of backward compatibility for desktop applications and games. Applications still being maintained by their author(s) or others have sometimes historically been amended to provide compatibility.
The introduction of the RiscPC in 1994 and its later StrongARM upgrade raised issues of incompatible code sequences and proprietary squeezing (compression). Patching of applications for the StrongARM was facilitated and Acorn's UnsqueezeAIF software unsqueezed images according to their AIF header. The incompatibilities prompted release by The ARM Club of its Game On! and StrongGuard software. They allowed some previously incompatible software to be run on new and upgraded systems. The version of the OS for the A9home prevented the running of software without an AIF header (in accordance with Application Note 295) in order to stop "trashing the desktop".
The Iyonix PC (RISC OS 5) and A9home (custom RISC OS 4) saw further software incompatibility because of the deprecated 26-bit addressing modes. Most applications under active development have since been rewritten. Static code analysis to detect 26-bit only sequences can be undertaken using ARMalyser. Its output can be helpful in making 32-bit versions of older applications for which the source code is unavailable. Some older 26-bit software can be run without modification using the Aemulor emulator.
Additional incompatibilities were introduced with newer ARM cores, such as ARMv7 in the BeagleBoard and ARMv6 in the Raspberry Pi.
Read more about this topic: RISC OS