How to Build
ucsd-psystem-os 1.3
-
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
ucsd-psystem-os-1.3.tar.gz.
-
Unpack the source file archive
tar xzf ucsd-psystem-os-1.3.tar.gz
and change directory to the unpacked sources
cd ucsd-psystem-os-1.3
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
make
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,
like this:
ucsdpsys_vm -f stage1/klebsch/system.vol
Welcome to 1979:
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 project identifies itself (see the screen capture, above) to avoid any
suggestion that this is a completely unaltered system.
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.
Supported Hosts
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)
- GA-16/440
- 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:
- 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
For those hosts for which we have assembler sources,
we frequently do not have complete coverage.