Acorn C/C++ Development Suite
Release 6.03, 6 November 2002
© 2002 Castle Technology
Release Notes
This is release 6.03 of the Acorn C/C++ Development Environment. It provides
a powerful development environment for producing RISC OS desktop applications
and relocatable modules using C, C++, assembler or BASIC.
It is a major update to Acorn's original C/C++ package and includes new
versions of the C compiler, linker, assembler, make, cmhg and amu tools. It also includes comprehensive documentation and several extras, including a
BASIC compiler, PDF reader, Perl interpreter, Zap and StrongEd text editors
and StrongHelp help system.
See the C/C++ Support Page for the latest updates and news regarding this software.
Software
The Acorn C/C++ Development Environment includes the following copyrighted
software:
- Acorn C/C++ Compiler
- The C compiler now provides many C99 features and library functions and
by default it generates code which is compatible with both 26-bit and 32-bit
versions of RISC OS. Note that the Shared C Library, CallaSWI and Toolbox modules
supplied here must be distributed with your application if you use the
compiler in its default 32-bit mode or if you use any of the C99 features.
The C/C++ manual describes all of the new
features in the C compiler, including many C99 features (64 bit integers
etc), new command line options and new pragmas. See appendix A for details of
the changes since the Acorn C/C++ manual, first edition, 1994.
- Acorn ARM Assembler
- The ARM assembler now provides support for ARM architectures up to ARM 5TE, including ARM9, ARM10 and XScale processors.
See the Assembler manual for details of the new command line options and in particular, see Appendix A for a summary of the changes. For more details on the new instructions and other features in this assembler which are not described in the manual see the ObjAsm Change Log.
- Tools
- The other tools are described in the Tools
manual and include Link, DDT (Desktop Debugging Tool), Make, AMU, Diff
and Find. The Makefile syntax has been updated with many features from Gnu
Makefiles, including string functions, include files and conditional
directives and functiions. The FrontEnd module has been extended to allow
more sophisticated rules for controlling icons and fields. See Appendix A for
a list of the major changes.
- Toolbox
- The Toolbox manual describes the Toolbox modules and tools that may be used for the rapid development of RISC OS desktop applications. This manual is identical to the Toolbox manual supplied with the fifth release of the Acorn C/C++ Development Environment in 1994.
- ABC BASIC Compiler
- A BBC BASIC compiler which is fully 32-bit compatible. It will run under a 32-bit version of RISC OS and it will generate 32-bit executable code. See the ABC Release Note for details.
- SID Disassembler
- SID is a new dis-assembler capable of generating ObjAsm format listings.
It can be used to analyse existing code and warn of any code sequences which
may potentially cause problems when executed in 32-bit mode. See the SID Manual for more details.
Public Domain Software
The following public domain software is also included:
- PDF
- A viewer to display and print Adobe Portable Document Format (PDF) files.
- Zap
- A powerful text editor for programmers with syntax colouring; editing modes for common filetypes (including C, BASIC, HTML, ARM assembler and Perl); learned key sequences; multiple views onto the same file and throwback support to simplify locating errors reported by compilers and other tools.
- StrongEd
- Another powerful editor to rival Zap.
- StrongHelp
- Interactive Help system with documentation on C, HTML, assembler and BASIC keywords as well as on many system calls (SWIs).
- FTPc
- An easy to use FTP client using the Internet File Transfer Protocol. Useful for downloading files and for uploading web pages and scripts to web servers etc.
- PERL
- An interpreted programming language with powerful file, data and string manipulation facilities. Perl is available for a wide range of platforms including Unix, Windows, and Epoc/Symbian. This RISC OS version is based on Perl 5.005 and offers extremely good compatibility with Perl on other platforms. The following books are recommended for serious Perl programmers:
- Programming Perl, Larry Wall, Tom Christiansen & Randal L. Schwartz, second edition, 1996, O'Reilly
- Perl Cookbook
, Tom Christiansen & Nathan Torkington, first edition, 1999, O'Reilly
PDF and FTPc are both 32-bit compatible. Check the C/C++ Support Page or the relevant web site for news of 32-bit versions of Zap, StrongEd, StrongHelp and Perl.
Documentation
The following manuals are included in PDF format:
* The first three manuals have been updated significantly since the original Acorn C/C++ release and describe the new features of the C compiler, Assembler and other tools.
Note that although you can click on a PDF link to open the PDF manuals it is
likely to be slow as most web browsers load the file before using PDF to open
it. It is much quicker to open the PDF file directly by double-clicking on the relevant file in the PDF directory.
The other manuals have not been updated since the original printed Acorn manuals were published. They contain exactly the same content, but in some cases the page numbering will be slightly different to the printed versions as the font styles have had to be changed. The page numbers here are consistent, ie the page numbers in the contents, index and references represent the page
numbers in these documents - it is just the original printed manuals which
may be a couple of pages different.
Notes on Using PDF Manuals
These PDF manuals may be viewed on screen or printed using the supplied !PDF
program. The manuals make full use of the cross-referencing facilities in PDF
so it is easy to browse through a contents or an index page and click on a
link to jump to the relevant section.
In order to use the Colin Granville's public domain PDF viewer, as supplied
here, it is necessary to install the latest Shared C Library and this will be
installed into !System by the installer. Once the Shared C Library installed,
simply double-click on a PDF document to open it.
The manuals make extensive use of links within (and between) PDF documents.
Click on a link with Select to jump to the relevant part of the manual or
click with Adjust to open it in a new window - this is particularly useful
when using index pages which you want to keep open. Note that the pointer
changes to a hand when it is over a link.
There is also a useful Highlight links option on the Display menu which can be used to make the links appear in blue and it is recommended that this option be turned on so that cross-references can easily be seen. Note that the Save Choices option on the Display menu may be used
to set this as the default for when PDF is next used.
The view scale may be changed using the Scale option on the Display menu and it is recommended that this be set such that a whole page will
fit within the height of your monitor. (Again Save Choices can be used to
remember this setting).
The four square buttons at the top of the PDF window can be used to set
bookmarks. Click on a square with Adjust to remember the current page and
then click the same button with Select to return to that page. The two buttons to the left of the squares can be used to step backwards and forwards through recently viewed pages.
Run !PDF and click on Help on the icon bar menu to view PDF's own manual.
Documents may be printed in single-sided or double-sided form - simply press
the PRINT button when a PDF document is selected.
32-bit Compatibility
All of the tools described above, except Zap, StrongEd and Perl
are suitable for use on the IYONIX PC
using a 32-bit version of RISC OS. The C/C++ compiler, ARM assembler and CMHG
utility can be used to generate code which will is compatible with both
26-bit and 32-bit versions of RISC OS, from RISC OS 3.10 to RISC OS 5.00.
Pure BASIC programs should run on 32-bit versions of RISC OS with no, or very
few, modifications.
C programs should run on 32-bit versions with no, or very few, modifications if they are compiled using the new version of the compiler (cc v5.49) and
linked with the new Shared C library.
Assembler programs will require modifying manually to allow for the fact that
the PSR is no longer part of register R15.
Note that some APIs will change to allow pointers passed to SWIs to use the
full 32-bit addressing range (at present a smll number of SWIs expect a
register to hold a 26 bit pointer with flags in the remaining bits). Full
details of the API changes will be published separately.
For full details on writing software for 32-bit version of RISC OS, see the
32-bit Compatibility Overview and Technical information on 26/32-bit RISC OS binary
interfaces.
Note that software developed for the IYONIX
PC using these new tools should still work on older versions of RISC OS
from RISC OS 3.10 onwards. It is not necessary to produce different versions
of the software for 26-bit and 32-bit versions of RISC OS or for different
machines.
Other Documentation
In addition to the above documentation described above, the following
documents are available in plain text form:
- 32-bit Compatibility Overview
- An introduction to writing software for 32-bit versions of RISC OS
- Technical information on 26/32-bit RISC OS
binary interfaces
- More detailed technical information
- Changes to APIs in 32 bit versions of RISC OS
- Some APIs have been changed in RISC OS 5 to make them fully 32-bit
compatible. For example, some SWIs are defined as expecting a single register
to hold a 26 bit address and several flag bits. This prohibits the full
32-bit addressing range used and could lead to flag corruption where
old applications try to use an address high in memory. This document
describes some of the API changes, and more details will be published soon.
- FPContext
- A description of the context switching capabilities of the new Floating Point Emulator
- FPEmulator
- Changes to the Floating Point Emulator
- C++
- Changes to C++
- CFront
- Changes to the CFront tool in this release
- CMHG
- Changes to the CMHG (C Module Header Generator) in this release
- ObjAsm
- Changes to ObjAsm in this release, including details of the new ARM instructions which are available in later architectures. (These should be avoided if compatibility with older ARM processors is required).
- ResEd
- Changes to ResEd in this release
- TaskWindow
- Changes to the TaskWindow module, including non-blocking I/O.
Viewing and Printing the Manuals on a PC
The PDF format manuals may also be viewed and/or printed using the Adobe Acrobat reader in Windows, providing the .pdf filetype extensions are
preserved.
Credits
Many thanks to Pace Micro Technology for the Acorn C/C++ tools; Alan Glover
and Pineapple Software for ABC; Colin Granville for PDF and FTPc; Christian
Ludlam for StrongEd and StrongHelp; Dominic Symes, James Aylett and Darren
Salt for Zap; Nicholas Clark for Perl and Steve Revill for SID. The Acorn
manuals were updated and converted by Paul & Tracey Skirrow and the
installer was written by Will Ling.