If you want to use CPOC, then download the appropriate files from the list below. Each file is a ZIP archive of all the files. If unpacking on a PC, then use the PKUNZIP -d option to preserve the directory structure. If you are unpacking the archive directly on the Psion 3a, then refer to the README.TXT file to find out where the unpacked files should be located.
CPOC is available hosted on a number of different environments. Select the one(s) that you are interested in using.
The main limitations are compared to the variants of CPOC hosted on other operating systems are as follows:
You will require header files regardless of which version of the CPOC binaries you decided to download. To avoid those who do not need (or have the space for) the non-essential items the header files are split into a number of separate downloads. You should get all those that you are interested in using, but if you get all the Psion specific ones you will find they occupy quite a bit of space once the archives have been unpacked.
The headers are also supplied in two versions - packed and unpacked. The difference is that the packed variants have been processed to remove all comments and unnecessary white space to reduce their size, but has the side-effect of making them no longer easily readable. We therefore recommend that users of the Psion hosted variant of CPOC use the packed variant of the headers except when they specifically want to look at their contents
These are the ANSI C header files for use with CPOC, plus some essential Psion specific ones that the ANSI files depend upon. All versions of CPOC will need this package to be able to successfully compile programs that can actually run on the Psion.
These are headers that cover the Psion PLIB library. They are based on the Psion C SDK header files with a few additional lines added for CPOC purposes (those with the C SDK should be able to use them as direct replacements for the C SDK files). Psion have very kindly given permission to use the C SDK headers in this way.
Please note that the provision of the PLIB header files in this way does not imply that all routines named in the header files are supported. Only a small subset will initially be supported although it is hoped to add to these over time. We would welcome anyone who wants to contribute additional routines for addition to the CPOC LIBPLIB.A library (our implementation of the PLIB routines), and such users should look at the LIBPLIB source available elsewhere on this page.
These are headers that cover elements of the Psion libraries other than the PLIB library. They are based on the Psion C SDK header files with a few additional lines added for CPOC purposes (those with the C SDK should be able to use them as direct replacements for the C SDK files). Psion have very kindly given permission to use the C SDK headers in this way.
Please note that the provision of the these header files in this way does not imply that all routines named in the header files are supported. To the contrary, only a very small subset will initially be supported although it is hoped to add to these over time. We would welcome anyone who wants to contribute additional routines for addition to the relevant CPOC libraries and such users should look at the related source available elsewhere on this page.
You will require libraries regardless of which version of the CPOC binaries you decided to download if you want the ability to do more than syntax check your code. To avoid those who do not need (or have the space for) the non-essential items the header files are split into a number of separate downloads. You should get all those that you are interested in using, but if you get all the Psion specific ones you will find they occupy quite a bit of space once the archives have been unpacked.
These libraries are not available as they are unfinishedWe are no longer working on this as we now use Psion 5 systems. We have therefore made the full source available to anyone who might be interested in finishing of this project. We will be willing to help anyone who may wish to complete this project even though we cannot find the time/inclination to do he job ourselves. Feel free to email the authors about what work is outstanding if you are serious about helping complete this projct.
This is the basic set of libraries that are used to support the ANSI C
header files.
All versions of CPOC will need this package to be able to
successfully build programs that can actually run on the Psion.
These libraries are not available as they are unfinishedWe are no longer working on this as we now use Psion 5 systems. We have therefore made the full source available to anyone who might be interested in finishing of this project. We will be willing to help anyone who may wish to complete this project even though we cannot find the time/inclination to do he job ourselves. Feel free to email the authors about what work is outstanding if you are serious about helping complete this projct.
This is a version of the LIBPLIB.A library that contains more routines than is contained in that provided with the ANSI library. If you want to use these routines, then this library should replace the file of the same name provide with the ANSI C library above.
The following provides more detailed documentation on specific programs for those who may want to make more advanced use of the relevant program:
The source files can change quite frequently as we make small changes or updates to the system, so we indicate the date each source file was last changed. You will need an ANSI C compiler on your system to be able to build these. If you find that you need to make any changes to any of the files included in the above source distributions, then please send us the details so that we can incorporate the changes in future releases.
It is basically a library that emulates at a very basic level many of the commonest ANSI C and Unix calls, mapping them onto the Psion PLIB library. This requires significantly less memory than using the Psion CLIB library, albeit without the same level of functionality. The purpose was to allow us to compile and link C programs with the SIBO C SDK without having to use the CLIB library as we could not afford the memory space.
This library is provided on an "as is" basis and users use it at their own risk. Having said that, it may prove useful to anyone who is trying to port C programs to the Psion 3a/3c from other environments
Needs Psion SIBO C SDK to be able to compile.
Needs Psion SIBO C SDK to be able to compile.
Needs Psion SIBO C SDK to be able to compile 3a hosted version.
Needs Psion SIBO C SDK to be able to compile 3a hosted version.
Needs Psion SIBO C SDK to be able to compile 3a hosted version.
Needs Psion SIBO C SDK to be able to compile 3a hosted version.
Needs Psion SIBO C SDK to be able to compile 3a hosted version.
Needs Psion SIBO C SDK to be able to compile 3a hosted version.
Needs Psion SIBO C SDK to be able to compile 3a hosted version.
Needs Psion SIBO C SDK to be able to compile 3a hosted version.
Many of the assembler routines in this library are auto-generated using a AWK script. You will therefore need AWK (or an equivalent such as GNU GAWK) installed to be able to re-generate these assembler files.
For those who do not have access to AWK, a copy of the last set of generated assembler files is included in this archive as well as the AWK script from which they were generated.