Pascal

This page is about the Pascal programming language, based on the ideas and implementations of Prof Niklaus. Wirth, Kenneth Bowles and collegues and their students. And my experience with the various variants, from the Px compilers originating in Zurich, via UCSD Pascal to the Borland compilers.
See Pascal and me why I am interested in all this.


Niklaus Wirth, very influencal with his work on structured programming, Pascal. Modula, Oberon, the Lilith computer and more. Now retired.


Kenneth Bowles, initiator of the UCSD Pascal and P-System work at UCSD. Now retired.


Per Brinch Hansen, the driving force behind Concurrent Pascal and in general behind the advantages in concurrent programming. Also wrote some excellent books on Pascal and Pascal-like compilers and operating systems, e.g. Edison and Solo. Read his biography here. Per Brinch Hansen is a distinguished professor of electrical engineering and computer science at Syracuse University.

Literature

Click here to see Apple Pascal and UCSD P-System books: scanned books, coverpages and contents.

 

Pascal-M

Pascal-M, written by Mark Rustad, a version of the P2 compiler (without floating point) and a p-code (M-code) interpreter suitable and optimized for microprocessors.
With permission from Mark to publish it.

I am working on the sources I typed in and cleaned up between 1980 and 1986. More later. This compiler runs on VAX/VMS and MS-DOS and on my KIM-1! I lost the CP/M-/MSX-DOS variants for Z80, but hope to recreate that.

UCSD p-System

Pascal-M is 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. Though character based and not with the modern GUI!

Read here the history of the UCSD p-System and various p-code versions

Apple has a long history with Pascal and UCSD Pascal as Apple Pascal. Read this history paper by David Craig about Apple Computer's Pascal versions.

Run the UCSD p-System

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 Northar 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 psytem.vol <any other virtual volume file>.

Start the DOSFILER program to exchange files between DOS and the virtual p-System file system.

Pascal Compilers

Pascal-s compilers, the small and easy to understand subset of Pascal by Wirth.

Steven Pemberton's site with code and thorough documentation of the P4 compiler, the text of the book:
Pascal Implementation: The P4 Compiler and Interpreter, by Steven Pemberton and Martin Daniels, Ellis Horwood, ISBN: 0-13-653-0311

On Scott Moore's Standard Pascal site an interesting page on the PL/0, pascal-s and P4 compilers with sources and fixes

The Amsterdam Compiler kit, of which I witnessed the first versions around 1980 now as opensource for Liux etc. Targets include all major cpu's form the past (6502, 8080, Z80) until modern Intel 86 architecture. Full source of compiler and inetrpreters and documentation included.

Appple/UCSD Pascal and p-System

Page by Mark Riordan about the Terak machine, the first mass target of UCSD Pascal and an UCSD Pascal pricelist

UCSD Apple Pascal interpreter for Linux by Mario Klebsch Written in C for Linux, it is a complete emulated Apple Pascal system. If you know how to build it on a modern Linux distro, please let me know!

UCSD Pascal information on Terak hardware

CP/M implementation for II.0

Source of older UCSD Pascal in the USUS library disk 17 and 19

UCSD Pascal group at yahoo: the best source for information and discussion about UCSD and p-system: Apple UCSD Pascal, TI-99/4, Terak, Digital Rainbow, PC, CP/M etc.

David Barto's page on UCSD Pascal

History of UCSD versions

Reunion at Jacob's School in 2004, see video's of all players from UCSD to Softech!

Randy McLaughlin file collection many sources and disk volumes for Z80 CP/M, 6502 and Apple.

Zap utility by John Mathhews


The famous Apple Pascal poster

Dave Tribby's Apple Pascal programs

p-System for the Digital Rainbow see the Yahoo UCSD group for MS-DOS hosted files

Run the UCSD CP/M adaptable systemIV in a CP/M emulator

UCSD sources

Source archive at UCSD of early UCSD p-System for the Terak computer I.4 and I.5. Complete sources!

Description of the p-codes in Apple Pascal, from the Apple Pascal Reference manual

Various Kermit versions for UCSD Pascal (sources, look for files of type uc*)

Pascal on the Commdodore

A Pascal compiler-interpreter combination, including sources, well integrated on the Commodore 64 and C128 computers, by Prof Dr Florian Matthes

Pascal on MSX and CP/M

More on Pascal for CP/M and MSX