Introduction
The Phase III High Elliptic Orbit amateur satellites Phase 3A, Oscar-10, Oscar-13 and Oscar-40, had flight computer systems based on a radiation-hardened RCA COSMAC 1802 microprocessor.
The computer ran an operating system called "IPS", and loaded into that environment was the flight software to do spacecraft command and control, housekeeping chores, battery charge control, navigation, transponder switching, beacon data generation and so on.
Not so many nowadays, I'll bet. Well, here's a unique opportunity to discover all about it.
About IPS
IPS (Interpreter for Process Structures) was devised by Karl Meinzer DJ4ZC at a time when 1802, 6502, 6800 and 8080/Z80 processors were state of the art; around 1974-1977.
At that time there just wasn't an easy-to-use, robust, engineering-oriented, multitasking and, significantly, portable operating system for cheap computers based on these MPUs and their tiny (boldly described as "massive") 16 kByte memories. Computers at that time meant the Apple, Atari 800, North Star Horizon and indeed home-made systems based on the COSMAC 1801/1802, Intel 8080, Motorola 6502 etc. AMSAT could have used Forth (tm) but it lacked multi-tasking, and a licence could only be obtained at crippling cost and without source code. Hence an alternative operating system emerged, designed from scratch.
IPS is a threaded language (as is Forth), a brilliant piece of software engineering, as relevant today as it ever was. Very compact, it typically requires just 7 kB of memory.
An English 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 original was thought long lost.
Rediscovered
Happily, in 1996 the manual was discovered to have survived, on Atari 800XL computer cassette tapes, that in the mid '80s had been transferred to 8" floppy discs by Robin Gape G8DQX, a prominent IPS contributor at that time.
Thus, after a gap of nearly two decades, it became practical to publish the document properly, and that's what I have done.
From Karl's introduction I quote:
"This book is organized into three chapters of increasing sophistication. Chapter I presents an introduction to the language; the material presented there will enable you to accomplish all "regular" programming tasks. Chapter II introduces the assemblers for the COSMAC 1801/1802, the 8080, the 6800 and the 6502 allowing low-level extensions and interfaces. Finally, Chapter III describes and documents the inner workings of IPS; this material will be useful if you wish to extend or change IPS itself."
So You Wanna do a Port?
A technical support file (47 kB) contains enough commentary for a competent programmer to code IPS for their favourite platform.
Try this MS-Windows version for the IBM-PC. A version for Linux. My version for RiscOS is available here.
Sample Pages (GIFs)
Note: All copies of the book are now sold. Download the PDF (326kB; 3rd edition with corrections).
Final statistics: 235 copies were received from the printer on 1997 April 24, and the last copy sold on 2013 April 24, exactly 16 years to the day. The net profit was £1283, donated to Amsat-UK; 60% in mid-2001, and the remainder in 2009.
Since the book has an ISBN number, one copy is in the British Library, and five others are in the principal UK university libraries: Oxford, Cambridge, London, Edinburgh and Belfast. (And they do not pay for them...)
My grateful thanks to everyone for supporting this initiative.
Last updated: 2022 Jan 19