From: <jt...@us...> - 2007-04-14 17:46:46
|
Revision: 242 http://ro-oslib.svn.sourceforge.net/ro-oslib/?rev=242&view=rev Author: jtytgat Date: 2007-04-14 10:46:43 -0700 (Sat, 14 Apr 2007) Log Message: ----------- Copy of the current website with the following changes: - now binary zip releases are pointing to sf.net's File Releases area. - a couple of HTML related changes so all pages are validating again. Added Paths: ----------- trunk/website/ trunk/website/archives.html trunk/website/contact.html trunk/website/cvs.html trunk/website/download.html trunk/website/faq.html trunk/website/future.html trunk/website/guide.html trunk/website/history.html trunk/website/images/ trunk/website/images/browserany.gif trunk/website/images/valid-html401.png trunk/website/index.html trunk/website/release-6.80.html trunk/website/release-6.90.html Added: trunk/website/archives.html =================================================================== --- trunk/website/archives.html (rev 0) +++ trunk/website/archives.html 2007-04-14 17:46:43 UTC (rev 242) @@ -0,0 +1,142 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Zap HoTMeaL"> + <meta name="content" content="Acorn, Risc OS, OSLib"> + <meta name="Author" content="Tony van der Hoff"> + <title>The OSLib GPL Release - Archives</title> +</head> +<body text="#000000" bgcolor="#FFFFC0" link="#0000FF" vlink="#800080" alink="#FF00FF"> + +<h1>OSLib Archives</h1> + +<hr> + +<!--Begin outer table --> +<table BORDER=0 CELLSPACING=10 CELLPADDING=0 WIDTH="100%" > + <tr VALIGN=TOP> + <td> + <!-- contents list Table --> + <table BORDER=0 CELLSPACING=0 CELLPADDING=10 WIDTH="250" > + + <!-- Contents list --> + <tr BGCOLOR="#80ffff"> + <td> + <h2>Site Contents</h2> + + <ul> + <li><a href="history.html">History and Copyright</a></li> + <li><a href="future.html">Future Development</a></li> + <li><a href="download.html">Obtaining OSLib</a> + <ul> + <li><a href="archives.html">ZIP Archives</a></li> + <li><a href="cvs.html">Source via CVS</a></li> + </ul> + </li> + <li><a href="contact.html">Contacts</a></li> + <li><a href="faq.html">FAQ</a></li> + </ul> + </td> + </tr> + + <tr><td></td></tr> + + <tr BGCOLOR="#80ffff"> + <td><a href="index.html">Home</a></td> + </tr> + + </table> <!-- end contents list table --> + + <td ALIGN=LEFT> <!--Begin main content --> + + <h2>Summary</h2> + <p>Links to specific OSLib releases are provided below; + you should normally only need the latest version; + the links to earlier + versions are only provided to give a fallback + in case you have problems with + the latest release, and for historical interest. + </p> + + <p> + All available OSLib releases can be found at OSLib's <a href="https://sourceforge.net/project/showfiles.php?group_id=51230">Sourceforge + Files Release area</a>. + </p> + + <p>The down-loadable files on this site are all in + Spark compressed zip file + format. To uncompress any of them, use + <a href="mailto:da...@pi...">David Pilling</a>'s + freeware self extracting + <a href="http://www.netlink.co.uk/users/pilling/splug.bas"> + SparkPlug + </a> + application (set the file type to BASIC, and double-click), + or his excellent commercial + <a href="http://www.netlink.co.uk/users/pilling/sprkfs.html"> + SparkFS + </a> + filing system. + </p> + + <h2><a>OSLib Releases</a></h2> + + <ul> + <li><p> + <b><a href="release-6.90.html">Version 6.90</a></b> + (02 January 2006). Adds some Reporter SWIs, and + fixes bugs in PCI, OS, and ColourTrans. + </p></li> + + <li><p> + <b><a href="release-6.80.html">Version 6.80</a></b> + (31 December 2005). Adds a number of new functions, + and some constants, together with a few bug fixes + </p></li> + + <li><p> + <b><a href="https://sourceforge.net/project/showfiles.php?group_id=51230&package_id=228627&release_id=501110">APCS-R (26-bit) OSLibSupport library</a></b> + (09 March 2005). The GCCSDK, which is used to build OSLib and + its support library no longer supports the compilation of + 26-bit code. In consequence, the OSLib project will also + no longer issue 26-bit versions of the library. This should not be + a problem for the main library, as the code is fully compatible. + For the Support library, there may be a problem with linking with + older 26-bit C code. The Support library under this link + is a final build, compiled using the Castle compiler with 26-bit + APCS. It will remain here, + at the level of OSLib 6.70, but will not be further developed. + For the current, 32-bit, OSLibSupport library, please follow the + links to the current OSLib page. + </p></li> + </ul> + + Use of the library is quite straightforward and intuitive, but first-time + users may find some examples useful. These are available from the download + page. + <br>A complete example of an application using the Toolbox and OSLib + can be found + <a href="http://www.vanderhoff.org/software/risc_os/"> + here + </a>. + + </td></tr> <!-- end main content --> + +</table> <!-- end outer table --> + +<hr WIDTH="100%"> + +<a href="http://validator.w3.org/check/referer"><img border="0" +src="http://www.w3.org/Icons/valid-html401" +alt="Valid HTML 4.01!" height="31" width="88"></a> + +<div align=right><font size=-1> + +Tony van der Hoff, +<br>02 January 2007 + +</font></div> + +</body> +</html> Added: trunk/website/contact.html =================================================================== --- trunk/website/contact.html (rev 0) +++ trunk/website/contact.html 2007-04-14 17:46:43 UTC (rev 242) @@ -0,0 +1,142 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Zap HoTMeaL"> + <meta name="content" content="Acorn, Risc OS, OSLib"> + <meta name="Author" content="Tony van der Hoff"> + <title>The OSLib GPL Release - Contacts</title> +</head> +<body text="#000000" bgcolor="#FFFFC0" link="#0000FF" vlink="#800080" alink="#FF00FF"> + +<p><center><h1>OSLib Contacts</h1></center> + +<hr> + +<!--Begin outer table --> +<center> +<table BORDER=0 CELLSPACING=20 CELLPADDING=0 WIDTH="100%" > +<tr VALIGN=TOP> +<td> + + +<!-- contents list Table --> +<table BORDER=0 CELLSPACING=0 CELLPADDING=10 WIDTH="250" > + +<!-- Contents list --> +<tr BGCOLOR="#80ffff"><td><h2>Site Contents</h2> + +<ul> +<li><a href="history.html">History and Copyright</a></li> +<li><a href="future.html">Future Development</a></li> +<li><a href="download.html">Obtaining OSLib</a> +<ul> +<li><a href="archives.html">ZIP Archives</a></li> +<li><a href="cvs.html">Source via CVS</a></li> +</ul></li> +<li><a href="contact.html">Contacts</a></li> +<li><a href="faq.html">FAQ</a></li> +</ul> + +<tr><td></td></tr> + +<tr BGCOLOR="#80ffff"><td><a href="index.html">Home</a></td></tr> + +</table> <!-- end contents list table --> + +<td ALIGN=LEFT> <!--Begin main content table --> + +<p> +<h2><a name="maillists">Mail Lists</a></h2> + +<p>We have set up a number of mail lists to allow discussion of the development +of OSLib, and for dissemination of information. Tom Hughes is running these +on his compton.nu domain, and we gratefully acknowledge his help in this. +<p>To subscribe, send a blank e-mail to: <listname>-su...@co... (or just click on the links below); +<br>Post submissions to <listname>@compton.nu + +<ul> + +<li><b>oslib-user</b> -- This is the main discussion and self-help channel +for users of OSLib and its build tools. It is also for feedback from users to +the development team. Send any bug reports and suggested enhancements here to +ensure the widest distribution. Both <a +href="mailto:osl...@co...">subscribing</a> and <a +href="mailto:osl...@co...">posting</a> is open. </li> + +<li><b>oslib-team</b> -- For discussions amongst the developer team and close +associates. Both <a +href="mailto:osl...@co...">subscription</a> and <a +href="mailto:osl...@co...">posting</a> is moderated. </li> + +<li><b>oslib-announce</b> -- For announcements from the developer team +regarding new releases, features, etc. <a +href="mailto:osl...@co...">Subscription</a> is open; +<a href="mailto:osl...@co...">posting</a> moderated. +</li> + +<li><b>oslib-commits</b> -- This is a mail-list which sends +automatically-generated information whenever an update is committed to the CVS +repository. If you want to keep bang up-to-date with OSLib, then this is for you. +Subscribe via the +<a href="http://sourceforge.net/projects/ro-oslib/"> +SourceForge OSLib project page</a>, by clicking on "Mail lists". +</li> + +</ul> + +<p><h2><a name="team">OSLib Team</a></h2> + +<p>The OSLib development Team at present is made up of a number individuals, each +of whom have put in a lot of effort to bring you Free OSLib, and will +continue to do so. Please join us with any help you can give! + +<p>If you have any queries about OSLib development, either post to the +appropriate mail list, or if appropriate, write to any of us. We don't have +individual 'roles' but by the nature of the project, and for historical and +personal reasons, responsibilities tend to be devolved as outlined below. +Naturally, there are cross-overs, and everyone is involved in bug-fixing from +time to time. + +<ul> + +<li><a href="mailto:jon...@do...">Jonathan Coxhead</a> -- The +original author of OSLib. Jonathan is no longer involved in the day-to-day +running of the project, but still provides a lot of help regarding historical +issues and design concepts. We are grateful for his original work, and +continued support.</li> + +<li><a href="mailto:to...@co...">Tom Hughes</a> -- Tom is the main author +of new modules, thus keeping OSLib up to date, and also runs the OSLib mail +lists.</li> + +<li><a href="mailto:to...@va...">Tony van der Hoff</a> -- Tony +administers these web pages, and arranges periodic releases of the library. +</li> + +</ul> + +</td></tr> <!-- end main content --> + +</table> <!-- end outer table --> +</center> + +<hr WIDTH="100%"> + +<!-- footer --> + +<a href="http://validator.w3.org/check/referer"><img border="0" +src="http://www.w3.org/Icons/valid-html401" +alt="Valid HTML 4.01!" height="31" width="88"></a> + +<div align=right><font size=-1> + +Tony van der Hoff, +<br>04 May 2005 + +</font></div> + +<!-- end footer --> + +</body> +</html> Added: trunk/website/cvs.html =================================================================== --- trunk/website/cvs.html (rev 0) +++ trunk/website/cvs.html 2007-04-14 17:46:43 UTC (rev 242) @@ -0,0 +1,125 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Zap HoTMeaL"> + <meta name="content" content="Acorn, Risc OS, OSLib"> + <meta name="Author" content="Tony van der Hoff"> + <title>The OSLib GPL Release - cvs</title> +</head> +<body text="#000000" bgcolor="#FFFFC0" link="#0000FF" vlink="#800080" alink="#FF00FF"> + +<p> +<center><h1>Obtaining OSLib via CVS</h1></center> + +<hr> + +<!--Begin outer table --> +<center> +<table BORDER=0 CELLSPACING=10 CELLPADDING=0 WIDTH="100%" > +<tr VALIGN=TOP> +<td> + + +<!-- contents list Table --> +<table BORDER=0 CELLSPACING=0 CELLPADDING=10 WIDTH="250" > + +<!-- Contents list --> +<tr BGCOLOR="#80ffff"> +<td> +<h2>Site Contents</h2> +<ul> +<li><a href="history.html">History and Copyright</a></li> +<li><a href="future.html">Future Development</a></li> +<li><a href="download.html">Obtaining OSLib</a> +<ul> +<li><a href="archives.html">ZIP Archives</a></li> +<li><a href="cvs.html">Source via CVS</a></li> +</ul></li> +<li><a href="contact.html">Contacts</a></li> +<li><a href="faq.html">FAQ</a></li> +</ul> +<a href="index.html">Home</a> +</td></table> <!-- end contents list table --> + +<td ALIGN=LEFT> <!--Begin main content table --> + +<p><h2><a name="summary">Summary</a></h2> + +<p>The sources for OSLib, OSLibSupport, and the various build tools are +freely available via CVS from SourceForge. + +<p>You may browse the repository using <a +href="http://ro-oslib.cvs.sourceforge.net/ro-oslib">ViewCVS</a>. + +<p>In order to check out the repository to a local directory on your RISC OS +machine, you'll need a CVS client running. <a +href="http://www.cvs.riscos.org.uk">John Tytgat's port</a> is suitable, athough +the front end application is out of date in respect to the main application, +so it's probably best to use the command line interface. In order to +correctly perform the filename translation from UNIX style to RISC OS, you'll +need to set suffix swapping (either in the application window or via the +environment variable UnixEnv$cvs$sfix) to include the extensions +c:cc:h:swi:asm:s:Hdr:y. + +<p>The alternative is to check out the project onto a Linux box. If you're +using Linux, you'll know how to do this. OSLib and its tools may be built under Linux, +or under RISC OS. To do the latter, it is necessary to change all +filenames from UNIX <name>.<ext> format to the RISC OS +<dir>.<name> format. This is most easily achieved by using Tony +van der Hoff's <a href="http://www.vanderhoff.org/software/risc_os/unixify.zip">Unixify</a> +command-line utility. The archive contains a couple of example TaskObey +files, one of which shows how to RISCOSify the OSLib sandbox. + +<p>Whichever platform you choose to use, the anonymous checkout procedure is +similar: + +<ol> + +<li>Set the environment variable CVSROOT to +:pserver:ano...@ro...:/cvsroot/ro-oslib</li> + +<li>Log in to SourceForge using the command "cvs login"; when prompted for a +password, simply press Enter.</li> + +<li>Set the working directory to wherever you want your sandbox to end up +(alternatively use -dir <dir> in the cvs checkout command, but this can +involve a lot of typing in a deeply-nested structure).</li> + +<li>Check out the repository, using the command +"cvs -z3 checkout -P OSLib". This will get you the head +revision, which is what most CVS users will want. However, be warned that +this is in development, and may contain some unwanted surprises. To obtain +the sources for the current stable release version, you need to specify the +version tag; i.e. +"cvs -z3 checkout -dP -r <tag> OSLib", +where <tag> is the OSlib version, e.g. "oslib-690".</li> + +</ol> + +<p>There is quite a lot of code, so it may take a little while on a slow +link, but I'm sure you'll find it whorthwhile! A !Readme file in the main +application directory explains how to build OSLib under RISC OS. You will +need a C compiler, a Linker, a Make utility, and an ARM assembler in addition +to the tools provided. + +</td></tr> <!-- end main content --> + +</table> <!-- end outer table --> +</center> + +<hr WIDTH="100%"> + +<a href="http://validator.w3.org/check/referer"><img border="0" +src="http://www.w3.org/Icons/valid-html401" +alt="Valid HTML 4.01!" height="31" width="88"></a> + +<div align=right><font size=-1> + +Tony van der Hoff, +<br>03 February 2007 + +</font></div> + +</body> +</html> Added: trunk/website/download.html =================================================================== --- trunk/website/download.html (rev 0) +++ trunk/website/download.html 2007-04-14 17:46:43 UTC (rev 242) @@ -0,0 +1,107 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Zap HoTMeaL"> + <meta name="content" content="Acorn, Risc OS, OSLib"> + <meta name="Author" content="Tony van der Hoff"> + <title>The OSLib GPL Release - Download</title> +</head> +<body text="#000000" bgcolor="#FFFFC0" link="#0000FF" vlink="#800080" alink="#FF00FF"> + +<p> +<center><h1>Obtaining OSLib</h1></center> + +<hr> + +<!--Begin outer table --> +<center> +<table BORDER=0 CELLSPACING=10 CELLPADDING=0 WIDTH="100%" > +<tr VALIGN=TOP> +<td> + + +<!-- contents list Table --> +<table BORDER=0 CELLSPACING=0 CELLPADDING=10 WIDTH="250" > + +<!-- Contents list --> +<tr BGCOLOR="#80ffff"><td><h2>Site Contents</h2> +<ul> +<li><a href="history.html">History and Copyright</a></li> +<li><a href="future.html">Future Development</a></li> +<li><a href="download.html">Obtaining OSLib</a> +<ul> +<li><a href="archives.html">ZIP Archives</a></li> +<li><a href="cvs.html">Source via CVS</a></li> +</ul></li> +<li><a href="contact.html">Contacts</a></li> +<li><a href="faq.html">FAQ</a></li> +</ul> + +</td></tr> + +<tr><td></td></tr> + +<tr BGCOLOR="#80ffff"><td><a href="index.html">Home</a></td></tr> + +</table> <!-- end contents list table --> + +<td ALIGN=LEFT> <!--Begin main content table --> + +<p><h2><a name="summary">Summary</a></h2> + +<p>There are a number of ways of obtaining OSLib, and the OSLibSupport +library, depending upon your requirements. + + +<p>First, the <a href="archives.html"><b>OSLib Library</b></a> in binary +(ALF) form, complete with C and assembler headers, is available for download +as a zipped archive, for download. This is all you need to link with your own +applications to provide access to all the RISC O S SWI calls from assembler +or C. The archive contains both 26-bit and 32-bit versions, for linking with +the appropriate Stubs or UnixLib. + +<p>Secondly, the <a href="archives.html"><b>OSLibSupport library</b></a>, +again in binary (ALF) form, complete with C, is available for download as a +zipped archive, for download. This is a C library of support functions, +designed to make programming the RISC OS WIMP and Toolbox modules as easy as +possible. + +<p>Third, a <a href="archives.html"><b>StrongHelp</b></a> manual covering the +entire API from C is available for each version. + +<p>Finally, the <a href="cvs.html"><b>complete source</b></a> for the project +is now available via CVS from +SourceForge. This includes all source files, together with the tools +necessary to build the library. In addition, Makefiles are provided to build +the tools, and the library, from scratch, out of the box, with just one +double-click. You will need a C compiler, a Linker, a Make utility, and an +ARM assembler in addition to the tools provided. The OSLib team use the Acorn +C/C++ package, but the <a href="http://gccsdk.riscos.info/">GCCSDK</a> is +an excellent alternative. + +</td></tr> <!-- end main content --> + +</table> <!-- end outer table --> +</center> + +<hr WIDTH="100%"> + +<!-- footer --> + +<a href="http://validator.w3.org/check/referer"><img border="0" +src="http://www.w3.org/Icons/valid-html401" +alt="Valid HTML 4.01!" height="31" width="88"></a> + +<div align=right><font size=-1> + +Tony van der Hoff, +<br>16 December 2006 + +</font></div> + +<!-- end footer --> + + +</body> +</html> Added: trunk/website/faq.html =================================================================== --- trunk/website/faq.html (rev 0) +++ trunk/website/faq.html 2007-04-14 17:46:43 UTC (rev 242) @@ -0,0 +1,379 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="tony"> + <meta name="GENERATOR" content="ZAP HoTMeal [en-gb] (RISC OS 4.03)"> + <meta name="KeyWords" content="OSLib, FAQ, RISC OS"> + <title>OSLib FAQ</title> +</head> +<body text="#000000" bgcolor="#FFFFC0" link="#0000FF" vlink="#800080" alink="#FF00FF"> + +<center> <h1> OSLib Frequently Asked Questions</h1></center> + +<a name ="top"></a> + +<!--Begin outer table --> +<center> +<table BORDER=0 CELLSPACING=10 CELLPADDING=0 WIDTH="100%" > +<tr VALIGN=TOP> +<td> + + +<!-- contents list Table --> +<table BORDER=0 CELLSPACING=0 CELLPADDING=10 WIDTH="250"> + +<!-- Contents list --> +<tr BGCOLOR="#80ffff"><td><h3>Site Contents</h3> + +<ul> +<li><a href="history.html">History and Copyright</a></li> +<li><a href="future.html">Future Development</a></li> +<li><a href="download.html">Obtaining OSLib</a> +<ul> +<li><a href="archives.html">ZIP Archives</a></li> +<li><a href="cvs.html">Source via CVS</a></li> +</ul></li> +<li><a href="contact.html">Contacts</a></li> +<li><a href="faq.html">FAQ</a></li> +</ul></td></tr> + +<tr><td></td></tr> + +<tr BGCOLOR="#80ffff"><td><a href="index.html">Home</a></td></tr> + +</table> <!-- end contents list table --> + +<td ALIGN=LEFT> <!--Begin main content --> + +<p>This page summarizes some of the most frequently asked questions regarding +the operation and use of OSLib. We hope it will be helpful. If you have any +questions that are not covered here, please feel free to ask on the <a +href="contact.html#maillists">OSLib-users</a> mail-list. + +<h3><br>Copyright and Licencing</h3> + +<ul> + +<li><a href="#copyright">Who owns the Copyright in OSLib?</a></li> + +<li><a href="#proprietary">Can I distribute my proprietary applications built +with OSLib?</a></li> + +</ul> + +<h3><br>Use of OSLib</h3> + +<ul> + +<li> <a href="#wide file handles"> What are wide file handles and why are +8-bit handles retained?</a> </li> + +<li> <a href="#signed ints"> Why are file sizes and os_t typed as signed +ints?</a> </li> + +<li> <a href="#command line"> What command line should I use for compiling +or assembling a program using OSLib?</a> </li> + +</ul> + +<h3><br>Compiler Issues</h3> + +<ul> + + <li> <a href="#supported compilers">Which compilers does +OSLib support?</a></li> + +<li> +<a href="#__swi">Why does my compiler reject the __swi symbol</a>?</li> +</ul> + +<h3><br> +Compatibility Issues</h3> + +<ul> +<li> +<a href="#C++ Templates">Templates in other C++ libraries +clash with some typedefs in OSLib</a></li> + +<li> +<a href="#32-bit architectures"> +Does OSLib support 32-bit architectures?</a></li> + +<li> +<a href="#Why both"> +Why do the distribution archives contain both 32-bit and 26-bit versions of +the library?</a></li> + +<li> +<a href="#tboxlib"> +Why does my toolbox application crash when linked with OSLib and tboxlibs? +</a></li> + +</ul> + +</td></tr> <!-- end main content --> + +</table> <!-- end outer table --> +</center> + +<hr SIZE=4 WIDTH="100%"> + +<a name="copyright"></a> +<h4>Who owns the Copyright in OSLib?</h4> + +<blockquote> +<a href="mailto:jon...@do...">Jonathan Coxhead</a> wrote OSLib +as a private project during he time that he was employed by Acorn. He is the +sole copyright owner of the library, together with the OSLib maintainers who +share the copyright of certain aspects of the package. + +OSLib is now in the public domain under the GNU General Public Licence (GPL), +nonetheless, we ask you to respect Jonathan's copyright. + +</blockquote> + +<a name="proprietary"></a> +<h4>Can I distribute my proprietary applications built with OSLib?</h4> + +<blockquote> +The <a href="http://www.fsf.org/copyleft/gpl.html">GNU General Public Licence</a> +stipulates that any program which embodies any GPL code must itself be +distributed under the terms of the GPL. In particular this means that source code +must be made available for any such program. This is clearly unacceptable for +any proprietary, commercial, code. + +<p>The <a href="http://www.fsf.org/copyleft/lesser.html">GNU Lesser General +Public Licence</a> relaxes this requirement somewhat in only requiring that +binary object files be freely available, thus protecting investment in +proprietary code to some extent. + +<p>The OSLib copyright owner has relaxed even this requirement, as explained +<a href="history.html">elsewhere</a> and any code linked with OSLib may be +distributed in whichever way the developer sees fit. In other words, OSLib +may be freely used in the construction of proprietary software. However, do +please consider joining the ever increasing free software movement, by +placing your work in the public domain. Free source is good; hoarded source +bad! + +</blockquote> + +<a NAME="wide file handles"></a> +<H4>What are wide file handles and why are 8-bit handles retained?</H4> + +<blockquote> + +OSLib originally defined file handles to be 8 bits wide. This was based on +inside knowledge of the OS, and even under RISC OS 4, no file handle greater +than &FF is ever issued. However, the PRMs do specify that file handles +should be 32 bits wide for future compatibility. + +<p>This has left the OSLib maintainers with a bit of a dilemma. It is our +faithful promise to never break an existing interface, but, clearly, the +present situation could not be allowed to continue. + +<p>OSLib V6.0 went some way to resolving the problem by defining a 32 bit +file handle, OS_FW, and a set of functions to use it. The intention is that +they would be used in place of the legacy OS_F and its associated functions. +However, many users felt this was non-intuitive behaviour, and pleaded for +the return of OS_F, but in a 32-bit guise. Unfortunately, it was impossible +to simply change the type of OS_F, because that would cause many programs to +break if they relied on 8 bit file handles. + +<p>The problem was finally resolved in OSLib V6.3, by adding extra header +files which, by default, makes OS_F a synonym of OS_FW, and does likewise +with their associated functions. However, it leaves OS_F and its friends as +symbols in the library, to allow legacy code to be linked correctly. +Therefore, any new compilations will, by default, use 32-bit file handles, +but 8-bit compatibility is assured. + +<p>One further refinement to this scheme is that this name translation can be +disabled by defining the constant OSLIB_F8, which will cause the headers to +revert to their previous behaviour, and thus allowing anyone who particularly +needs to retain 8-bit handles to do so. This is best achieved by passing +-DOSLIB_F8 in any makefile or command line when invoking the compiler. + +</blockquote> + +<a href="#top">top</a> <a href="index.html">Home</a> + +<hr SIZE=4 WIDTH="100%"> + +<a NAME= "signed ints"</a><H4>Why are file sizes and os_t typed as signed ints?</H4> + +<blockquote> +A rule has been adopted throughout OSLib that any 32-bit field upon which arithmetic can be performed is typed as a signed int. This makes it straightforfard to do comparisons. It is acknowledged that using an unsigned int gives an extra bit of information in the absence of a long long int, but this would be at the expense of usability, and therefore considered a bodge. If you really need the extra range, cast it to unsigned yourself. + +<p>Regarding os_t, code such as the following from PRM 3-185, is made much simpler with a signed int, and correctly handles wrap-around - which an unsigned wouldn't: +<blockquote> +<pre> +os_t newtime = os_read_monotonic_time(); +while ((newtime-oldtime) > 0 ) + oldtime += 100;<br> +</pre> +</blockquote> +</blockquote> + +<a href="#top">top</a> <a href="index.html">Home</a> + +<hr SIZE=4 WIDTH="100%"> + +<a NAME= "command line" </a><H4> What command line should I use for compiling +or assembling a program using OSLib?</H4> + +<blockquote> +There is really nothing special about using OSLib with C or assembler programs. +<p> +A generalised command line for Acorn (Norcroft) C using standard C, OSLibSupport, +and OSLib would be something like this:<br> +cc -IC:,OSLibSupport:,OSLib: program.c -o program.o<br> +link program.o C:o.stubs OSLib:o.OSLib OSLibSupport:o.OSLibSupport -output program +<p> +For GCC (with UnixLib) this becomes somewhat simpler with the compile and link +steps merged: <br> +gcc program.c -I OSLib: -I OSLibSupport: OSLib:o.OSLib OSLibSupport:o.OSLibSupport -o program +<p> +ObjASM doesn't seem to be able to expand path variables in the command line, so +it is necessary to bodge things a bit:<br> +do ObjASM -I <OSLibPath> program.s program.o<br> +link program.o -output program +<p> +I don't yet know how to invoke GCC assembler, sorry. + +</blockquote> + + + +<a href="#top">top</a> <a href="index.html">Home</a> +<hr SIZE=4 WIDTH="100%"> + +<a NAME="supported compilers"></a> +<H4>Which compilers does OSLib support?</H4> + +<blockquote> + +OSLib is, with one <a href="#Why does my compiler">exception</a>, completely +compiler independent. It was originally built and used using the Acorn +(Norcroft) compiler, and many people are successfully using it with GCC and +GC++. + +</blockquote> + +<a href="#top">top</a> <a href="index.html">Home</a> +<hr SIZE=4 WIDTH="100%"> + +<a NAME="__swi"></a><H4>Why does my compiler reject the __swi +symbol?</H4> + +<blockquote> + +The Acorn (Norcroft) compiler reserves the special symbol "__swi", as an +optimizing hint. Other compilers don't recognise it, and fault it. Also, for +some reason best known to themselves, when using Acorn's compiler through +CFront, it also faults __swi. In these instances you need to define the +symbol to nothing by placing "#define __swi" in your code files before +#including any OSLib headers, or by putting -D__swi in any command line or +makefile command when calling your compiler. + +</blockquote> + +<a href="#top">top</a> <a href="index.html">Home</a> +<hr SIZE=4 WIDTH="100%"> + +<P><a NAME="C++ Templates"></a> +<H4>Templates in other C++ libraries clash with some typedefs/structures in +OSLib</H4> + +<blockquote> + +This problem is evident wen using CathLibCPP (map.h) with OSLib (os.h) under +CFront, when the map field clashes. There appears to be a problem with Cfront +(its template handling was never very good) which causes a template name to +clash with other symbols. As a work-round try the following: + +<blockquote>#define map addr +<br>#include "os.h" +<br>#undef map +<br>#include "map.h" +<br>#define map addr +</blockquote> + +</blockquote> + +<a href="#top">top</a> <a href="index.html">Home</a> +<hr SIZE=4 WIDTH="100%"> + +<P><a NAME="32-bit architectures"></a> +<H4>Does OSLib support 32-bit architectures?</H4> + +<blockquote> +OSLib can be built for both 26 bit and 32 bit architectures. The source code +is identical for either. The binary distribution contains two ALF images: +OSLib and OSLib32. The 32 bit version does not preserve the caller's +processor flags, the 26 bit one does; this may raise compatibility issues +when migrating from one to the other. Link to whichever you wish. +</blockquote> + +<a href="#top">top</a> <a href="index.html">Home</a> +<hr SIZE=4 WIDTH="100%"> + +<P><a name="Why both"></a> +<H4>Why do the distribution archives contain both 32-bit and 26-bit versions +of the library?</H4> + +<blockquote> +This requirement is imposed by the lack of general availability of the 32-bit +Shared C Library (SCL) within RISC OS. Also, UNIXLib is currently still only +available in 26-bit form.<br> + +<p>The APCS-R (26-bit) SCL and UNIXLib absolutely requires flag preservation +across calls, and this wouldn't work with APCS-32 code. Also, the structure +of the stubs has been changed significantly to accommodate a 32-bit system +(where you can't use B to branch to the C library). A new C library is +required to support those stubs. + +<p>It is not generally possible to mix APCS-R (26 bit) and APCS-32 (32 bit) +code, and the linker will warn you if you try to do so. Hopefully everyone +will be building APCS-32 soon, but until then people will need the APCS-R +version of OSLib. <br> + +<p>It is presently impossible to mandate that application builders use only +the 32-bit Shared C Library, despite the latter being readily available, and +32-bit UNIXLib is currently unavailable. As it is not possible to mix a +32-bit OSLib with a 26-bit C library, the OSLib team are making both versions +available, and will continue to do so until the 32-bit C libraries becomes +the norm.<br> </blockquote> + +<a href="#top">top</a> <a href="index.html">Home</a> +<hr SIZE=4 WIDTH="100%"> + +<p><a name="tboxlib"></a> +<H4>Why does my toolbox application crash when linked with OSLib and tboxlibs?</H4> + +<blockquote> +Never do that! Whilst the syntax of the OSLib toolbox calls may look similar to those +provided by Acorn's tboxlibs, they are subtly different in the parameters they pass. +Unless you <b>really</b> know what you're doing, and can guarantee which one is called, +never mix the two libraries. OSLib provides a complete, and better, coverage of the toolbox +API, and there is no need to use tboxlibs. +</blockquote> + +<a href="#top">top</a> <a href="index.html">Home</a> +<hr SIZE=4 WIDTH="100%"> + + +<a href="http://validator.w3.org/check/referer"><img border="0" +src="http://www.w3.org/Icons/valid-html401" +alt="Valid HTML 4.01!" height="31" width="88"></a> + +<div align=right> +<font size=-1> +Tony van der Hoff +<br>04 January 2004 +</font></div> + +<hr WIDTH="100%"> + +</body> + +</html> Added: trunk/website/future.html =================================================================== --- trunk/website/future.html (rev 0) +++ trunk/website/future.html 2007-04-14 17:46:43 UTC (rev 242) @@ -0,0 +1,98 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Zap HoTMeaL"> + <meta name="content" content="Acorn, Risc OS, OSLib"> + <meta name="Author" content="Tony van der Hoff"> + <title>The OSLib GPL Release - Further Development</title> +</head> +<body text="#000000" bgcolor="#FFFFC0" link="#0000FF" vlink="#800080" alink="#FF00FF"> + +<p> +<center><h1>Further Development</h1></center> + +<hr> + +<!--Begin outer table --> +<center> +<table BORDER=0 CELLSPACING=10 CELLPADDING=0 WIDTH="100%" > +<tr VALIGN=TOP> +<td> + + +<!-- contents list Table --> +<table BORDER=0 CELLSPACING=0 CELLPADDING=10 WIDTH="250" > + +<!-- Contents list --> +<tr BGCOLOR="#80ffff"><td><h2>Site Contents</h2> + +<ul> +<li><a href="history.html">History and Copyright</a></li> +<li><a href="future.html">Future Development</a></li> +<li><a href="download.html">Obtaining OSLib</a> +<ul> +<li><a href="archives.html">ZIP Archives</a></li> +<li><a href="cvs.html">Source via CVS</a></li> +</ul></li> +<li><a href="contact.html">Contacts</a></li> +<li><a href="faq.html">FAQ</a></li> +</ul> + +</td></tr> + +<tr><td></td></tr> + +<tr BGCOLOR="#80ffff"><td><a href="index.html">Home</a></td></tr> + +</table> <!-- end contents list table --> + +<td ALIGN=LEFT> <!--Begin main content table --> + +<p>The original author, Jonathan Coxhead, is unable to devote as much time to +further development and enhancement of OSLib as he feels is necessary; and +this, together with his respect and admiration for Richard Stallman and the +<a href="http://www.fsf.org/home.html">Free Software Foundation</a>, were the +main factors contributing to his decision in 1998 to release the source as +free software. + +<p>As free source software, anyone is entitled to modify and re-distribute +the library. In order to avoid this getting out hand, a group of keen OSLib +supporters have teamed up to provide a controlled development environment +for OSLib in which we can ensure that further development follows the strict +discipline which Jonathan himself applied, and can therefore guarantee +that interfaces won't be 'broken' by ill-advised tinkering. + +<p>We therefore ask potential contributors of new or updated modules to +follow a set of <a href="guide.html">guidelines</a>, and make any submissions +for amendments and improvements via the <a +href="contact.html#maillists">oslib-user</a> mail-list. Other users, and the +OSLib <a href="contact.html#team">Maintainers</a> will then comment, and if +appropriate, your submissions will be added to the library. + + +</td></tr> <!-- end main content --> + +</table> <!-- end outer table --> +</center> + +<hr WIDTH="100%"> + +<!-- footer --> + +<a href="http://validator.w3.org/check/referer"><img border="0" +src="http://www.w3.org/Icons/valid-html401" +alt="Valid HTML 4.01!" height="31" width="88"></a> + +<div align=right><font size=-1> + +Tony van der Hoff, +<br>30 November 2002 + +</font></div> + +<!-- end footer --> + + +</body> +</html> Added: trunk/website/guide.html =================================================================== --- trunk/website/guide.html (rev 0) +++ trunk/website/guide.html 2007-04-14 17:46:43 UTC (rev 242) @@ -0,0 +1,234 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> + <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> + <META NAME="Author" CONTENT="Tony van der Hoff"> + <META NAME="GENERATOR" CONTENT="Zap HoTMealM"> + <TITLE>OSLib Developers' Guide</TITLE> +</HEAD> +<BODY TEXT="#000000" BGCOLOR="#FFFFC0" LINK="#0000FF" VLINK="#800080" ALINK="#FF00FF"> + +<CENTER> +<H1> +OSLib Developers' Guide</H1></CENTER> + +<CENTER> +<HR WIDTH="100%"></CENTER> + +<H3> +Purpose:</H3> +This guide provides information and guidelines to developers wh propose +to make submissions for inclusion in OSLib. +<BR>The following information is extracted from Jonathan's instructions +<H3> +Very brief and cryptic notes about the source release of OSLib</H3> + It's 14Mb built. The part you use (headers + library) is 3Mb +big. +<P> This is 5.3. See ChangeLog for changes since 5.2. +<H3> +Error Handling</H3> + The most important coding point to emphasise is that *all* +errors are detected and reported, no matter how deeply nested we may be +into the call stack or however small the function in progress. This is +done by keeping to a strict discipline (when I can be bothered :-) +<P> Every function that everyone has ever written can return +an error. Normally in RISC O S code this is done by returning an |os_error +*|. In +<BR>UNIX-style code, it is done by returning -1 and setting |errno|. Whatever +the mechanism is, it *must* be checked when calling the function. Every +function called *must* then have its error return checked. If there was +an error, a |goto finish;| is executed immediately. (The only thing that +can be done before "go to finish" is to assign the current function's error +indicator.) At |finish:|, any local resources that may have been claimed +(in C, chiefly malloced memory and file handlers, but under RISC O S also +windows, fonts, vectors, etc) are released. The current function then returns +the error back to its own caller. +<P> In this way, when any function returns an error, the whole +of the call stack is unwound to the top level where it can be handled cleanly. +This is a just a low-level way of emulating C++-style exceptions. +<BR> +<H3> +Regression Testing</H3> + The other important point is regression testing. When a change +is made, everything is differed with the previous version to make sure +that +<BR>nothing has changed for the worse. For the objasm files, I've provided +s;0 directories, but it should be done for headers too: that's easy because +they are textual anyway, and you already have copies. The objasm diff checks +that the *code* is the same. (The objasm files aren't used for anything +else, but the code that writes them is the same as the code that writes +the tiny files that make up the library as a whole, so it's important.) +<P> This is your guarantee that everything you do will work. +<BR> +<H3> +Generating the library</H3> + Installation is roughly as follows: run SetVars; open DefMod; +run !Make (twice) (you need yacc (or Bison) for this); copy the DefMod +absolute into the OSLib directory, or into your path; run !Make in OSlib. +<BR> +<H3> +In Progress</H3> + There are sketches or starts or initial hacks at some more +swi files in InProgress. +<P> The comments in the objasm files "Registers available for +scratch use" was a piece of work-in-progress. The idea was from Mark Wooding, +I think: he suggested that instead of stacking values that must be saved +over the SWI, it would be more efficient to save them in registers that +were not otherwise used. (These are V1--V6 if the SWI will corrupt them, +as A P C S demands they are preserved by a function call, and any registers +containing addresses of output arguments that are needed on entry to the +SWI or corrupted by it.) This is commented out, not finished, and doesn't +work. Feel free to give it a shot. +<P> DefMod can make SrcEdit help files for either C or assembler---no-one +wants these, though. I also started something to do with Pascal, as well +as a start to native C++ support (so you wouldn't need the |extern "C"| +directives, and potentially allow overloaded functions to call the same +SWI). +<BR> +<H3> +NDEBUG</H3> + I think that defining NDEBUG would stop lookup.c working. +That was probably a mistake. +<BR> +<H3> +DefMod and SWILib</H3> + DefMod is a RISC O S programme written in C, and it looks as though +it uses OSLib. If it did, it could never have been written, as it logically +<BR>precedes OSLib. So how was this done? +<P> It uses a hand-crafted set of macros called SWILib. This +defines the functions provided by OSLib as macros expanding to calls to +|_swi(x?)|---but just the SWI's that DefMod uses. (SWILib was the first +version of OSLib. The first version of DefMod generated SWILib-style headers: +macros rather than function declarations.) Do not change this, or you could +potentially end up in a situation where the whole system could not get +off the ground. +<BR> +<H3> +UNKNOWN types</H3> + I have been asked to explain the way the [UNKNOWN] types work. When +a type (e g, wimp_menu, wimp_window) has a repeating final part, DefMod +also generates some extra macros wimp_MENU (n) and wimp_SIZEOF_MENU (n). +You can use the first to write out data structures in your code. It does +show how flexible the C type system is, if you use it well. +<P>Here's a menu definition I use in another of my proggies ... +<BLOCKQUOTE>wimp_MENU (2) Main_Menu = +<BR>{ +<BLOCKQUOTE>"PlaceName", +<BR>wimp_COLOUR_BLACK, +<BR>wimp_COLOUR_LIGHT_GREY, +<BR>wimp_COLOUR_BLACK, +<BR>SKIP, +<BR>9*wimp_CHAR_XSIZE, +<BR>wimp_MENU_ITEM_HEIGHT, +<BR>wimp_MENU_ITEM_GAP, +<BR>{ +<BLOCKQUOTE>{ +<BR>wimp_MENU_GIVE_WARNING, +<BR>wimp_DEFER_SUB_MENU, +<BR>wimp_ICON_TEXT | wimp_ICON_FILLED | +<BR> wimp_COLOUR_BLACK << wimp_ICON_FG_COLOUR_SHIFT +| +<BR> wimp_COLOUR_WHITE << wimp_ICON_BG_COLOUR_SHIFT, +<BR>"Info" +<BR>}, +<BR>{ +<BR>wimp_MENU_LAST, +<BR>wimp_NO_SUB_MENU, +<BR>wimp_ICON_TEXT | wimp_ICON_FILLED | +<BR> wimp_COLOUR_BLACK << wimp_ICON_FG_COLOUR_SHIFT +| +<BR> wimp_COLOUR_WHITE << wimp_ICON_BG_COLOUR_SHIFT, +<BR>"Quit" +<BR>}</BLOCKQUOTE> +}</BLOCKQUOTE> +};</BLOCKQUOTE> + +<P><BR>This is then used in calls like +<BLOCKQUOTE>wimp_create_menu ((wimp_menu *) &Main_Menu);</BLOCKQUOTE> +---it needs to be cast. If you want to build a structure like this on the +fly, you can write +<BLOCKQUOTE>wimp_menu *menu = malloc (wimp_SIZEOF_MENU (2));</BLOCKQUOTE> +and use references like +<BLOCKQUOTE>... menu->entries [1].data AS indirected_text.text ...</BLOCKQUOTE> +to get at the text of the 1st icon. +<P> So these macros can let you write some very complicated +data structures right in the code, without needing to read them from a +resource file, but still in a reasonably maintainable way. +<BR> +<H3> +Hierarchy</H3> + In general, you you must always make sure you know where a +module fits in with other modules. There must be a strict hierarchy, with +files only needing (the NEEDS statement) files in an acyclic fashion. That's +not say things can't be introduced into the middle (JPEG needs OS, but +PDriver needs JPEG, even though JPEG didn't exist till long after PDriver +was first thought of.) DrawFile is another complicated one: does DrawFile +need Font (Draw objects can contain font handles), or does Font need DrawFile +(the Font manager can write font outlines to a Draw group). This is a tie +really, and it's broken in an unpleasant way. It might have been better +to invent a "graphics.h" to be included by both, but that would break the +correspondence between swi files and modules. +<BR> +<H3> +Extensible Interfaces</H3> + There are lots of cases in RISC O S of extensible interfaces: +Wimp messages can be defined by anyone, for example. It is not good in +these +<BR>cases to put all of them into a file (swi.Wimp): this would mean that +the file would have to be extended all the time. Instead, the basic interface +is provided in 1 file, and other people can write their own header files. +This is what's done in swi.Gadget. No gadget types are defined there: that's +all done in a distributed way. This is also why the wimp_message struct +only has a few of the defined message data types in its data field. (It +has all of the ones defined as "system" and "Wimp" types.) Ones defined +by modules (e g, message_HELP_REQUEST, printing messages, alarm messages) +are defined by their respective modules. Otherwise, every time a new module +added a message, "wimp.h" would have to be updated. This means that some +otherwise avoidable type casts are needed; oh well. +<BR> +<H3> +Help Files</H3> + DefMod writes HelpData and Index files for use by StrongHelp. +These are all copied into a big archive by the Make process. (This has +to be an archive only because there are lots more than 77 files). Then +Alexander Thoukidides' ConvHelp can turn all of these into a StrongHelp +help file. If you use Zap, you can bind F1 to mje_helpcontext, and then +you point to a SWI name in your code and get help on it in 1 keystroke. +This help is all linked together internally, and in 2 clicks you can get +all the valid values for any constant. +<BR> +<H3> +Parsing</H3> + You need a version of YACC or Bison. The one I used was ported +by me from the Berkeley YACC sources. I could have used Bison, but then +OSlib would have fallen under the G P L. At that time, I wanted to keep +the 'swi' files private, so that there wouldn't be incompatible extensions +to widely-used modules; but I'm convinced now that that isn't a problem. +The approach to the parsing is is unconventional in 2 ways: +<UL> +<LI> +(1) I didn't use Lex (or Flex): everything is done by the grammar in defmod.y. +This was just so I didn't have to learn Lex as well as YACC, and to see +if it could be done.</LI> + +<LI> +(2) String values are not put in a symbol table and carefully managed. +Instead, the grammar passes round whole strings of up to 255 characters +on the stack and copies them every time a character is appended. This is +hopelessly slow and inefficient---but it works, and it's "fast enough". +The limit is not checked in the code, despite what I said above. Sorry.</LI> +</UL> + +<p align = right><small>Jonathan Coxhead</small></P> + +<HR WIDTH="100%"> + + +<a href="http://validator.w3.org/check/referer"><img border="0" +src="http://www.w3.org/Icons/valid-html401" +alt="Valid HTML 4.01!" height="31" width="88"></a> + +<BR><A HREF="index.html">Home</A> +<BR> +</BODY> +</HTML> Added: trunk/website/history.html =================================================================== --- trunk/website/history.html (rev 0) +++ trunk/website/history.html 2007-04-14 17:46:43 UTC (rev 242) @@ -0,0 +1,119 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Zap HoTMeaL"> + <meta name="content" content="Acorn, Risc OS, OSLib"> + <meta name="Author" content="Tony van der Hoff"> + <title>The OSLib GPL Release - History</title> +</head> +<body text="#000000" bgcolor="#FFFFC0" link="#0000FF" vlink="#800080" alink="#FF00FF"> + + +<center><h1>OSLib History, Ownership and Copyright issues</h1></center> + +<hr> + +<!--Begin outer table --> +<center> +<table BORDER=0 CELLSPACING=10 CELLPADDING=0 WIDTH="100%" > +<tr VALIGN=TOP> +<td> + + +<!-- contents list Table --> +<table BORDER=0 CELLSPACING=0 CELLPADDING=10 WIDTH="250" > + +<!-- Contents list --> +<tr BGCOLOR="#80ffff"><td><h2>Site Contents</h2> + +<ul> +<li><a href="history.html">History and Copyright</a></li> +<li><a href="future.html">Future Development</a></li> +<li><a href="download.html">Obtaining OSLib</a> +<ul> +<li><a href="archives.html">ZIP Archives</a></li> +<li><a href="cvs.html">Source via CVS</a></li> +</ul></li> +<li><a href="contact.html">Contacts</a></li> +<li><a href="faq.html">FAQ</a></li> +</ul> + +</td></tr> + +<tr><td></td></tr> + +<tr BGCOLOR="#80ffff"><td><a href="index.html">Home</a></td></tr> + +</table> <!-- end contents list table --> + +<td ALIGN=LEFT> <!--Begin main content table --> + +<p>OSLib is copyright © 1994, 1998 <a +href="mailto:jon...@do...">Jonathan Coxhead</a>. It is +distributed in the hope that it will be useful, but without any warranty; +without even the implied warranty of merchantability or fitness for a +particular purpose. + +<p>Jonathan wrote OSLib during the time that he was employed by +<b>Acorn Computers Ltd</b> during the mid-1990s, as a private project, but +generously ceded the copyright for specific versions to them. For that reason +OSLib version 5.1 was available from the Acorn Computers FTP site under their +copyright. With the demise of Acorn in 1999, their FTP site was closed, and +this is now the only supported source for OSLib. + +<p>After Jonathan left Acorn in 1995, he continued with the development of +OSLib, and in December 1998 released version 5.3 into the public domain as +free source software under the <a +href="http://www.fsf.org/copyleft/gpl.html">GNU public licence</a>. + +<p>Under the conditions of this licence, the term 'free' is used +in the context of 'unfettered' rather than 'gratis'. It means that the +source code is freely available, and that anyone may use it to build and +distribute a version of their own, with the two provisos that they make +no charge for it, other than the reasonable cost of the distribution media, +and that they redistribute all copyright and ownership notices intact. +The new distribution may not be under more onerous terms than the original. + +<p>The copyright holder has granted a small relaxation of the conditions +of the GNU Public Licence, in that OSLib is itself free software, but applications +linked to it need not be. This means that any changes to OSLib itself (the +contents of the OSLib, OSLibHelp, OSLibSrc, and OSLibSupport archives) +fall under the terms of the GNU Public Licence; but programs written using +OSLib need not be so restricted. + +<p>In other words, OSLib may be freely used in the construction of proprietary +software. However, do please consider joining the ever increasing free +software movement, by placing your work in the public domain. Free source +is good; hoarded source bad! + +<p>Naturally, although anyone may make a distribution, it does not make +much sense for lots of different distributions with different capabilities +to spring up, and the developer team therefore request that any submissions +for inclusion be routed here. This is the sole reference site for OSLib +supported by the author and copyright holder, Jonathan Coxhead. + +</td></tr> <!-- end main content --> +</table> <!-- end outer table --> +</center> +<hr> + + +<!-- footer --> + + +<a href="http://validator.w3.org/check/referer"><img border="0" +src="http://www.w3.org/Icons/valid-html401" +alt="Valid HTML 4.01!" height="31" width="88"></a> + +<div align=right><font size=-1> + +Tony van der Hoff, +<br>30 November 2002 + +</font></div> + +<!-- end footer --> + +</body> +</html> Added: trunk/website/images/browserany.gif =================================================================== (Binary files differ) Property changes on: trunk/website/images/browserany.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/website/images/valid-html401.png =================================================================== (Binary files differ) Property changes on: trunk/website/images/valid-html401.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/website/index.html =================================================================== --- trunk/website/index.html (rev 0) +++ trunk/website/index.html 2007-04-14 17:46:43 UTC (rev 242) @@ -0,0 +1,171 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Zap HoTMeaL"> + <meta name="content" content="Acorn, Risc OS, OSLib"> + <meta name="Author" content="Tony van der Hoff"> + <title>The OSLib GPL Release</title> +</head> +<body text="#000000" bgcolor="#FFFFC0" link="#0000FF" vlink="#800080" alink="#FF00FF"> + +<!-- The page looks like this: + + Header +|--------------------------------------------| +| outer table | +||----------------||------------------------|| +|| contents list || main text || +|| || || +||----------------||------------------------|| +| | +|--------------------------------------------| + footer + +--> + +<!-- Begin header --> +<center><h1>The RISC OS OSLib GPL Release</h1></center> + +<hr> + +<!--Begin outer table --> +<center> +<table BORDER=0 CELLSPACING=10 CELLPADDING=0 WIDTH="100%" > +<tr VALIGN=TOP> +<td> + + +<!-- contents list Table --> +<table BORDER=0 CELLSPACING=0 CELLPADDING=10 WIDTH="250"> + +<!-- Contents list --> +<tr BGCOLOR="#80ffff"><td><h3>Site Contents</h3> + +<ul> +<li><a href="history.html">History and Copyright</a></li> +<li><a href="future.html">Future Development</a></li> +<li><a href="download.html">Obtaining OSLib</a> +<ul> +<li><a href="archives.html">ZIP Archives</a></li> +<li><a href="cvs.html">Source via CVS</a></li> +</ul></li> +<li><a href="contact.html">Contacts</a></li> +<li><a href="faq.html">FAQ</a></li> +</ul></td></tr> + +<tr><td></td></tr> + +<tr BGCOLOR="#80ffff"><td><a href="index.html">Home</a></td></tr> + +</table> <!-- end contents list table --> + +<td ALIGN=LEFT> <!--Begin main content --> + +<h3>Summary</h3> + +OSLib is a highly optimized interface library for the Application Programmers' +Interface (API) for the Acorn series of 32 bit RISC OS computers. It is +a useful tool for application program writers for this platform. It is +of no use for any other platform. + +<p>OSLib provides a set of functions and C headers For its target platform, +to provide complete coverage of the RISC OS API (the so-called SWIs) as a set +of C/C++ and ARM Assembler headers, together with a thin veneer library. + +<p>OSLib is: +<ul> + +<li><b>efficient:</b> often, memory access is completely avoided;</li> + +<li><b>type safe</b>: every argument can be type checked by the compiler;</li> + +<li><b>obvious</b>: a SWI is called by the "obvious" syntax;</li> + +<li><b>register safe</b>: hides (often idiosyncratic) register allocation;</li> + +<li><b>complete</b>: every SWI is covered;</li> + +<li><b>language independent</b>: although the headers are specific to C and assembler, +the library is not - any APCS conformant language can call it. +</li> + +</ul> + +OSLib also provides names for all the data structures and reason codes used +by the A�P�I. Code that uses it is superior to similar code using _kernel_swi() +or _swix(), both in terms of the compile time type checking that is available, +and the size and speed of the code generated. + +<p>OSLib provides a very convenient interface to the RISC O�S programmer, +since all the facilities of the C compiler are available to catch errors +and generate good code. It is very small, and code written using it is +smaller and faster than code written using other means. + +<div align=right><font size=-1>Jonathan Coxhead</font></div> + +<p> +<h3>OSLibSupport</h3> +Whilst not strictly part of OSLib, which specialises in providing an +interface to the RISC OS API, the OSLib development team also maintain a +higher-level C library, providing an easier to use interface, via OSLib, to +the more arcane parts of RISC OS, and deals with Events, Messages, Tasks, +Exceptions, and Errors. This is distributed on the same basis and under the +same licence conditions as OSLib itself. + + +</td></tr> <!-- end main content --> + +</table> <!-- end outer table --> +</center> + +<hr WIDTH="100%"> + +<!-- footer --> +<p><center>The RISC OS OSLib project repository is hosted by SourceForge. +<br> + +<!-- SourceForge Logo --> +<A href="http://sourceforge.net"> +<IMG src="http://sourceforge.net/sflogo.php?group_id=51230&type=5" +width="210" height="62" border="0" alt="SourceForge Logo"> +</A> + +<p>If you wish to provide a link to this site from your own home pages, +please link to either the <a href="http://ro-oslib.sourceforge.net/"> +SourceForge home page</a>, or to the redirector at <a +href="http://OSLib.riscos.org.uk">http://OSLib.riscos.org.uk</a> + +<br>This will ensure you are unaffected by any future changes to the site +layout. + +</center> + +<hr WIDTH="100%"> + +<!-- any browser logo --> +<a href="http://www.anybrowser.org/campaign"> +<img border="0" + src="images/browserany.gif" + alt="Viewable with any Browser" + height="31" width="88"> +</a> + +<!-- html 4 logo --> +<a href="http://validator.w3.org/check/referer"> +<img border="0" + src="images/valid-html401.png" + alt="Valid HTML 4.01!" + height="31" width="88"> +</a> + +<div align=right><font size=-1> + +Tony van der Hoff, +<br>04 December 2002 + +</font></div> + + +</body> +</html> Added: trunk/website/release-6.80.html =================================================================== --- trunk/website/release-6.80.html (rev 0) +++ trunk/website/release-6.80.html 2007-04-14 17:46:43 UTC (rev 242) @@ -0,0 +1,155 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Hand-Crafted using ZAP HotMeaL"> + <meta name="Author" content="Tony van der Hoff"> + <title>Free OSLib Release Page</title> +</head> +<body text="#000000" bgcolor="#FFFFC0" link="#0000FF" vlink="#800080" alink="#FF00FF"> + +<center><h1>Free OSLib Release 6.80</h1></center> + +<center><b>31 December 2005</b></center> + +<hr> + +<!--Begin outer table --> +<table BORDER=0 CELLSPACING=10 CELLPADDING=0 WIDTH="100%" > + <tr VALIGN = TOP>... [truncated message content] |