Pascal Px compilers were one of the various variants based on the brilliant idea of compiler-interpreter combinations. Started by Wirth in Zurich and perfected in the UCSD P-System. The abstraction delivered by the virtual machine implemented made these systems for the most part hardware independent. And the concept has not lost its value, the Java Virtual Machine with its byte and the .NET ideas are modern variants (and more viable due to the high performance for the money of modern cpu’s!) of the same.
The UCSD P-System (and the popular variant Apple Pascal) extended the idea of compiler-interpreter to a complete and easy to use operating system. All character based and now looking old-fashioned. The UCSD P-System is a brilliant implementation of operating system, utilities and compilers, usable on very limited hardware like the Apple II, all writen in a high-level language. The compromise of using a p-code interpreter with a very small memory footprint for programs made it slow but powerful, and easy to run unaltered on different hardware. In fact, Java is identical, bytecode and machine indepedent. So the idea was not that bad at all!
Run the UCSD p-System on modern systems
You can still run old and newer versions of the UCSD P-System on your Windows or Linux PC in a DOS box.
- You can run the CP/M I.5 version for CP/M with Dave Dunfields Northstar Horizon simulator and the Northstar UCSD Pascal disks
- Grab a Apple II(GS) emulator (like KEGS) and find the Apple Pascal 1.x (close to II.1) archives (on ftp.asimov.com for example) and run Apple Pascal.
- For the UCSD p-System IV 2.2: download this archive, unpack it in a directory on your PC and either use the Windows dos box or the Linux (X)DOSEMU to see the latest and greatest version of the (MS-DOS hosted) p-System.Commandline is:
> psystem psystem.vol <any other virtual volume file>.Start the DOSFILER program to exchange files between DOS and the virtual p-System file system.
- Udo Munk has recreated various CP/M systems in an emulator on Unix from sources, and also the UCSD p-System. See here for a Quickstart to run UCSD p-System.
UCSD in Z80 CP/M systems, for an emulator compl;ete with many iamges includin sources : http://www.autometer.de/unix4fun/z80pack/#ucsd_quick