Text preview for : 19771025_Basic_Mesa.pdf part of xerox 19771025 Basic Mesa xerox sdd memos_1977 19771025_Basic_Mesa.pdf



Back to : 19771025_Basic_Mesa.pdf | Home

Inter-Office Memorandum

To Mesa Users Date October 25, 1977


From Sandman Location Palo Alto


Subject Basic Mesa Organization SOD/SO/DE


XEROX XEROX SDD ARCHIVES
I have read and understood

Filed on: [Maxcl]BasicMesa.bravo Pages _____------TO ---------
Reviewer _____----- Date--------
# of Pages ____ Ref., 1"'/SDI).
Basic Mesa

Basic Mesa is an experimental Mesa system that allows users more flexibility in building
their own systems. It is designed for those groups that don't need the full capabilities of the
current Mesa window package or want to supply their own. It has a command line
interpreter that allows the user to load BCDs onto the Basic Mesa system. The facilities it
does and does not contain as well as its command line interpreter are described in further
detail below. To obtain Basic Mesa, retrieve, the files [Maxcl]BasicMesa.image and
[Maxc1]BasicMesa.symbols.

Facilities Included

Basic Mesa contains the following facilities: modules that provide the runtime facilities of
the language such as the Signaller and the trap handlers; those modules used to access files
on the disk; Swapper, Segments, Files, Directory, Disk Descriptor, and Streams; the current
process mechanism, the string package, the free storage package and a nub for the debugger;
and the loader and its associated modules. It also contains the keyboard modules since the
interrupt handler for the keyboard must be resident.

Facilities Not Included

Basic Mesa contains no facilities for using the display. For those groups that wish to use
Basic Mesa and do not have their own display package. the existing Mesa Display package
(Rectangles, DisplayStreams, Menus, Windows, and StreamlO) has been packaged into a BCD
(described below). For those groups that need a simple teletype-like display and do not
want to pay for the full generality of the current Mesa display package, a simple display has
been implemented (see [Maxcl]SimpleDisplay.bravo). Basic Mesa does not
contain facilities for making Image files. However, a configuration contains those modules
required to make image files (described below). Note that Basic Mesa and the display and
image making packages are experimental.

Command Interpreter

The command interpreter for Basic Mesa allows users to load and start an arbitrary number
of BCDs. The command line syntax is:

Mesa BasicMesa.image[/sw] filel[/sw] [fiIe2[/sw]] . .

where [] denotes the optional part. The valid switches are:
Basic Mesa 2


/d invoke the debugger after loading the BCD but before starting it.

Is start the BCD (default if non-null control module).

/-s -- do not start the BCD.

The /d switch is the only switch valid for BasicMesa.image and will invoke the debugger
before any BCDs are loaded. Each BCD is loaded and started (unless -s switch appears) in
turn. Note that nothing can be started for a particular BCD if it has no control module. The
default extension for a filename is ".bcd". No error messages appear if there are any
problems with loading or starting a BCD; all signals propogate to the debugger.


ImageMaker Configuration

The ImageMaker configuration consists of those modules that are required to make an image
file of a system built on top of Basic Mesa. The configuration is a simple one consisting of
five modules, fifteen imports and three exports. The high number of imports is required by
the close interaction with the system needed to make image files. The configuration is
shown below:

ImageMaker: CONFIGURATION
IMPORTS BFSDefs, BootDefs, CoreSwapDefs, DirectoryDefs, DiskDefs.
DiskKDDefs, FrameDefs, ImageDefs, LoaderBcdUtilDefs, LoadStateDefs.
MiscDefs, SegmentDefs, Stream Defs, StringDefs, SystemDefs
EXPORTS BcdTabDefs, BcdTableDefs, ImageDefs =
BEGIN
Bcd Allocator;
BcdTab;
BcdMerge;
MakeI mageUtili ties;
MakeImage;
END.

No control module is needed; all modules get started by the START Trap. The user program
should IMPORT ImageDefs and call MakeImage (or MakeUnMergedImage).

The configuration may be used in several ways. It may be loaded as a separate BCD or be
bound into a single BCD with the rest of the system being built. The first way makes the
configuration for the user system simpler since it doesn't need to list all the IMPORTS
required by the ImageMaker. However the second way may save memory space since all the
global frames would be allocated in one segment. The ImageMaker requires 500 words for
global frames, so normally the first way is the best.


DisplayJ>ackage Configuration

The DisplayPackage configuration consists of those modules that implement the current
Mesa display facilities. The configuration is shown below:

Display Package: CONFIGURATION
Basic Mesa 3


IMPORTS ImageDefs, MiscDefs, SegmentDefs, StreamDefs, StringDefs, SystemDefs
EXPORTS IODefs, MenuDefs, RectangleDefs, Rectangles, StreamDefs,
WindowDefs, Windows =
BEGIN
Rectangles;
Display;
StreamlO;
Menus;
Windows;
END.

No control module is used, however a strict starting sequence must be used. The user should
start the DisplayPackage by writing:


IOOefs: FROM "iodefs",
Rectangles: FROM "rectangles",
Windows: FROM "windows";

IMPORTS IOOefs, Rectangles, Windows . . .



PagesForBitmap: CARDINAL = 40;
WordsPerLine: CARDINAL = 30;
TypeScript: STRING = "Mesa.Typescript.";



START Rectangles[PagesForBitmap, WordsPerLine];
START Windows[TypeScript];
START IOOefs.StreamIO[NIL. NIL];



The above parameters will produce the standard size bitmap and typescript file. The
DisplayPackage requires 472 words for global frames; it may be loaded the same ways as the
ImageMaker configuration.



Comments

BasicMesa, ImageMaker and DisplayPackage are experimental facilities, and as such are
subject to change. We anticipate that the only change make to them are those requested by
users.

The inclusion of the keyboard and keystream facilities into Basic Mesa was an arbitrary
decision. They were included so that users who used the standard keyboard package would
not have to go through a bunch of gyrations in order to get'the interrupt code locked' into
low memory, If most users of Basic Mesa provide their own keyboard handler as well as
display package, then the standard keyboard package can be removed.
Basic Mesa 4

One of the main benefits of Basic Mesa is that the data segments containing frames adjoin
the permanent system data segments. In the current system, a forty page bitmap separates
them so that systems that change the bitmap have a sandbar in memory before anything has
been done.

The Mesa Group would appreciate feedback on these and any other facilities that would be
useful in making custom systems.




c: Geschke
10hnsson
Koalkin
Lampson
Mitchel1
Satterthwaite
Sweet
Weaver
Wick