RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

Toolbox reunification

Guide target £2,950

The User Interface Toolbox comprises a set of modules to help write Style Guide compliant applications, built up from gadgets arranged into classes, with the minimum of effort using high level languages. These modules are built into the main RISC OS ROM or provided on disc for older versions, making them as universally available as BBC BASIC. However, the operating system’s history includes a fork at RISC OS 3.80 (codenamed Ursula) with new features and fixes being added to what became the Toolbox that RISC OS 5 uses, and different new features and fixes being added to what became RISC OS Select.

Having two divergent copies undermines one of its primary goals – to have a universally available Toolbox for applications to work with – meaning that only the lowest common denominator set of features can be used.

Details

This bounty produces a definitive set of modules containing the superset of both branches.

The recent open sourcing of RISC OS has opened a new line of dialogue with 3QD, the owners of the former RISCOS Ltd intellectual property. With that, it may now be possible to approach them to get the internal details of how their version of the Toolbox worked in order to help with this bounty. An alternative approach is to study the published documented changes and to use these to ‘clean room’ reimplement the missing features. Comparing 20+ year divergent modules will require similar time and skill regardless of the method involved, so the following activity list doesn’t focus on any particular approach.

  • Gather the list of deltas between versions
    • New SWIs and Toolbox events
    • New gadget types
    • New documention, for example in text files, with references to where the information came from
  • Integrate the differences found
    • Updating the modules
    • Adding to the gadget palette known by ResEd and ResTest
    • Adding to the Toolbox libraries and corresponding C header files for developers to use
    • Testing with a simple demonstration Wimp application to exercise fixes and new features

Deliverables

  • Updated C source code to the modules
  • Updated C source code to ResEd and ResTest where applicable
  • Component ‘Common’ converted to use the shared Makefiles

The resulting modules will be integrated into RISC OS 5 and included in the PlingSystem download for the same set of earlier ROM releases as the ROOL set are currently provided for today. In other words, it is not expected that a new version of the RISC OS 4 (or 6) ROMs will be produced, nor would they be loaded there, but since the APIs are now provided that shouldn’t be necessary.

No new Toolbox object modules are thought to be needed in addition to those already managed by ROOL.

On completion of this bounty ROOL will commence editing of a revised User Interface Toolbox manual to reflect the reunified set, making it available as an Adobe PDF for all programmers to reference, and also to purchase in printed form as part of our range of books.

Donations 38
Total £1,750.00
State Underway ?
Help More information about the bounty scheme
Bounty scheme discussion forum

All bounties

Search whole site

Social

Follow us on and

ROOL Store

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

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

Actions

  • All bounties
Site design © RISC OS Open Limited 2018 except where indicated
The Canvass icons are adapted from material at defaulticon.com

Valid XHTML 1.0  |  Valid CSS

Powered by Canvass
This site runs on Rails

Hosted by Arachsys