Safeguarding the past, present and future of RISC OS for everyone
News Downloads Bugs Bounties Forums Library

RISC OS Roadmap

The intention of this page is to host a list of possible software development “work packages” which we and others believe might possibly be performed in order to move RISC OS significantly forward from where it is today.

We have made no attempt below to set priorities, define interdependencies, scope out the work for each task, determine the skill set required, etc. They are merely listed alphabetically for future consideration as part of a bounty for example.

Proposed

  • Debugger
    • Add support for hardware watchpoints and breakpoints
    • Allow setting breakpoints in ROM where the ‘ROM’ is actually soft ROM
  • Filing system overhaul
    • New FileCore format for huge modern discs
    • 64-bit disc addressing
    • 64-bit file pointers
    • Remove FileCore 4 floppy+4 HD limit
    • Support for asynchronous/background/threaded file transfers
    • Device-drive mapping
    • Adding background transfer support to SCSIFS
    • UDF format DVD-ROM reading in CDFS
    • Write PATA backend for ADFS4 for Iyonix and IOMD platforms
    • Add BZip2, LZMA, 7zip archive formats to SparkFS
  • Improved task/process management (e.g. making more state per-process instead of global. An important stepping stone to full preemptive multitasking, and will benefit us now by making taskwindows more reliable/versatile. External project ROX Desktop.)
  • Internet stack
    • Update from FreeBSD for IPv6 etc
  • Kernel todo list – A collection of large and small items which vary greatly in terms of how much they will/may benefit the OS.
  • Multimedia stack
    • Common video codecs
    • Common audio codecs
  • Preemptive multitasking (a simple job, clearly)
  • Printing system improvements
    • Higher than 2000dpi output via bit image printers
    • Integrate RemotePrinterFS into the Printer Manager connections dialogue
  • Platform specific additions
    • NAND flash FS / driver
    • SoC DSP co-processor support
    • A9Home port
  • Rolling OS updates
    • Better automation of big bang releases
    • Installer to look to run pre- and post-install scripts
    • Minimal option to keep security up to date
  • Standardise audio capture
    • Externally accessible audio inputs on Tungsten, OMAP3, OMAP4, Wandboard, Titanium
    • API should also take into account capture from USB audio devices
  • Toolbox API brought up to par with ROL version (summary of changes)
  • Touchscreen drivers for multi-touch / gesture support (some USB HID devices now supported)
  • Unicode support more complete
  • Vectorise code for graphics rendering and sound mixing (thread 1, thread 2)
  • VFP support
    • Maybe update FPEmulator so that FPA code maps to VFP hardware
    • Write VFP emulator for those with no VFP
  • Window manager (the WIMP)
    • Animated window and menu transitions
    • API to read window contents as bitmap (even if not at front) – from transparent window work
    • Non-rectangular and transparent windows
    • Play sound sample on desktop events
    • Improve resize options, current Wimp$FontSize is very limited in making the desktop easier to read
    • Adapting the WIMP for multiple displays

In progress via the bounty scheme

  • Filing system overhaul
    • Add partition table support to the filing system stack
    • Rewrite FileCore in ‘C’ language – currently in Arm assembly
  • Internet stack
    • Update from FreeBSD
    • Zero copy option in the DCI4 spec, so drivers can deliver data direct into mbufs without the data having to be copied twice in a similar manner to the ‘driver-does-IP-checksum’ flag
    • Wi-Fi support (from BSD?)
      • Support for built-in Wi-Fi chipsets present on some hardware targets
  • Update USB stack from NetBSD
    • CDC class dongle support
    • Perhaps to include USB3 support
    • USB WiFi dongle support

In progress via self initiative

  • Cross compilation
  • Improved memory management:
    • More powerful dynamic areas, free up lots of logical address space (thread)
    • Fix the OS’s approach to cache maintenance, and avoid performing unnecessary maintenance when mapping/unmapping pages
  • OpenGL support – Raspberry Pi GL drivers are being ported
  • 64 bit, nanosecond resolution monotonic timer & scheduled events (thread)

Recently completed

  • Clipboard Support (Clipboard Bounty)
    • Add clipboard support to Draw
      • Import (pasting) of sprites, JPEGs, text, DXF, and of course Draw objects
      • Export (copying) of sprites, JPEGs, text, PostScript, Draw
    • Finish clipboard support in the Window Manager
      • Drag and drop in writable icons
      • Copy and paste in writable icons
  • Increased memory protection
    • Move zero page
    • Add support for non-executable pages
  • VFP support
    • Get VFP/NEON working with GCC and iron out all the issues with using VFPSupport in the real world – GCC 4.7.4 release 2 is the first official release to include VFP/NEON support on RISC OS
    • Implement VFP support code to allow VFP1/VFP2 (e.g. Raspberry Pi) to run in IEEE-conformant mode
    • Use of VFP for floating point in BASIC64 (thread)
    • Transcendental functions (shared between BASICVFP and SharedCLibrary)

Significant mid/long term roadmap items

These six topics, originally from the above roadmap list, have been identified as significant activities over the coming years because they either lay foundations to enable other roadmap items or are key to the future direction of the OS.

While not currently part of the bounty list, as designs progress it may become clear that a bounty would be a sensible way of accelerating the activity.

  1. Addressing the end-of-life of AArch32
  2. Extensions to the BBC BASIC language
  3. Large Physical Address Extension memory model
  4. Improve GraphicsV to support multiple monitors
  5. Multiple Arm core CPU support
  6. Utilising hardware VFP rather than FPA
Revised on April 6, 2025 08:59:54 by Sprow (202)?
Edit | Back in time (61 revisions) | See changes | History | Page style: Views: Print | Source | Linked from: IOMD port status, Stable Release Common Status, OMAP 4 port status, Tungsten port status, Titanium port status, OMAP 3 port status, Raspberry Pi port status, HomePage
   
See something that worries you?
Ask a moderator! More info here.

Search

Social

Follow us on BlueSky Facebook LinkedIn

ROOL Store

SD card Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

ROD RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds

Contact Us  |  About Us

The RISC OS Open Instiki theme is based on Insitki's default layout
Site design © RISC OS Open Limited 2025 except where indicated

Hosted by Arachsys

Powered by Instiki
This site runs on Rails