How to Build
These instructions assume you are using a Linux or Unix system.
It is probably possible to make them work using
Cygwin on a Windows PC,
but that has not been tested.
There is some software you are going to need before you can
follow the rest of these instructions.
The Makefile in the tarball assumes you have GNU Make installed,
because it needs conditionals and some other useful features.
You will need to download, build and install the cross compiler
(version 0.8 or later), so that the Pascal sources can be cross
compiled (compiled on Linux and moved across to a UCSD system).
You will need to download, build and install the file system tools
(version 1.15 or later), so that the p-System executables can be loaded
into p-System disk images ready for use.
You will need to download, build and install the virtual machine
(version 0.11 or later), so that the p-System executables on the p-System
disk images can be executed.
Download the source file archive
Unpack the source file archive
and change directory to the unpacked sources
tar xzf ucsd-psystem-os-1.3.tar.gz
You are now ready to build the code.
Assuming that you have installed all of the necessary software (see above),
all that is required to build the software is the simple command
This uses the cross compiler
to build the executables, and the file system tools
to build the disk images.
There will be plenty of output.
To execute the code, use the virtual machine,
Welcome to 1979:
ucsdpsys_vm -f stage1/klebsch/system.vol
The project identifies itself (see the screen capture, above) to avoid any
suggestion that this is a completely unaltered system.
Command: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, D(ebug,? [II.0]
Welcome SYSTEM, to
U.C.S.D. Pascal System II.0
/pmiller/ucsd-psystem-os/ version 1.3.D001
Current date is 21-Jun-10
The system is far from complete. It is able to function, the editor
works, the compiler works,
and several working library units are available,
but the complete three-stage build system
documented in the Makefile is not yet complete.
You can expect this to advance in future releases.
When control of the project moved from UCSD to SofTech Microsystems,
the newsletter written by Ken Bowles indicates that there were
several hosts supported by the software
- PDP-11 (LSI-11, Terak)
- 8080, 8085
- Z80 (it is possible that the Z80 support was a side-effect of the
8080 support, but accounts from that time do not read that way,
and the codefile MTYPE field makes a distinction)
- 6502 (KIM-1, Apple, “klebsch”)
- TMS9900 (TI-99/4)
- several others
Unfortunately, the source code for many of these interpreters
has yet to be recovered.
If you think you have some of the missing source code,
the maintainer would like to hear from you.
A port to a new host involved several pieces of code that all
had to be written:
For those hosts for which we have assembler sources,
we frequently do not have complete coverage.
- The p-code interpreter, in assembler.
- The long integer DECOPS procedure, in assembler.
- Floating point TRANSCENDENTAL unit, in assembler.
- Floating point TURTLEGRAPHICS unit, in assembler.
- Boot sector code, in assembler, and probably tools in Pascal as well.
- Hardware specific tools, such as disk formatters, etc