ucsd-psystem-os 1.3


The ucsd-psystem-os package is composed of several programs which collectively form the UCSD p-System operating system.

[ Download | Howto | Online Repository ]


About This Project

The ucsd-psystem-os project makes the source code to the UCSD p-System version II.0 available to retro-computing fans.

This was made possible by a licence granted by UCSD in 2006 allowing the source code to be used and distributed without fee, for educational, research, and non-profit purposes.

How To Build

This project does more than just provide the source code. By using tools available on the Internet the source code can be cross compiled, and the resulting executables loaded into disk images, ready to be used with a p-System emulator. This project wraps the necessary step with a Makefile, that does all the work for you. More complete instructions are available on the How To Build web page.

This also a page of instructions for How To Use the operating system you see here.


The 2006 UCSD License is not an Open Source license. You are limited with what you can do with the code.
“Permission to use, copy, modify, and distribute any part of UCSD PASCAL solely authored by UC authors before June 1, 1979 for educational, research, and non-profit purposes, without fee, and without a written agreement is hereby granted, provided...” etc etc etc

In order to satisfy these conditions, the source files have all been modified to include the complete UCSD License terms in a comment at the start of each file.

Because the code is not covered by an Open Source license, it can't be hosted at SourceForge.

User contributions to this project are licensed using a BSD Open Source license. The intention is that the only limits on what you can do with the contributed code (short of claiming it as your own work) are the limits imposed by the 2006 UCSD License.

Ancient History

The UCSD P-System is a portable operating system that was popular in the early days of personal computers, in the late 1970s and early 1980s.

Like today's Java, it was based on a “virtual machine” with a standard set of low-level, machine-language-like “p-code” instructions that were emulated on different hardware, including the 6502, the 8080, the Z-80, and the PDP-11. In this way, a Pascal compiler that emitted p-code executables could produce a program that could be run under the P-System on an Apple II, a Xerox 820, or a DEC PDP-11.

The most popular language for the P-System was UCSD Pascal. In fact, the P-System operating system itself was written in UCSD Pascal, making the entire operating system relatively easy to port between platforms.

By writing a p-code interpreter in the platform's native assembly language, and a few minimal hooks to operating system functions for the file system and interacting with the user, you could move a p-code executable from another system and run it on the new platform. In this way, the p-code generated on one computer could be used to bootstrap the port of the P-System to another computer.

From the Jefferson Computer Museum web site.


Did you ever work on a UCSD p-System? Do you have a dusty archive of software, dating back decades? The system sources were passed around quite a lot in the old days. Do you have a copy of some of the missing pieces? If you do, the maintainer wants to hear from you.

See Also

There is a UCSD Pascal article on Wikipedia.

Jefferson Computer Museum
This site has links and history for the UCSD p-System.

Mailing List
In 2004 a Yahoo! group devoted to UCSD Pascal was started.

In 2006 UCSD officially released some of the source.

Search Google
You make like to search Google for more UCSD p-System information.

II.0 Sources
If you want it from the horse's mouth, the original source files this project used as a starting point can be found at BitSavers.

Sister Projects

UCSD p-System File System: These tools allow you to create and manipulate UCSD p-System disk images. You can add files to, and extract files from, UCSD p-System disk images. You can even mount UCSD p-System disk images as Linux file systems, with automatic transparent text format conversion in both directions.
UCSD p-System User Manual: A modern reconstruction of the UCSD p-System II.0 User Manual is available as HTML. It includes complete system documentation for the p-machine, file formats, the Pascal dialect supported by the compiler, and more.
UCSD p-System Virtual Machine: You can use this virtual machine (p-code interpreter) to run your UCSD p-code files on Linux or Unix. It has broad support for opcodes not present in all implementations. It even emulates Turtle Graphics using X11.
UCSD Pascal Cross Compiler: You can cross compile your UCSD Pascal code on Unix to create p-Machine object code. By using a cross compiler you can boot-strap a native system by first cross compiling, and then re-compiling with the native compiler.

The ucsd-psystem-os project is developed using Aegis DVCS. The Aegis repository for this project is available. There is more software by Peter Miller available at his home page.

This page has been accessed approximately times since 28-May-2011.