ucsd-psystem-fs 1.6


SourceForge.net Logo

This page is hosted by SourceForge: see also the Project and Statistics pages.

The ucsd-psystem-fs package is composed of several utility programs which may be used to manipulate and mount UCSD p-Systems disk images.

[ Download | Online Repository ]

You could support this project with a donation.

About This Project

The ucsd-psystem-fs project makes it possible to mount UCSD p-System disk images as Linux file sytems.

This project has been successfully tested against several disk image formats. All of the disk formats are automatically detected at run time, no guessing by the user is required. The formats supported include:

IIRC, the original UCSD p-System did not permit more than one file being open for writing at the same time. Files in this file system are represented by a single continuous disk extent. This implementation uses the Buffer Gap algorithm, found in many text editors, to manage file extents being written. This implementation can cope with two (or more) files open for writing at the same time, however performance will be impacted as disk blocks will constantly be shuffled back and forth as the gap is moved to the end of each of the files being written.

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.

See Also

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

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

Mario Klebsch
has written a p-code interpreter in C. It should be portable to all POSIX systems. It can even display TurtleGraphics in X11.
UCSD
UCSD officially released some of the source.

apple2fs
Here is another Linux file system, for Linux 2.4 series kernels.

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

Sister Projects

UCSD Pascal Cross Compiler: You can cross compile your UCSD Pascal code on Unix to create p-Machine object code.
UCSD p-System User Manual: A modern reconstruction of the UCSD p-System User Manual is available as HTML.

How it Works

The ucsd-psystem-fs project uses FUSE, making it possible to implement a fully functional filesystem in a userspace program. FUSE is available on Linux, FreeBSD and Mac OS X.

The ucsd-psystem-fs project is written and owned by Peter Miller <millerp@canb.auug.org.au> and is freely distributable under the terms and conditions of the GNU GPL. ucsd-psystem-fs is developed using Aegis SCM. The Aegis repository for this project is available. There is more Software by Peter Miller at his home page.

This page has been accessed approximately times since 20-Jan-2008.