This page is hosted by SourceForge: see also the Project and Statistics pages. |
The ucsd-psystem-xc package provides a Pascal cross compiler for producing UCSD p-System code files, and some other related tools. [ Download | Documentation | Aegis Repo ] |
You could support this project with a donation. |
About This ProjectThe ucsd-psystem-xc project provides a Pascal cross compiler for producing UCSD p-System code files on Posix hosts, such as Linux. It also provides some other related tools, such as a disassembler.While it is possible to run the original UCSD p-System compiler from within an emulator, this is very cumbersome for modern developers more accustomed to the GNU tool chain. This cross compiler also has far better error messages and other feedback than the original compiler, because much more code space is available to modern programs. The other issue a cross compiler addresses is that of bootstrapping. It is not enough to have the UCSD p-System source files (recently licensed for non-profit use by UCSD). In order to bootstrap to a self-hosting system, you must first compile the operating system and compiler (at least) into p-code files, so that the rest of the tools can be compiled “natively”. |
Ancient HistoryThe 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
|
Sister Projects
|
The ucsd-psystem-xc package is written and owned by Peter Miller and is freely distributable under the terms and conditions of the GNU GPL. | There is more Software by Peter Miller at his home page. |