ROL release C99 SCL to A9home usersBy Chris Williams. Published: 17th Apr 2006, 17:49:22 | Permalink | Printable
Testers see future RISC OS 4 featuresRISC OS 4.42 rolled out to A9home users this month includes a 32bit SharedCLibrary with C99 functionality. It is hoped this will address the messy issue of the split caused by Castle and RISCOS Ltd developing their own separate SCLs, as this new module from ROL is intended to be compatible with software built for the Castle SCL. AdvantageSix now say that all users should be happy using the SharedCLibrary installed in their computers' ROMs, and developers should switch to using StubsG to maximise compatibility. The new C99 SCL is understood to be included in Select 4, the belated next release of RISC OS 4.
The SCL is a core operating system component that provides applications with a set of common resources, and Castle and RISCOS Ltd each provide a flavour of the module to end users. Software on their computers use the installed SCL to perform basic tasks, such as accessing files and asking for memory.
In the days before 32bit RISC OS 4, Castle made available a SCL for RiscPCs and other computers using a 26bit RISC OS. A 32bit version of this SCL was included in RISC OS 5, shipped with Iyonixes. Software programs that intended to work on both 26bit and 32bit RISC OS were rebuilt with Castle's SCL in mind. However, after the arrival of the A9home and 32bit RISC OS 4, a lot of software refused to run with the RISCOS Ltd SCL, due to version number checks or missing features. ROL's solution was to bring their SCL up to match or exceed the features of the Castle SCL. By luck, the version number of the RISCOS Ltd C99 SCL is 5.59 - higher than Castle's current version of 5.53, so existing third party software will accept it.
Matt Edgar of AdvantageSix, who manufacture the A9 range, said the version numbering was not deliberate, but added that since the split in development of RISC OS, version numbering of common components has 'gone out the window'.
He said: "We are simply not going to play the version numbers game. People should use the version of the SCL in ROM in their machines. Developers should ideally use StubsG, because then there's no need to mess about making sure the 'right' SCL is installed, and distribution becomes easier."
A C99 capable version of StubsG is in testing, pending release. The library acts as a hook for applications, allowing them to use whichever SCL is installed. Castle provide their own 'stubs' library, for their own SCL, with their C/C++ compiler package. A number of leading developers, including MW Software and R-Comp, have recently turned to using StubsG for their products.
A couple of messages were spotted in the new version of the A9home's operating system which would appear to warn the user if they attempt to use an "unsuitable" SharedCLibrary module. The warning text reads: "This version of the SharedCLibrary is known to be unsuitable for this operating system version and may cause instability with certain components. Please contact your supplier for an upgrade."
AdvantageSix said the messages were included accidentally in the beta ROM release, and as they are not used by the OS, they should be ignored.
The latest ROM issued to A9home users, who form the pool of selected beta testers of the ARM9 powered machine, declares itself as being 'RISC OS Select 4pre8 (32bit)'. The A9home's Flash memory is updated using a tiny and basic version of Linux in the Flash ROM image - although the two OSes are separate, drivers on the Linux side have been reportedly fed into the mainstream Linux kernel sources, and AdvantageSix stress that they will only look into a full Linux port for the A9home after the RISC OS product is done and dusted.
The team have spent time on a recent stability drive in RISC OS to really tighten up the operating system and block badly behaving applications from trashing the desktop. One example of this is to prevent software that doesn't have an 'AIF header' from running. The OS can use the information stored in this header to properly tell if an application claims to be 32bit compatible, amongst other details. Acorn mandated a decade ago that software should use this header, so this new check is expected to mainly catch poorly constructed programs. Another example of tightening up system stability was seen by the developers of text and source code editor StrongED. The application would crash when the user interacted with a search results window on the A9; it turned out to be a fault in the application that caused it to access memory that didn't belong to it.
After pin-pointing the bug and fixing StrongED, programmer Fred Graute said: "What's astounding is that this bug has been in every version of StrongED since at least 4.60, and hasn't resulted in abort errors before. Presumably the A9 has a version of RISC OS that guards better against this kind of thing."
In addition, an update to protect operating workspaces from being scribbled over by badly behaving or poorly written software should prevent the scenario of an application causing a system crash several minutes later, just when the user is about to do something critical, such as save the document they've been working on for a hour.
The OS also includes 'abortable dynamic areas', meaning that when software accesses parts of the DA, a smaller piece of software can be notified and perform some extra activity related to it - opening up the possibilities of a third-party developer implementing, for example, a virtual memory system. DAs can also be created and mapped to physical memory, enabling hardware drivers to more easily access devices. An initial glimpse of ROL's new debugger is included in the ROM build, which will eventually form part of a tool that will allow developers and testers to easily follow a 'bread crumb'-like trail through the system in search for the cause of a bug or crash. The tool has already been used to address an obscure fault in the Filecore module and other components, and can track faults in device driver level code.
RISC OS 4.42 now features automatic monitor detection, allowing the system to be optionally configured to switch to different screen modes depending on the monitor it's plugged into. This builds upon Ad6's goal of encouraging A9home users carry their diminutive computers to and from work and home; there's the possibility that this feature may be expanded so that the system will switch to a user-defined 'home' configuration (with suitable network, pinboard and other settings) when it's plugged into the living room large plasma screen, and then switch to another user-defined configuration (with productivity applications loaded and so on) when the unit is plugged into the office LCD monitor.
Support for accessing CDs via USB is included and has been tested for some time, although serial port and CMOS memory support are still on the to-do list - the latter being a somewhat headache to implement given the level of hardware abstraction now in the operating system and the fact that it relies on accessing the keyboard hardware early into the boot sequence. The team have also worked out a way to increase the wimpslot size but have not implemented any changes in this area; they are reluctant to extent it in order to maintain compatibility with software running on RiscPCs.
AdvantageSix are said to be comfortable that the A9home should be ready in time for a formal launch at the Wakefield show, or the weeks immediately after.
Previous: Printing over a network with ease on RISC OS
Next: Euro Expo 2006 confirmed
DiscussionViewing threaded comments | View comments unthreaded, listed by date | Skip to the end
Please login before posting a comment. Use the form on the right to do so or create a free account.
Search the archives
Today's featured article
Java and RISC OS
Nick Brown explores the state of play and future options
47 comments, latest by em2ac on 28/09/07 12:34AM. Published: 19 Sep 2007
New utility Calibre generates calendars
Ray Favre releases new app that creates day, week, month and year planners
Discuss this. Published: 31 Jul 2007
News and media:
RISCOS Ltd •
RISC OS Open •
MW Software •
Advantage Six •
CJE Micros •
Liquid Silicon •
Chris Why's Acorn/RISC OS collection •
The Register •
The Inquirer •
Apple Insider •
BBC News •
Sky News •
Google News •