forked from jdykstra/ucsd-psystem-vm
-
Notifications
You must be signed in to change notification settings - Fork 0
Actively maintained fork of Peter Miller's UCSD P-System tools - Virtual machine
License
dhlav/ucsd-psystem-vm
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Read Me(ucsd-psystem-vm) Read Me(ucsd-psystem-vm) NAME ucsd-psystem-vm - UCSD p-System virtual machine DESCRIPTION The ucsd-psystem-vm package is a virtual machine (p-code interpreter) for the UCSD p-System. The ucsd-psystem-vm package makes it possible to run UCSD Pascal (an ancient programming environment) on today's Linux machines, and also *BSD. The p-code runs very much faster on modern hardware. This is still experimental code. If you are in trouble, "Use the source, Luke!" Running the Virtual Machine For instructions on how to run the virtual machine, including details of how to fetch and manipulate disk images, see the ucsdpsys_vm(1) man page. Nostalgia If you are still reading, prepare to enter the nostalgic world of UCSD Pascal... Command: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, D(ebug,? [II.0] Welcome SYSTEM, to U.C.S.D. Pascal System II.0 Current date is 30-Jun-79 BUILD You will find complete instructions for building the ucsd-psystem-vm package in the BUILDING file in the source tarball. COPYRIGHT ucsd-psystem-vm version 0.11 Copyright (C) 2000, 2001 Mario Klebsch Copyright (C) 2006, 2009, 2010 Peter Miller The ucsd-psystem-vm programs come with ABSOLUTELY NO WARRANTY. This is free software and you are welcome to redistribute it under certain conditions. For details see the ucsdpsys_vm_license(1) man page. AUTHOR Mario Klebsch E-Mail: [email protected] WWW: https://www.klebsch.de/ MAINTAINER Peter Miller E-Mail: [email protected] /\/\* WWW: https://miller.emu.id.au/pmiller/ RELEASE NOTES This section details the various features and bug fixes of the various releases. Version 0.11 (2010-Aug-25) * There is now "glue" support for the APPLESTU and TRANSCEN units, found in the ucsd-psystem-os project's host/klebsch source directory. * Some byte-sex issues have been fixed, in anticipation of trying to debug the cross compiler's big-endian support. The virtual machine now takes the system's byte sex from the byte sex of the first disk. All subsequest disk images are check to be sure they are all the same. * The SYSCOM^.MISCINFO word is now emulated, and sets the various bits that the emulator has control of, including the word-machine and byte-sex indicators. * Some more detail about ucsd-psystem-os has been added to the ucsdpsys_vm(1) man page. * The syscom^.sysunit field is now set to the unit that the SYSTEM.PASCAL file was found on, rather than always setting it to 4. * When using a terminal emulator such as xterm(1) or gnome-terminal(1), the ucsdpsys_vm(1) command is now able to track the actual terminal size, and adjust CRTINFO.WIDTH and CRTINFO.HEIGHT at run-time, so that they always reflect the actual terminal size. This is implemented using a SIGWINCH interrupt handler, and the ncurses(3) support for SIGWINCH; see resizeterm(3) for more information. * The system date (in the system's segment 0 procedure 1 stack frame, local variable 67) is now adjusted at run-time, to ensure that the system's idea of the current date is always correct, and the resulting date stamps on disk files will be correct (well, as correct as a two digit year will ever be). Version 0.10 (2010-Jun-19) * The VM now implements the CSP inline-math ATAN, COS, EXP, LN, SIN, and SQRT opcodes. * There is a new ucsdpsys_svolio(1) -x option, that may be used to extract all files from a disk image. Version 0.9 (2010-May-17) * A bug has been fixed in the CSP ROUND opcode. It was rounding in the wrong direction in some cases. * There are two new opcodes: LES POWR for proper subset comparisons, and GTR POWR for proper superset comparisons. * There is now a test suite for the virtual machine. It requires the ucsd-psystem-xc and ucsd-psystem-fs projects to be built and installed before it can be run. https://ucsd-psystem-fs.sourceforge.net/ https://ucsd-psystem-xc.sourceforge.net/ * A bug has been fixed in the IDSEARCH function, it now recognises the SEPARATE symbol. * A bug in the CSP FILLCHAR opcode has been fixed, it now treats the Length parameter as signed. * A bug has been fixed in the MOVERIGHT code, it no longer panics on negative lengths. Lengths less than or equal to zero now do nothing. * A bug has been fixed in the MOVELEFT code, it no longer panics on negative lengths. Lengths less than or equal to zero now do nothing. * A bug has been fixed in the XJP opcode. It now treats the limits as signed integers. It was erroneously treating them as unsigned integers. Version 0.8 (2010-May-07) * A number of omissions and inconsistencies in the documentation have been fixed. Version 0.7 (2010-Apr-06) * The project now uses GNU Autoconf to configure. The tarball compiles "out of the box". Pre-built Debian packages are available on the web site. * All of the commands consistently use getopt_long(3) for argument parsing. All commands now come with a man page. * The project uses libexplain for better error reporting of Linux and Unix errors. https://libexplain.sourceforge.net/ Version 0.5 (2001-Aug-02) Long integer support has been added. Version 0.4 (2001-Jun-08) This time, protability has been improved. Disk access now functions even when mmap(2) is not available, using lseek(2), read(2) and write(2) instread. The code to implement the Turtle Graphics (and all dependencies on X11) has been moved to a separate process. This should make porting to other platforms much easier, because this is simply a dedicated server that reads turtle commands. (For historical reasons, it is called at the moment but still ucsdpsys_xturtleserver(1), his background, he can not even hide it completely). The PRINTER: Device is now also implemented, otherwise faulty are a few P-commands have been corrected. Anyone who had a problem with the F(iler the eX(amine command crashing, should try again now. Version 0.3 (2001-May-20) The build instructions have been simplified. The Apple Pascal 1.1 demo now runs. Version 0.2 (2001-May-10) Things have improved. I now have Apple Pascal 1.3 and 1.1 version working. Running is perhaps slightly exaggerated, but at least the compiler seems to work. Version 0.1 (2000-Sep-21) Many years ago I learned programming at school using Apple-Pascal. From nostalgic feelings out (and because it was the best Pascal system, the more I could use), I've started to code interpreter for a p- Machine. Actually, not yet ripe for a publication, but in a discussion in de.alt.folklore.computer was considerable interest expressed in this software. Although this program is the status of best-Alpha, it's here to download ready. Documentation non-existent, unfortunately. Use the source, Luke! Use the source, Luke! Reference Manual ucsd-psystem-vm Read Me(ucsd-psystem-vm)
About
Actively maintained fork of Peter Miller's UCSD P-System tools - Virtual machine
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C 75.8%
- Shell 13.9%
- HTML 4.0%
- Roff 4.0%
- Awk 1.8%
- Meson 0.5%