Skip to content

Actively maintained fork of Peter Miller's UCSD P-System tools - Virtual machine

License

Notifications You must be signed in to change notification settings

dhlav/ucsd-psystem-vm

 
 

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

No packages published

Languages

  • C 75.8%
  • Shell 13.9%
  • HTML 4.0%
  • Roff 4.0%
  • Awk 1.8%
  • Meson 0.5%