Previous: Formatting
Up: Creating a Release Disc under the p-System
Next: Dialogue Files
Previous Page: Formatting
Next Page: Dialogue Files
NOTE: All the components listed here have special versions
for release discs, optimised for compactness and speed (and
in some cases to make the user environment easier or safer
for the student). Release
discs should not be made up with development system
components on them.
WARNING: the system files for the
DOS-hosted p-System have
important differences from those of the autonomous p-System. They
must not be used for making booting release discs of dialogues:
they will cause those discs to fail. Both the SYSTEM.LIBRARY on
TOOLS.VOL, and the SYSTEM.PASCAL on MAIN.VOL,
contain a number of
units to communicate with DOS' file system, which should not be
placed on a p-System disc. Nor is MAIN.VOL's SYSTEM.CONFIG
correct for autonomous discs.
- bootstrap
- The bootstrapping code on any booting p-System disc
occupies the first 2 blocks of the disc, immediately before
the first block of the directory. It may be transferred from
any booting p-System disc simply by using the Filer to specify
a volume image transfer (for instance, #4: to #5:), but specifying
only 2 blocks for the transfer, rather than the full size of
the disc. The filer knows the first 2 blocks don't reach the
directory, so it transfers them without comment; but if too large
a transfer is specified, a warning is displayed asking if the
target volume is to be destroyed. If this message is displayed,
the transfer should be aborted, and done again with the correct
number of blocks.
The Center uses a modified version of the standard p-System
bootstrap, one which has at least the effect of arranging
adequate graphics memory for the PCjr. Despite the discontinuation
of the PCjr, this is still the safest bootstrap to use. It is
available from any booting dialogue disc.
- SYSTEM.PME.86
This
is the p-machine emulator (P.M.E.), the
virtual machine on which the p-System actually runs. Its
execution is started
by the bootstrap. For optimal loading speed, it should be placed
first on the disc.
Forms of SYSTEM.PME.86 are available which supply 2-word or
4-word real numbers, or no floating point support at all. All
dialogues to date have been compiled with 2-word real numbers,
so that is the form of SYSTEM.PME.86 which must be used. Using
a different version will cause an execution error #17 when
dialogue programs attempt to execute.
See also SYSTEM.PASCAL, below, concerning floating-point format.
- SYSTEM.CONFIG
- Describes how memory and device drivers are
to be
arranged. Since each additional device needs its own driver
in SYSTEM.CONFIG, as few drivers as necessary are placed
in the release version. They include drivers for floppy disc drives
#4: and #5:, in 5.25'' format (a separate SYSTEM.CONFIG
exists for 3.25'' format), monitor, keyboard, and one hard disc
volume. Although the hard disc volume is not strictly required for
the environment students will use, it can be very useful for further work
on a release disc under construction.
Note that the SYSTEM.CONFIG usually used on development
systems has more drivers, often many more, than are desirable for
the release version.
- SYSTEM.MISCINFO
- Describes a number of the system's
optional
settings, usually of a higher level than those in SYSTEM.CONFIG.
Important settings include the character sequences generated by the arrow
and escape keys: the dialogue support units expect these specific
sequences, and will not respond correctly if they are not used.
- SYSTEM.PASCAL
- Contains the operating system kernel, a
number of units for memory support at runtime, as well
as numerous units implementing standard routines for high-level
languages. It is SYSTEM.PASCAL that calls all other routines
and programs in the p-System, including the dialogues.
Two units in SYSTEM.PASCAL may be replaced by the user as part
of re-configuration:
- REALOPS
- supplies all
the floating-point operations used by UCSD Pascal. As with
SYSTEM.PME.86, above, versions are available for both 2-word-
and 4-word floating-point values. The version installed in
SYSTEM.PASCAL must be for the same size as is
SYSTEM.PME.86, or any program using floating-point will crash
as soon as it starts. To date, both the development and release versions
of SYSTEM.PASCAL have used 2-word floating-point values.
- SCREENOPS, GOTOXY
- For screen and keyboard configuration
beyond the scope of SYSTEM.MISCINFO. SYSTEM.PASCAL
requires both to be present, but they are not used by dialogue code --
at least, not explicitly.
(NOTE: SYSTEM.PASCAL is required to contain its own
``quickstart''
information
.
Any modification to SYSTEM.PASCAL therefore requires that
QUICKSTART.CODE be applied to the new SYSTEM.PASCAL
before it is used.)
Although it is theoretically possible to place additional units
in SYSTEM.PASCAL, as an alternative to SYSTEM.LIBRARY,
Pecan's manual advises against doing so, and it is avoided on
the Center's release discs.
- SYSTEM.LIBRARY
- Contains units available to all
running programs, and the operating system. Although several of
the units are for the operating system (but are deemed external
to SYSTEM.PASCAL), most are part of the runtime support
for the
dialogues, so the full description of SYSTEM.LIBRARY is under
Dialogue Files.
Those who are familiar with USERLIB.TEXT may note its absence
from this list. Opening and reading it each time a code file is executed
is slow, as is the individual opening of all
the code files it lists. Units required by more than one
program on the disc are therefore placed in SYSTEM.LIBRARY.
Previous: Formatting
Up: Creating a Release Disc under the p-System
Next: Dialogue Files
Previous Page: Formatting
Next Page: Dialogue Files