UCSD p-Systems for other systems
DEC Rainbow
DEC Rainbow
NEC APC
NEC APC
ALTOS
Altos VOLume
MacIntosh
UCSD Pascal for MacIntosh images
Wirth languages, Pascal, UCSD, Turbo, Delphi, Freepascal, Oberon
UCSD p-Systems for other systems
DEC Rainbow
DEC Rainbow
NEC APC
NEC APC
ALTOS
Altos VOLume
MacIntosh
UCSD Pascal for MacIntosh images
A number of p-System interpreters, Linux based
Mario Klebsch Apple Pascal interpreter 0.5
Intepreter 0.5
Amiga port of Mario Klebsch’ interpreter (0.4)
Amiga port With fix
Peter Miller took the Mario Klebsch interpreter and enhanced it with:
Linux UCSD file system
Cross compiler
interpreter as Virtual machine
Collection of various versions of Peter Miller’s work
S-record utility
S-Record utility to manipulate EPROM files
Active and maintained port of Peter Miller’s work at John Dykstra github repository: https://github.com/jdykstra/
UCSD p-System operating system
UCSD p-System operating system
UCSD p-System Virtual machine
Cross compiler UCSD Pascal
Laurie Boshell programs (Pascal sources, from UCSD Pascal, Turbo Pascal, Delphi)
8080 assembler
converts a standard Apple Pascal 280 block disk image
(.DSK) to a .VOL file
Windows program to convert the RAW 8″ floppy images of the II.0 source floppies to .VOL files. mountable by the DOS and UNIX psystem.
Windows program to convert the images of the II.0 source floppies to .VOL files. mountable by the DOS and UNIX psystem.
I.5 compiler runs on Apple Pascal
I.5 interpreter and I.5 compiler on MS-DOS
Interpreter
DOS utility to extract files from a p-system .VOL image, a quick hack to read John Fousts disk images, also NorthStar
‘fix’ p-system volume (.VOL) images
Z80 emulator for UCSD p-System
Z80 emulator for UCSD p-System
Z80 emulator for UCSD p-System
Adaptable p-System 4 |
CP/M
CP/M adaptable system
Another compilation of the CP/M Adaptable system
Also have a look the CP/M UCSD page for more CP/M, Z80, 8080 files
The once popular Kermit program. that helped transfer files from machine to machine by serial lines, was also implemnted on UCSD p_systems.
Here a collection of sources for various systems and versions of UCSD p-System
Apple II
IBM PC
Magiscan 2
Pecan Version IV.x UCSD p-System
Terak
Western Digital Pascal Microengine
A manual for UCSD p-system Kermit is not found, this manual of ckermit may help because Kermit is quite standardized.
Documents
In alphabetic order.
Text files
Standard Apple Numerics Environment
Technote 10 Run-time disks
Technote 12 Apple II Pascal Disk formatter
Technote 14 treesearch and idsearch
Technote 15 Short graphics
Technote 17 System apple patch
Software
In alphabetic order.
29 pascal programs disks
Apple 2 pascal Desk Toolkit
Apple Fortran
Apple Pascal Documents
Apple Pascal DOS collection
Apple Pascal Fortran Library 1.1
Apple Pascal runtime
Apple Pascal system disk
Softech UCSD Pascal IV for Apple
Attach Bios disks
Call Apple Collection
Date, Number, and String IO utilities (Pascal) (D&L Computing)
ducsd p_code disassembler
Graphics Primitives – Pascal
Guearilla guide to Apple Pascal PIG13
I56502 I.5 UCSD p-System interpreter (Laurie Boshell)
MouseGraphics – Pascal
Pascal Disks – Willamette Apple Connection
Pascal Profile Manager – Startup – 680-0250-A
Pascal Utility Express (no boot)
PASCAL.BOOT disk
PASCAL.BOOT disk
Pascal maze generator sourcecode
Pascal in depth program collection
Pascal in depth program collection 2
RAMDISK for Apple Apscal
Pascal runtime (incomplete?)
Zap disk editor
Tools to emulate the p-System and manipulate the disk images and volumes
AppleWin is the Apple II emulator that works fine with Apple Pascal
Local copy here, check the AppleWin site for updates.
Ciderpress is the tool to view, extract and manipulate all kind of Apple II disk images, compressed. raw, shrinked etc. UCSD Pascal disk format is handled very well, text files can be extracted as normal text file, code etc is kept identical.
Here a local copy , check the Ciderpress website for updated versions or build yourself from source.
Besides the GUI Ciderpress (see screenshot) a commandline utility MDS writes a directory of the diskimage(s).
The DOS-hosted p-System
Since, on a real machine, the p-System is emulated, it was reasonable to create a version of it to run as an application program under operating systems that always run in native code. Such versions exist for at least UNIX, DOS, and VAX VMS. There are extremely few differences, perceptible to the user, from the autonomous version.
A new file type is created in the host operating system, whose internal structure simulates a p-System blocked volume; it is therefore called a virtual volume file.
Units to support communications and data exchange between the p-System and the host operating system are added to the operating system, and (at least in the case of DOS) a special filer, DOSFILER.CODE, provides manipulation of DOS directories, and also the creation, mounting, and dismounting of DOS virtual volume files.
The DOS-hosted p-System is run by executing PSYSTEM.COM (experienced DOS users will note the age of this executable by the fact that it is a .COM file, rather than an .EXE), with (almost) arbitrarily many virtual volume files as parameters. The first will be used to boot the system from, so it must contain a bootable system configuration (see the manuals). It will be designated the root volume, and at least at initialization, the prefixed volume. Other virtual volume parameters will also have the volumes they contain mounted on-line.
If the p-System’s file SYSTEM.CONFIG has the appropriate drivers installed, the DOS-hosted p-System, when run on a PC whose hard drive contains autonomous p-System partitions, will mount each partition in addition to mounting the virtual volume files.
An obvious usage of virtual volume files is to place a common boot volume file, and a common volume file of tools and library units, onto a central file server from which all PC’s using the p-System can use them to boot.
On modern systems PSYSTEM.COM can only be used in a DOS emulator (Windows, Linux). DOSBOX works fine, see the console session below.
TDI MS-DOS hosted p-System (full scan!) | |
Personal computing with the UCSD p-System |
Personal computing with the UCSD p-System Second Edition |
Hosted p-System dated 1984 (IV 2.1)
Archive with a complete MS-DOS hosted p-System dated 1984
DOS hosted psystem use:
Start by executing the file psystem (either from command line or double
clicking on it).
It supports volumes #14..#19, volume psystem.vol get mounted on #14 by default. The volumes can be specified on the command line and are mounted
in order.
To mount or dis-mount volumes from the psystem run the dosfiler.code program:
{code]
X->psystem:dosfiler or X->#14:dosfiler.
[/code]
Hosted p-System dated 1988 (IV 2.2 R1.1
Archive with a complete MS-DOS hosted p-System dated 1988
With MS-Mouse support. Large system volume, alternatives in folders.
This folder contains the sources and some old data for an accounting system. To run it:- 1. Call the batch file (accs.bat) 2. Ignore the 'redirection error' 3. Enter 'x' (short for 'execute') 4. Program prompts 'Execute what file ?' 5. Enter 'ledger l=*acclib' and hit enter. 6. All passwords are empty. Sources for the nominal ledger are in the volume idxacc3: " " " sales & purchase ledgers " " " " idxspl3: " " " utilities " " " " idxutl3: The data files " " " " legdat: Compiled utilities " " " " accutl:
Sample session with the 1988 version
Assuming that all files can be found at D:\UCSD\PSYS22 D:\ucsd\psys22psystem psystem.vol putil.vol Command: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem,? [IV.2.2 R1.1] X Execute what file? DOSFILER DOS Filer: L(ist dir, E(xt dir, C(hange, R(emove, P(refix, T(o DOS,? [1R1.4] M Mount what file? PUTIL.VOL D:\UCSD\PSYS22\PUTIL.VOL mounted. DOS Filer: L(ist dir, E(xt dir, C(hange, R(emove, P(refix, T(o DOS,? [1R1.4] Q Command: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem,? [IV.2.2 R1.1] F Filer: L(dir, R(em, C(hng, T(rans, D(ate, Q(uit, B(ad-blks, E(xt-dir,? [6R4.0d] V Vols on-line: 1 CONSOLE: 2 SYSTERM: 6 PRINTER: 7 REMIN: 8 REMOUT: 12 # PSYS: [ 5000] 13 # PUTIL: [ 1440] 20 # SYD: [ 61] on volume PSYS: starting at block 470 22 # CON2: [ 131] on volume PSYS: starting at block 729 23 # MSMOUSE: [ 34] on volume PSYS: starting at block 860 Root vol is - PSYS: Prefix is - PSYS: Filer: L(dir, R(em, C(hng, T(rans, D(ate, Q(uit, B(ad-blks, E(xt-dir,? [6R4.0d] L Dir listing of what vol ? PSYS: PSYS: SYSTEM.FONT 2 4-Jan-84 SYSTEM.PME.86 32 8-Jul-86 SYSTEM.CONFIG 27 1-Jul-99 SYSTEM.FILER 46 6-Jan-86 SYSTEM.SYNTAX 16 5-Feb-87 SYSTEM.MISCINFO 2 23-Jun-99 SYSTEM.COMPILER 116 21-Aug-87 SYSTEM.PASCAL 163 4-May-88 CONFIGURE.CODE 60 25-Sep-84 SYD.SVOL 61 30-Mar-88 SYSTEM.STARTUP 10 31-Aug-87 CON1.SVOL 177 30-Mar-88 CON2.SVOL 131 1-Oct-87 MSMOUSE.SVOL 34 1-Apr-88 SYSTEM.EDITOR 100 3-Apr-95 LIBRARY.CODE 14 17-Nov-86 DISKFORMAT.EDOC 11 27-Jan-88 RATES.TEXT 4 27-Jan-90 VCNTRL.DATA 2 1-Jul-99 RATELIB.TEXT 4 3-May-90 XLVCNTRL.DATA 2 26-Jul-90 LVCNTRL.DATA 2 18-Oct-90 SYSTEM.LIBRARY 127 30-Aug-90 QUICKSTART.CODE 25 29-Mar-84 SVCNTRL.DATA 2 18-Oct-90 TVCNTRL.DATA 2 18-Oct-90 MVCNTRL.DATA 2 2-Dec-88 EXTCHARS.TEXT 26 24-Mar-90 TESTCHAR.TEXT 6 28-Oct-90 DOSFILER.CODE 21 21-Aug-86 30/30 files<listed/in-dir>, 1233 blocks used, 3767 unused, 3756 in largest Filer: L(dir, R(em, C(hng, T(rans, D(ate, Q(uit, B(ad-blks, E(xt-dir,? [6R4.0d] L Dir listing of what vol ? PSYS: PUTIL: READ.ME.TEXT 6 1-Apr-88 CONFIGURE.CODE 60 25-Sep-84 LIBRARY.CODE 14 17-Nov-86 XREF.CODE 28 19-Nov-87 DECODE.CODE 34 26-Nov-86 PATCH.CODE 32 16-May-84 RECOVER.CODE 9 5-Jul-84 COPYDUPDIR.CODE 4 5-Jul-84 MARKDUPDIR.CODE 4 5-Jul-84 DISKSIZE.CODE 15 1-Mar-84 SPOOLER.CODE 11 24-Oct-83 SPOOLOPS.CODE 8 20-Aug-84 QUICKSTART.CODE 25 29-Mar-84 WILD.CODE 7 21-Oct-83 CHKSUMOPS.CODE 6 25-Oct-83 README.BACK 4 8-Apr-86 VCNTRLOOK.TEXT 26 5-Oct-88 VCNTRLOOK.CODE 14 22-May-90 --------.---- 1 10-Dec-90 SETUP.CODE 84 19-Jul-84 DISKFORMAT.CODE 11 27-Jan-88 POPTYSE.SVOL 250 16-Nov-90 VCNTRLSTP.TEXT 28 10-Dec-90 VCNTRLSTP.CODE 18 10-Dec-90 SYD.SVOL 61 30-Mar-88 CON1.SVOL 177 30-Mar-88 CON2.SVOL 131 1-Oct-87 MSMOUSE.SVOL 34 1-Apr-88 PAT.SVOL 100 30-Mar-88 DRT.SVOL 38 23-Feb-87 ASI.SVOL 170 23-Feb-87 GETFUNCS.TEXT 14 25-Jan-83 README.TEXT 10 2-Feb-99 33/33 files<listed/in-dir>, 1440 blocks used, 0 unused, 0 in largest Filer: L(dir, R(em, C(hng, T(rans, D(ate, Q(uit, B(ad-blks, E(xt-dir,? [6R4.0d] P Prefix titles by what vol ? PUTIL: Prefix is PUTIL: Filer: L(dir, R(em, C(hng, T(rans, D(ate, Q(uit, B(ad-blks, E(xt-dir,? [6R4.0d] Q Command: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem,? [IV.2.2 R1.1] X Execute what file? QUICKSTART Quickstart: P(rogram, S(ystem, C(opy, L(ibrary, M(essages, Q(uit [2R3.2] _ Toggle settings: Copy OFF, Library copy OFF, Messages OFF and so on ... Back to the initial menu level, just type 'H' to halt the system (back to DOS)
Specifications of the IBM 5150 PC
– Released : August 12, 1981.
– Processor : Intel 8088 running at 4.77 MHz*. Optional Intel 8087 math Coprocessor.
– Language : IBM Basic (written and licensed to IBM by Microsoft).
– Keyboard : 83 Keys, 10 function keys, numeric key pad.
– Removable Storage : zero, one or two Full Height 5.25″ 160Kb floppy disk drives. Optional tape drive or hard drive**.
– RAM Memory (Random Access Memory): Anywhere between 16 and 256Kb. (The very first ones shipped with 16Kb and supported a maximum of 64Kb).
– ROM Memory (Read Only Memory): 64 Kb.
– Graphics Capabilities : Depends on installed Graphics card. Typically: Text mode 40 / 80 character X 40 lines) Graphic mode: Monochrome CGA was common (320 X 200 or 640 X 200).
– Tone generator : Built in Speaker
– Internal Expansion Slots: 5 Internal 8-bit ISA slots.
For the original IBM PC UCSD Pascal IV was available, made by Softech. Due to higher prices and low performance it did not really succeed against MS-DOS.
Product numbers for the UCSD p-System related products (1983)
6024016 UCSD P-System'” with Pascal $625.00
6024033 UCSD Pascal Compiler $175.00
6024017 UCSD P-System'” with FORTRAN 77 $625.00
6024034 UCSD FORTRAN Compiler $175.00
6024040 UCSD P-System'” Runtime Support $50.00
IBM6936523 – User’s Guide for the UCSD p-System
6936526 User’s Guide for the UCSD p-System (First Edition January 1982)
6936529 – “UCSD p-System – STARTUP:, Version IV.0 Release 1”
6936534 – “UCSD p-System – SYSTEM 2:, Version IV.0 Release 1”
6936539 – “UCSD p-System – SYSTEM 4:, Version IV.0 Release 1”
6936544 – “UCSD p-System – UTILITY:, Version IV.0 Release 1”
6936549 – “UCSD p-System – EXTRAS:, Version IV.0 Release 1”
IBM6936580 – Beginner’s Guide for the UCSD p-System
IBM6024033 – UCSD Pascal Reference for the UCSD p-System
6936508 – UCSD Pascal Reference for the UCSD p-System
6936500 – “UCSD p-System – PASCAL:, Version IV.0 Release 1″ language compiler
IBM6936554 – Internal Architecture Guide for the UCSD p-System
6024034 UCSD FORTRAN Compiler
6024034 – The Fortran compiler
Manual 6936518
Disks 6936510 – Fortran-77 disk language compiler
Product 6024040 UCSD P-System'” Runtime Support
Software
Disk images
All floppies in IMD format STARTUP, SYSTEM2, SYSTEM4, FORTRAN, UTILITY, EXTRAS
Another complete set of disk images, in RAW format also
System disk images in IMA format
Emulate UCSD p-System for IBM PC
To try out the IBM PC version you can use an emulator for the IBM PC (the original one, not a later version!)
An emulator that makes this possible on Windows and Linux is PCEM (https://pcem-emulator.co.uk/).
A version that works is version 1.6 as you can see in the following screenshots.
To try this do as follows (Windows)
1. Download and unpack e.g. in C:/pcem, PCEM, here a local copy
2. Download the ROMS for the IBM PC, local copy here
3. Unpack and place the ROM file in C:/pcem/ROMS/IBMPC
4. Download the IMA disk images and unpack in a convenient location
5. Start c:/pcem/PCem.exe and load the disk images as drive A: and B:
6. Reboot the emulator and wait a long time (for me it took minutes!) to see UCSD p-system appear on screen.
On the origin of UCSD Pascal, p-System p-machine p-code versions I and II, origin and reunions.
The story of UCSD p-System starts with Ken Bowles. When he saw the P2 compiler coming from Zurich he added the idea of making it a real operating system for small computers to teach programming. And with his group of students he achieved that goal, adding much to the success of Pascal!
Principal project members and students of Dr Kenneth L Bowles include:
Mark Allen, Richard Kaufmann, Pete Lawrence, Joel McCormack, Mark Overgaard, Keith Shillington, Roger Sumner, John Van Zandt
On this page documents and stories about those early years, Ken Bowles, his students, the reunions and the transfer to Softech when the commercial success became a conflict with the universities goal.
Invitation to the 2004 reunion. Includes a photo gallery of previous reunions! |
Presentations given at the reunion in 2004
Reunion 2004
Reunion 2019
Extracts of an article that describes the life of Ken Bowles very well, original here.
The UCSD p-System Users Society (USUS) maintained a library of Pascal floppy disks containing source code and programs.
The group was described as “an international non-profit organization dedicated to promoting and influencing software standards to aid in the development of portable software.
Here the disk images for volumes 1 through 29 of the US library, and volumes 3 and 4 of the USUS UK collection, unpacked so the source files are readable.
Also the raw volumes of the USUS library are available
Newsletters
USUS Newsletter V1N01 1980-08
USUS Newsletter V2N2 1987-12 (Winter 1987-1988)
USUS Newsletter V2N3 1988-03 (Spring-Summer 1988)
USUS Newsletter V2N4 1988-07
USUS Newsletter V2N5 1988-08
USUS Newsletter V2N6 1988-09_10
USUS Newsletter V2N7 1988-11
USUS Newsletter V2N8 1988-12
USUS Newsletter V3N5 1989-05_06
USUS Newsletter V3N6 1989-07_08
USUS Newsletter V4N2 1990-03_04
USUS Newsletter V4N3 1990-05_06
USUS Newsletter V4N4 1990-07_08
USUS Newsletter V4N5 1990-09_12
USUS Newsletter V5N1 1991-01_02
USUS Newsletter V5N3 1991-12
The Hewlett-Packard series 80 of small scientific desktop computers was introduced in 1980, beginning with the popular HP-85 targeted at engineering and control applications. They provided the capability of the HP 9800 series desktop computers with an integrated monitor in a smaller package including storage and printer, at Features
The first model of the Series 80 was the HP-85, introduced in January 1980. In a typewriter-style desktop case, the $3250 HP-85 contains the CPU and keyboard, with a ROM-based operating system (like the 9800 series), 16 kB dynamic RAM, a 5-inch CRT screen (16 lines of 32 characters, or 256×192 pixels), a tape drive for DC-100 cartridges (210 kB capacity, 650 B/s transfer), and a thermal printer. Both the screen and printer display graphics in addition to text, and the printer can copy anything shown on the screen. The chassis includes four module slots in the back for expansion which can hold memory modules, ROM extensions, or interfaces such as RS-232 and GPIB. All components were designed at the Hewlett-Packard Personal Computer Division in Corvallis, Oregon, including the processor and core chipset.
Later models offered variations such as different or external displays, built-in interfaces or a rack-mountable enclosure.
The machines were built around an HP-proprietary CPU code-named Capricorn running at 625 kHz (0.6 MHz, sic) and had a BASIC interpreter in ROM (32 kB).[3] Programs could be stored on DC-100 cartridge tapes or on external disk/tape units.
Despite the comparatively low processor clock frequency, the machines were quite advanced compared to other desktop computers of the time,[4] in particular regarding software features relevant to technical and scientific use. The standard number representation was a floating point format with a 12-digit (decimal) mantissa and exponents up to ±499. The interpreter supported a full set of scientific functions (trigonometric functions, logarithm etc.) at this accuracy. The language supported two-dimensional arrays, and a ROM extension made high-level functions such as matrix multiplication and inversion available.
One of the operating systems available was the the UCSD p-System (IV).
Relevant documents
UCSD p-System Version IV.1 FORTRAN Reference Manual August 1982 00087-90389 |
Software
copied from original with LIFUTIL utility.
UCSD p-System Fortran-77 compiler (disc 00087-12161), copied from original disc
UCSD p-System Pascal compiler (disc 00087-12160), copied from original disc
UCSD p-System Utilities (disc 00087-12155), copied from original disc
UCSD p-System (disc 00087-12157), copied from original disc
All documents and software are from the hpseries80@groups.io thanks to Brett Hallen.