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.
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.
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.