Hardware manual

4.6. Operating System Status Information
A good deal of information is retained in memory that describes the state of the Alto. Much of this
information is of relevance to programmers, and is contained in some static scalars:
OsVersion The version number of the operating system. This number is
incremented with each new release of the operating system,
incorporating changes however minor.
OsVersionCompatible The lowest operating system version number believed to be
compatible with the present system.
UserName This static points to a Bcpl-format string that is the user’s last
name. It is initialized when the operating system is installed on
the disk. The maximum length (in words) that the UserName
may occupy is recorded in UserName!-1.
UserPassword This static points to a Bcpl-format string that is the user’s
password, typed to the Executive Login command. The
maximum length (in words) that the UserPassword may occupy
is recorded in UserPassword!-1.
SerialNumber The serial number of the Alto you are on. This static has proved
troublesome, because it is easy to forget that this too will be
saved by OutLd, and can confuse Ethernet code when it
suddenly springs to life months later on a different host half way
around the world. Its use is discouraged.
AltoVersion This static contains the result of executing the VERS instruction.
This static has proven troublesome for the same reasons as
SerialNumber. Its use is discouraged.
sysDisk A pointer to the DSK structure, described in Disks.d, which
describes the "disk" to be used for standard operating system
use. This structure is actually of the format BFSDSK, and
contains a copy of the DiskDescriptor data structure. The static
diskKd points to this structure alone (structure KD; see
AltoFileSys.d). The storage for sysDisk is in levBFSwrite; if you
Junta to levBFSbase, you will need to manufacture a new
sysDisk structure, by loading and calling BFSInit in your own
program.
lvSysErr This static points to the operating-system copy of the static that
contains the address of the error procedure. If you wish to
replace SysErr, it suffices to say @lvSysErr=Replacement.
Note that some procedures may have already copied the value of
SysErr (e.g., when a stream is created, the value of SysErr is
copied into the ST.error field in most cases).
lvParitySweepCount This static contains the address of the highest memory location
examined when sweeping memory looking for parity errors. If
no parity checking is desired, set @lvParitySweepCount = 0.
lvParityPhantomEnable This static points to a flag that determines whether phantom
parity errors will invoke Swat (a phantom parity error results
from a parity interrupt that can find no bad locations in
memory). @lvParityPhantomEnable=0 will disable phantom
reporting.
Alto Operating System May 5, 1980 23
For Xerox Internal Use Only -- December 15, 1980