C compilers on PR1ME computers

A short piece explaining many ways in which the PR1ME model differs from the normal C model:
C compilers on PR1ME computers

(Prime 300 mini-computer in the Computing Laboratory, 1974 - see below for credit)

From the post (linkified in original):

On Tuesday I spotted the source of the Georgia Tech C Compiler for Prime Computers (which was believed lost until two 35-years old mag tapes were found); the implementation language is Ratfor. I posted the information to the comp.compilers newsgroup, and in the ensuing posts I learned about Dennis Boone’s collection of scanned PR1ME manuals, including a C compiler user guide. This C user’s guide is for the Conboy/Pacer software compiler, not the one whose sources I linked to above.

Photo from the University of Salford archives


I had the (mis) fortune to use Primes while at uni… Sadly it was all controlled in a very traditional manner and in 1980 the central computing facility just did not expect an intake of students who had already had 2 years experience of desktop computing (on e.g. Apple II, and CP/M systems that schools were starting to dabble in), so they were completely overwhelmed and for us, it was a step back in time - coding sheets, handed to the girls (for what’s what they were) for entering then we could use tty33’s for editing - a day or 2 later after it went through their batch system…

I never had the chance to use native C - An issue (mentioned in that article) was that there wasn’t a native byte addressing mechanism on them… I did, however, use Primix - Primes Unix look-a-like although they hated me running it as it took up far too many of their precious and accountable cpu cycles, however by then the central computing facility were bad news from my point of view (having carried on into post-grad land) and we had access to much better, and often faster things (BBC Micros)

I have no real enthusiasm for Primes anymore - it might show… They were just too little, too late from our point of view, also the uni and their approach - they were looking to churn out the traditional programmer/analyst programmer types that the banks wanted and not a lot else… I was in the wrong course, but didn’t know it at the time.


1 Like

There was a PR1ME at Edinburgh uni, I think, in the EE department, which might well have been running the LSI design software which used the Tek storage screens for display. I have a bit of a feeling that some adventurous person tried to do the trick of page-faulting during a password check, or whatever it was, which could crack passwords. Nothing to do with me! I think the CS department ran on VAXes, and to some extent on their homegrown 68000-based machines.

I don’t think I would have touched C though - Pascal and IMP. Maybe C. Maybe I forget!


I doubt IMP, but you never know those enterprising boffins at Edinburgh! (I was at Napier).

I worked out that if you hot the break key on a terminal 72 times that it would crash and drop into a supervisor command mode… Probably in frustration at how slow they were… (The Primes, not the TTYs) I think they fixed that in Primos 19.x. In my sort of posty grady world in the Engineering department they had their own Prime (still admined by central services) to run a good CAD/CAM package (Prime GDS? Medusa?) As an application that was OK on-top of an operating system written in … FORTRAN…



Yes, IMP (the language). I think it was ported to VAX/VMS and to the 68000-based workstations? I gather from The Autocodes: Sirius to IMP, a User’s Perspective that IMP descends from Autocode. See also

(Not to be confused with the Internet Message Processor!)

Edit: I see the 68k based machines were called APMs - Advanced Personal Machines presumably. They had an IMP compiler and one or two C compilers as well as cross compilers running on VAX. See here:

This document describes the Department of Computer Science’s Advanced
Personal Machine, (APM). It is part of a general computing environment that
has been evolved over a number of years. There already is an extensive
communications network in the department which has a filestore, print server,
VAX 11/780, Perkin Elmer 3220 and a number of Interdatas attached to it. The
services and facilites offered by these systems are described elsewhere and
the APM makes extensive use of them.

The Department’s Advanced Personal Machine is one version of a modular
computer system designed to allow easy experimentation with both software and
hardware. A major aim of this development has been to provide maximum
flexibility of configuration, so that it would be possible within the overall
framework to experiment with a variety of architectures and processors.
Accordingly the system is constructed around general-purpose a
moderate-performance bus, shareable by several processors and permitting easy
expansion of memory capability. The bus supports full 32-bit data operands
and 32-bit (byte) addresses, with separate data and address lines.

The basic version of the system has a single processor board utilising the
Motorola 68000 microprocessor and one or more 1/2 megabyte memory boards. The
processor board interfaces to a standard video terminal and to the
Department’s Ethernet-type network. There is no permanent local storage in
the basic machine, all files being held on remote file servers accessed over
the network.


I know Imp well:

I took the cycle…repeat construct that I used in my BASIC interpreter from Imp…

I used to visit a place called Moray House while at school and met PSR and others when he was writing a new OS called Mouses that ran on an Interdata 7/32 - a sort of mini version of EMAS… He as a good inspiration and I suspect I learned more about programming techniques there than when at uni…

However I meant that I doubt Imp was used on a Prime, but you never know.

I remember seeing the APMs on a visit to Edinburgh uni too. Should have gone there… all those systems an ideas that just never gained traction…



Oh, right, yes. Indeed, I encountered the Pr1ime in the EE world and IMP in the CS world, so they might well never have met.

1 Like