Drobe :: The archives
About Drobe | Contact | RSS | Twitter | Tech docs | Downloads | BBC Micro

First release of unofficial open source SharedCLibrary

Published: 19th Dec 2006, 23:11:52 | Permalink | Printable

Open sourcing by stealth continues

Graham Shaw has released an early experimental build of his open source SharedCLibrary module. The unofficial SCL is billed as a free re-implementation of the RISC OS core module by the same name. It is hoped Graham's module will offer various enhancements and features over the existing SCLs from Castle and RISCOS Ltd - such as extra debugging to SysLog.

The SCL provides a toolkit of useful functions for all applications to use when they need to work with files, manage resources, display text, and so on.

Graham ShawFor the moment, Graham's module is suitable for 32bit safe versions of RISC OS only, although he hopes to address this later. Graham also said the module needed a speed boost, but he was focused on getting the library working first before optimising it later.

Graham, pictured, said: "The free SharedCLibrary should be able to act as a drop-in replacement. Don't even think about doing any performance tests at the moment, unless you want a good laugh. Some rather critical functions are written in C.

"Due to the nature of this module it has the potential to cause widespread disruption to a machine if it fails. For this reason, it is being released for the purpose of evaluation and compatibility testing only in the first instance. Please read the supplied documentation before attempting to use it."

RiscPkg author Graham began writing his replacement SharedCLibrary earlier this year, which was described at the time as 'open sourcing RISC OS by stealth.'

• Meanwhile, RISC OS Open's new website has gone live. The team said they are hoping to get the RISC OS 5 SharedCLibrary into the first batch of source code released as part of their project.


Download Graham's SCL or browse the source code

Previous: Best of 2006 awards voting now open
Next: Gimp-Print sequel port planned for March


Viewing threaded comments | View comments unthreaded, listed by date | Skip to the end

Congrats Graham!

Jan Rinze.

 is a RISC OS UserJanRinze on 20/12/06 1:50PM
[ Reply | Permalink | Report ]

And there we were worried about only having 2 SharedCLibrary implementations ;-)

 is a RISC OS Usermarkee174 on 20/12/06 3:55PM
[ Reply | Permalink | Report ]

to markee174:

But , mind you, this is the first to be opensourced!

Jan Rinze.

 is a RISC OS UserJanRinze on 20/12/06 4:03PM
[ Reply | Permalink | Report ]

While it's regrettable that such duplication has occured (especially by ROL, who can hardly have had the resources to write a new SCL when they've got so much else to do), Graham's effort is certainly welcome. Hopefully, if the ROOL effort ever materialises, Graham's work can feed back into that, adding thenew features he's created and allowing the platform to standardise back on to a single version usable on all machines.

 is a RISC OS Userlym on 20/12/06 4:37PM
[ Reply | Permalink | Report ]

In reply to lym: Absolutely. This proliferation of versions of OS and OS components is a nightmare for testing and support.

 is a RISC OS UserTonyStill on 21/12/06 10:08PM
[ Reply | Permalink | Report ]

In reply to TonyStill:

I don't see why having separate implementations is such a problem provided that they work to the same API. If you find a difference of behaviour then it is either a bug in your program or a bug in the library, and in either case the sooner it is eliminated the better.

I aim to match any implementation-defined behaviour of the existing SCL implementation, and programs should not rely on unspecified or undefined behaviour in the first place. I've also made it very clear that in its experimental phase, the SCL should be considered the prime suspect for any problems that occur and they should not be reported to other developers.

 is a RISC OS Usergdshaw on 22/12/06 8:46AM
[ Reply | Permalink | Report ]

I haven't had chance to evaluate this version yet, but there is considerable scope for improvement of the SCL in an open source version, which would immediately benefit a huge number of applications. For example the UnixLib implementation of some of the stdio functions such as sprintf are far more efficient than either RISC OS SCL, and recent work on utilising the XScale's Application Accelerator engine could be used to drastically speed up large memcpy and memset operations.

 is a RISC OS Userdruck on 22/12/06 9:41AM
[ Reply | Permalink | Report ]

In reply to druck:

I agree completely, but I hope you'll understand that I want to focus on correctness rather than performance in the first instance.

(As I mentioned in csa.apps some of the current functions are naive in the extreme, but they have the virtue of being much less likely to go wrong than highly optimised versions.)

 is a RISC OS Usergdshaw on 22/12/06 9:55AM
[ Reply | Permalink | Report ]

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

  • Euro 2006 show report
    Select 4 Filer photos, Impression-X, and more [Updated]
     27 comments, latest by blahsnr on 26/6/06 8:02PM. Published: 23 Jun 2006

  • Random article

  • Anti-spam rules updated in NetFetch 3.01
    Plus 'enhanced' RSS support and per-mailbox anti-spam rules
     Discuss this. Published: 24 Feb 2007

  • Useful links

    News and media:

    Top developers:
    RISCOS LtdRISC OS OpenMW SoftwareR-CompAdvantage SixVirtualAcorn

    CJE MicrosAPDLCastlea4X-AmpleLiquid SiliconWebmonster


    RISCOS.org.ukRISCOS.orgRISCOS.infoFilebaseChris Why's Acorn/RISC OS collectionNetSurf

    Non-RISC OS:
    The RegisterThe InquirerApple InsiderBBC NewsSky NewsGoogle Newsxkcddiodesign

    © 1999-2009 The Drobe Team. Some rights reserved, click here for more information
    Powered by MiniDrobeCMS, based on J4U | Statistics
    "Drobe's only failing is the sixth-form geek-journo tone with its lead balloon humour and occasional smugness and ugly personalty"
    Page generated in 0.0826 seconds.