IPS - High Level Programming

of Small Systems

by Dr Karl Meinzer
ISBN 0-9530507-0-X

The Phase 3D satellite under construction, like its predecessors Phase 3A, Oscar-10 and Oscar-13, has a flight computer system based on a radiation-hardened RCA COSMAC 1802 microprocessor.

The computer is running an operating system called "IPS", and 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.

But how many people know anything about IPS?

Not 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.

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 (51 kB) contains enough commentary for a competent programmer to code IPS for their favourite platform. Mine for RiscOS is available here.

Sample Pages (GIFs)

Obtaining the Book
IPS - High Level Programming of Small Systems by Karl Meinzer, ISBN 0-9530507-0-X is a 120 page A5 book in wire-bound manual format, edited, typeset and re-published at my own expense to recognise the author's 30 years unparalleled contributions to the amateur satellite programme. Text in English.

You may order direct from myself or, if more convenient, from AMSAT-North America.


                Via myself                Via AMSAT-NA
             UK/EU         20        North America   $38
             Rest-of-world 22        Rest-of-world   $42
                 Prices include postage and packing.
                        Methods of payment   
The net proceeds from the sale of this book are
donated to Amsat's P3D Satellite Building Fund

Back to Product List

E-mail to: james@jrmiller.demon.co.uk

Last updated: 1998 Mar 10