(c) 2011-2014 AMSAT-BDA
Last Modified: February 4, 2014
The P3E and P5A satellites, like their predecessors P3A, OSCAR-10, OSCAR-13, and OSCAR-40, will have an operating system called IPS (Interpreter for Process Structures). Loaded into that environment is the flight software that does spacecraft command and control, housekeeping chores, battery charge control, navigation, transponder switching, beacon data generation, and so on. P3E and P5A will use the ARM architecture, previous satellites used the COSMAC 1802 architecture.
IPS was devised by Karl Meinzer, DJ4ZC, at a time when 1802, 6502, 6800 and 8080/Z80 processors were state of the art -- around 1976-1979. At that time there just wasn't an easy-to-use, robust, engineering-oriented, multitasking and, above all, portable operating system for cheap computers based on these CPUs and their tiny (boldly described as "massive") 16 kilobyte memories. Computers at that time meant the Atari 800, North Star Horizon, etc. IPS is a brilliant piece of software engineering, as relevant today as it ever was.
But how many people know anything about IPS? Not many nowadays, I'll bet. Well, here's an opportunity to discover all about it, with a book and IPS emulators for DOS, Linux, and Windows.
An IPS Manual was written by Karl Meinzer in 1978, but never published in any substantive form. A hand corrected draft printout was circulated to a few interested AMSAT engineers who then reproduced it ad hoc, minus several chunks, via ever worsening photocopies. But the paper original was long lost.
Happily, in 1996 the manual was discovered to have survived on Atari 800XL computer cassette tapes, and moreover in the mid 1980's had been transferred to floppy disc by Robin Gape G8DQX, a prominent IPS contributor at that time.
Thus, after a gap of nearly two decades, it has become practical to publish the document properly, and James Miller, G3RUH, has done so. IPS - High Level Programming of Small Systems is available now. "The Book", as it is known, is the ultimate reference guide to IPS, and is strongly recommended to anyone who is serious about learning the language.
Full details about the book IPS - High Level Programming of Small Systems can be found here (at time of writing there were only four copies left in stock, and there will not be a reprinting):
There are both English and German versions of the language syntax. "The Book" is largely written using the English language variant. Satellite flight software has always been coded using the German language version.
IPS for MS-DOS
An IPS emulator system called IPSDOS is available for the PC, written by Paul Willmott, VP9MU. This was designed to run under pure DOS, and provides facilities for direct access to I/O and communication ports. IPSDOS can run in a window under Windows 9x and Windows NT/2000/XP. Full documentation and source code in Pascal are provided.
The English language version can be downloaded here:
The German language version can be downloaded here:
Bug reports for IPSDOS should be sent to firstname.lastname@example.org
IPS for Windows
IPS-Win is a variant of James Miller's IPS-M, which has been ported to the PC Windows environment by Stacey Mills, W4SM. IPS-Win is written in Borland C++ Builder. It has purposely been written to be the same in respect to input/output and the "feel" of the user interface as the original IPS-N, as described in the book.
The complete package (with English and German versions) can be downloaded here:
A version for Linux can be downloaded from here:
IPS for Linux
Text by James Miller, G3RUH, Paul Willmott, VP9MU, and Stacey Mills, W4SM.
All the IPS implementations linked to this page are classic 16-bit IPS implementations. The P3E and P5A spacecraft will use 32-bit IPS implementations. Click here for more information about IPS-32!