ucsd-psystem-fs 1.22


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 | Aegis Repo ]

You could support this project with a donation.

About This Project

The ucsd-psystem-fs project contains tools that 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.

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

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 Yahoo! group devoted to UCSD Pascal was started.

UCSD officially released some of the source.

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.

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.

Sister Projects

UCSD p-System Operating System: The ucsd-psystem-os project contains the II.0 source files (and some bug fixes) plus a Makefile that uses the cross compiler to build the sources, and the file system tools to build working disk images that can be executed using the virtual machine.
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 Pascal 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-fs project is written and owned by Peter Miller <pmiller@ opensource. org. au> and is freely distributable under the terms and conditions of the GNU GPL. There is more Software by Peter Miller at his home page.

This page has been accessed approximately times since 21-Jul-2013.