|Original author(s)||Codemist, Acorn Computers|
|Developer(s)||RISC OS Open|
30 / October 30, 2020
|Written in||C and Assembly language|
|Operating system||RISC OS|
|Licence||Proprietary commercial software|
Acorn C/C++ is a set of C/C++ programming tools for use under the RISC OS operating system. The tools use the Norcroft compiler suite and were authored by Codemist and Acorn Computers. The tools provide some facilities offered by a fully integrated development environment.
Acorn included a copy of the Norcroft compiler targeted at the ARM architecture for RISC OS in the following development software.
- Acornsoft ANSI C
- Acornsoft ANSI C (Release 2)
- Acorn ANSI C (Release 3) - 1989
- Acorn Desktop C (Release 4)
- Acorn C/C++ (Release 5) - 1995
Acorn's work on ANSI C compilers was begun around 1987, with a commercial release in 1988 for its Archimedes computer.[verification needed] Desktop C and Desktop Assembler were released in 1991. Codemist worked primarily on the ANSI C standard, while Acorn concentrated on the RISC OS specifics and optimisation for the ARM. Both parties exchanged sources regularly.
The tools were originally developed by university academics Alan Mycroft and Arthur C Norman of Codemist. Their development was taken up by Acorn and subsequently taken over by Castle Technology, who later added the lacking C99 support. Castle funded further development by means of a subscription scheme. In early 2009, development and sales of the tools were transferred to RISC OS Open.
Subsequent enhancements have included adding the post-ARMv5 instructions to the standalone assembler tool, ObjAsm, and  code generation by the C compiler to use those instructions where natural to do so from the language. In October 2020 a number of extensions to support the C18 standard were made available to developers.
The Norcroft compiler can be used to produce RISC OS modules, as well as compiling parts of the operating system itself. Before beginning development of the Inform programming language, Graham Nelson originally used Norcroft C to develop his text adventure Curses.
The suite of tools is currently the only means of building a working copy of RISC OS, although it is ultimately intended that this will also be possible using a cross compiler, e.g. using the free software GCC system.
- Revill, Steve (2020-10-30). "Development easier than A-B-C". RISC OS Open. Retrieved October 30, 2020.
At the recent London show we launched DDE30, the new edition the Desktop Development Environment, to a wall of miniature faces via Zoom. If you weren’t able to attend, read on...
- "Interview with Ian Johnson". CAUGers. ACCU. Archived from the original on 2006-06-01. Retrieved 2011-06-30.
Acorn began work on ANSI C compilers around 1987. C release 3 was made in 1989, and was followed by Desktop C and Desktop Assembler in 1991. The development of the compiler was a joint venture between Norcroft (at the time Arthur Norman and Alan Mycroft--two academics from Cambridge University Computing Labs) and the PLG at Acorn. Sources were regularly exchanged between both parties but, generally, Norcroft were responsible for adherence to the emerging ANSI standard, whilst Acorn concentrated on the RISC OS specifics of the C library and on common subexpression elimination, register allocation and peephole optimisation for the ARM.
- Acorn - ANSI C (Release 3)
- Acorn - Sales News 127 - 6th Feb 1995
- Norman, A.C. (2005). "Thirty Years of Lisp Support for REDUCE". In Dolzmann, Andreas (ed.). Algorithmic algebra and logic : proceedings of the A3L 2005, April 3–6, Passau, Germany conference in honor of the 60th birthday of Volker Weispfenning. Seidl, Andreas; Sturm, Thomas; Weispfenning, Volker. Passau, Germany. ISBN 978-3-8334-2669-8. OCLC 63200315.
In 1989 [...] concurrently working with Alan Mycroft developing the Norcroft [MN88 - 1988] C compiler, and so we were especially well in tune with the emerging ANSI C standard.
- "Codemist Compilers / Norcroft". Bath, UK: Codemist Ltd. 2010. Retrieved 2011-10-21.
We have created C compilers for a range of computers, from mainframes to embedded special purpose chips. [...] the following partial list will give an idea of the range of our output. Acorn Computers ARM C Compiler. This is the original ANSI C compiler known as Norcroft C.
- Mycroft, Alan; Norman, Arthur C. (1992). "Part I: classical imperative languages". Optimising compilation. Cambridge, UK: University of Cambridge, Computer Laboratory. CiteSeerX 10.1.1.43.9953. OCLC 29982690.
[...] the 'Norcroft' compiler suite jointly constructed by the authors [...] Commercial interests are referred to Codemist Ltd. [...]
- "Norcroft versus GCC". riscos.info. Archived from the original on 2002-04-04. Retrieved 2011-06-16.
Norcroft: Faster than GCC to compile programs, probably by about two times. GCC: Supports a much newer C++ implementation than Norcroft, as well as C99.
- Williams, Chris (2004-04-29). "CTL launch C/C++ compiler sub scheme". Drobe. Retrieved 2011-06-16.
Castle has announced the launch of a subscription scheme for its C/C++ development suite. The scheme aims to fund future development of the compiler suite through annual subscriptions [...]
- "News in brief". Drobe. 2009-05-04. Retrieved 2011-06-16.
RISC OS Open has taken over sales of the Acorn C/C++ development suite, known as the Norcroft compiler, which is used to build RISC OS.
- Revill, Steve (2020-02-21). "New Desktop Development Environment reaches out". RISC OS Open.
Latest Norcroft C compiler [...] Code generation now tailored to use ARMv6/v7/v8 extended instructions where possible
- Montfort, Nick (2005). "7 The Independents". Twisty little passages : an approach to interactive fiction. Cambridge, Massachusetts, United States: MIT Press. ISBN 0-262-63318-3.
Before Nelson began work on Inform [...] Using an Acorn Archimedes and programming in ANSI C, he quickly abandoned his small game to begin developing Curses, using that to put the in-progress compiler through its paces.
- "Interview: Graham Nelson". XYZZY News. Eileen Mullin. Archived from the original on 2008-10-30. Retrieved 2008-10-30.
I use two languages, the excellent Norcroft ANSI C compiler and Inform.
- Avison, Ben (2010-05-20). "Cross compilation support". RISC OS Open. Retrieved October 21, 2011.
[...] the completion of Pace’s cross-compilation project – an initial milestone on the path to full cross-compilation support. [...] Most of them build on Linux, targetting RISC OS, using the GCC toolchain [...]