Previous: Formatting
Up: Creating a Release Disc under the p-System
Next: Dialogue Files
Previous Page: Formatting
Next Page: Dialogue Files

Operating System

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

Educational Technology Center
Dept. of Info. and Comp.Sci.
Univ. of California, Irvine
92717, CA, USA