Heading:x2qjk40(635) Mesa 6.0 System Updatey756x2qjk40\b22B Page Numbers: Yes X: 527 Y: 10.5"x2qjk40 Copyright c Xerox Corporation 1980z18592l4445y45c\10f3 1f0 Inter-Office Memorandumz18592l4445y762x2\f5b To Mesa Users Date October 27, 1980z18592l4445d2998x2e21(0,65535)(1,4445)(5,11684)(6,14146)\f7 2f0t2 1t0 10t6 1f7t0 4f0t7 1t0 From John Wick Location Palo Altoz18592l4445d2998y716x2e25\f7 4f0t2 1t0 9t6 1f7t0 8f0t7 1t0 Subject Mesa 6.0 System Update Organization SDD/SS/Mesaz18592l4445d2998x2e25\f7 7f0t2 1t0b22t6B1f7t0 12f0t7 1t0 XEROX z18592l508y644x2e14(2116)\f2 5f0 Filed on: [Iris]Doc>System60.bravo (and .press)x2e30(0,16263)(1,65535)(5,65535)(6,65535)\f7 53f0 x2e10(2116) This memo outlines changes made in the Mesa system interfaces since the last release (Mesa 5.0, April 9, 1979). A number of internal changes made in the system and the microcode are also discussed.x2e12jk40 This memo is intended as a quick guide to conversion, not a detailed specification of the changes. Names in square brackets refer to sections of the Mesa System Documentation or to other publicly available reference documents (e.g., the Alto Operating System Reference Manual).x2e12jk40\150i25I63i38I External Interfacesx2e18jk60\b19B Major changes include integrated support for Alto extended memory and elimination of BasicMesa. The System also now exports versions of the following Development Software interfaces: Ascii, Format, Inline, Process, Runtime, Storage, String, System, and Time. (Note that implementation of these interfaces may not be complete.) Other changes are relatively minor.x2e12jk40\184f6b5f0B2f6b6f0B2f6b6f0B2f6b7f0B2f6b7f0B2f6b7f0B2f6b6f0B2f6b6f0B6f6b4f0B AllocDefsx2e12jk60\i Private types and operations have been removed. AllocInfo, MakeDataSegment, and MakeSwappedIn are now defined in SegmentDefs, and temporarily duplicated here for compatibility. [Segment Package]x2e6jk40\49f6b9f0B2f6b15f0B6f6b13f0B20f6b11f0B54b15B AltoDefsx2e12jk60\i MaxVMPage has been increased to support up to a million words of memory; MaxMDSPage and PagesPerMDS have been added. [Segment Package]x2e6jk40\f6b9f0B64f6b10f0B5f6b11f0B19b15B AltoDisplayx2e12jk60\i MaxBitsPerLine has been changed to 608 (it was 606). Cursor, CursorBits, and CursorHandle define the location and format of the cursor. Coordinate, CursorXY, and MouseXY define the location and format of the cursor and mouse coordinates. [Display Package]x2e6jk40\f6b14f0B40f6b6f0B2f6b10f0B6f6b12f0B48f6b10f0B2f6b8f0B6f6b7f0B70b15B AltoFileDefsx2e12jk60\i Support for the DiskShape and PartitionName properties of the directory's leader page has been added. The definition of a file serial number (SN) has been changed to isolate the flag bits (directory, random, and nolog) into a separate structure (SNBits). [Alto Operating System Reference Manual]x2e6jk40\16f6b9f0B5f6b13f0B100f6b2f0B45f6b9f0B2f6b6f0B6f6b5f0B29f6b6f0B4i38I AltoHardwarex2e12jk60\i This new interface defines most structures of the Alto hardware, including the processor, display, keyboard, mouse, keyset, printer interface, disk, and Ethernet. [Alto Hardware Manual]x2e6jk40\164i20I Asciix2e12jk60\i This new interface defines the ASCII control character codes; for compatibility, these continue to be defined in IODefs. [StreamIO Package]x2e6jk40\32f1 4f0 77f6b6f0B3b16B BasicMesax2e12jk60\i The facilities of BasicMesa have been replaced by procedures in the standard system and a command line switch (/b) which can be used to destroy the display and keyboard packages (see DisplayDefs and StreamDefs). MakeImage is no longer a standard part of Mesa.image, and must be loaded separately. [Section 3]x2e6jk40\18f6b9f0B84f8 2f0 70f6b11f0B5f6b10f0B4f6b9f0B33f8 10f0 34b9B BitBltDefsx2e12jk60\i The extended memory option now supports use of the normal and alternate bank registers, whose values are supplied in the unused word of the BBTable (this option is not supported under XMesa 5.0 microcode (version 39)). AlignedBBTable (and BBTableSpace) can be used to properly align BITBLT argument records. [Alto Hardware Manual]x2e6jk40\140f6b7f0B17i3I53f6b14f0B6f6b12f0B32f7b6f0B20i20I CharIOx2e12jk60\i This new interface provides many of the functions of IODefs, but each operation takes a StreamDefs.StreamHandle as its first parameter, allowing formatted input and output to any standard stream. [StreamIO Package]x2e6jk40\53f6b6f0B29f6b23f0B86b16B DirectoryDefsx2e12jk60\i This interface has been changed slightly to speed up directory searches (by about a factor of 3). In addition, support for subdirectories was added (see Alto Operating System Reference Manual). The following items have changed (note that a NIL DiskHandle does not imply the system directory):x2e6jk40\154i38I50f7 3f0 1f6b10f0B6i3I EnumerateEntries: PROCEDURE [ dir: DiskHandle, proc: PROCEDURE [CARDINAL, StreamScan.Handle, DEptr] RETURNS [BOOLEAN], inspectFree: POINTER TO READONLY BOOLEAN, lengthFilter: CARDINAL _ 0] RETURNS [index: CARDINAL];l4269x2e6k40\f6b18f7 9f6 30f7 9f6 2f7 8f6 28f7 7f6 2f7 7f6 18f7 27f6 18f7 8f6 6f7 7f6 9f7 8f6 The procedure proc is called for each directory entry; free entries are passed only if inspectFree^ is TRUE. If the lengthFilter is non-zero, only entries with a filename length equal to lengthFilter characters will be passed to proc.x2e6jk40\14f6b4f0B69f6b12f0B4f7 4f0 10f6b12f0B59f6b12f0B30f6b4f0B The following procedure inserts an entry into the directory; unlike Lookup, it does not create a file. If the file already exists, TRUE is returned (and fp^ is undisturbed).x2e6jk40\68f6b6f0B58f7 4f0 18f6b3f0B Insert: PROCEDURE [ dir: DiskHandle, fp: POINTER TO AltoFileDefs.FP, name: STRING] RETURNS [old: BOOLEAN];l4269x2e6k40\f6b8f7 9f6 26f7 10f6 24f7 6f6 4f7 7f6 7f7 7f6 ParseFileName replaces ExpandFileName; it strips the leading directory information from name, puts the result in filename (appending a period if necessary), and returns a stream (with access dirAccess) open on the directory in which the file should be looked up.x2e6jk40\f6b13f0B10f6b14f0B51f6b4f0B21f6b8f0B70f6b9f0B ParseFileName: PROCEDURE [ name, filename: STRING, dirAccess: SegmentDefs.AccessOptions] RETURNS [StreamDefs.DiskHandle];l4269x2e6k40\f6b15f7 9f6 21f7 6f6 42f7 7f6 The following procedures set and return the directory used for looking up files which do not specify a directory name (initially set to "