{note "SYSTEM OPERATION: Once you have begun, you are now interacting with Interlisp-D. The system starts with initial display as in figure 1 <fig>. Typescript window operates .... Can type just as in Interlisp-10. Break causes new window. Windows move and shape using interactive commands on page ??." --- par from lmm} Interlisp-D is an implementation of the Interlisp programming environment for the Xerox 1100 series of Scientific Information Processors. Interlisp-D uses a byte-coded instruction set, deep binding, {lisp CDR} encoding (in a 32-bit {lisp CONS} cell) and incremental, reference-counted garbage collection. Virtually all of the Interlisp-D system is written in Lisp. A relatively small amount of microcode implements the Interlisp-D instruction set and provides support for a small set of other performance-critical operations. Interlisp-D is completely upward compatible with Interlisp-10. All Interlisp system software runs under Interlisp-D. The only exceptions are those explicitly indicated in the manual as applicable only to Interlisp-10. In addition, Interlisp-D provides significant extensions that allow the user to exploit its personal computing environment. Interlisp-D has incorporated both low level network access and a collection of various higher level protocols used to communicate over an Ethernet with printing and file servers, as well as with other Interlisp-D processors. In particular, all file operations are independent of whether the file resides on the local disk or on a remote file server. See {PageRef Tag Ethernet} for further information about Interlisp-D facilities for communicating over an Ethernet. Interlisp-D includes an extensive collection of user graphics facilities. The most important of these is the window system, which allows the user to divide the screen into multiple autonomous overlapping regions. The window package provides both interactive and program accessable constructs for creating, moving, reshaping, overlapping, and destroying windows in such a way that a program can be embedded in a window in a completely transparent fashion. This allows existing Interlisp-10 programs to be used without change, while providing a base for experimentation with more complex window operations in new applications. The basic graphics facilities are described in {PageRef Tag WindowPackage}. Using the window system, Interlisp-D extends the existing Interlisp programming tools to use the display and also provides some completely new tools. The display break package provides pushbutton access to the stack ({PageRef Tag DisplayBreak}). A data inspection program uses windows to symbolically examine and change arbitrary system data structures ({PageRef Tag Inspector}). A display-oriented structure editor allows convenient modification of Interlisp-D programs ({PageRef Tag Dedit}). {Begin SubSec Reporting Problems} {Title Reporting Problems} {Text The Interlisp-D support team is committed to providing full support services to the entire Interlisp-D user community. Users are encouraged to report problems with the system, errors in the documentation, and their general observations. Messages may be sent to us in several ways: At most places using Interlisp-D there is one person designated as the Interlisp-D Site Liason, typically an experienced user. If the Site Liason is not able to help you with your problem, he or she should be able to contact the Interlisp-D support team. Users with access to the ARPANET are encouraged to send mail to the net address: 1100Support.pasa@PARC-MAXC. Users without ARPANET sponsorship should call (213) 351-2351 ext. 2222 collect or write to: {Begin Table marty's address} {COLUMN} {VSKIP 0} {Next 1100 Support} {Next Xerox SIS} {Next 250 North Halstead St.} {Next Pasadena, CA 91107} {Next ATTN: 1100Support} {End Table marty's address} }{End SubSec Reporting Problems} {Begin SubSec Xerox 1100 Hardware} {Title Xerox 1100 Hardware} {Text Interlisp-D is currently available on three machines, the Xerox 1100 Scientific Information Processor, the Xerox 1108, and the Xerox 1132. This section is only applicable to the Xerox 1100. {note are there fancy names for 1108 and 1132??} The Xerox 1100 Scientific Information Processor consists of a cabinet approximately 19 inches wide by 25 inches high by 28 inches deep, a separate {lisp CRT} display, keyboard, and pointing device. The hardware housed in the cabinet has no special environmental requirements and is suitable for installation in an office. It draws 10 amperes of power from a 120 volt, 50-60 Hz circuit. {note the 1108....} {note the 1132...} {note Should add info about 1108 and 1132 hardware... currently punted} {Begin SubSec Keyboard} {Title Keyboard} {Text The keyboard resembles a standard typewriter keyboard with several special function keys. {lisp SHIFT} and {lisp LOCK} operate similarly to those on a standard typewriter, except that the {lisp LOCK} key causes only the alphabet keys to be uppercase, while the {lisp SHIFT} key causes all keys on the keyboard to take on their uppercase representation. {note for 1100 & 1132 only....} A special button used for booting the system at the beginning of a session is located on the back side of the keyboard, immediately to the right of the heavy black wire that connects the keyboard to the rest of the system. }{End SubSec Keyboard} {Begin SubSec Display} {Title Display} {Text The video display is an 875 line, horizontally-mounted television monitor with a 13-inch by 11-inch, 1024 by 808 black and white pixel screen. The display is mounted on a swivel base to allow easy viewing-angle adjustment. A brightness knob is located on the rear of the base along with a power switch for the display. {note for 1108, brightness control is on the lower left front (of tube?)} }{End SubSec Display} {Begin SubSec Mouse} {Title Mouse} {Text Direct interaction with the display is carried out with a device called a mouse, a hand-sized object with three keys on top. The mouse is moved about on the working surface next to the keyboard and may be placed on whichever side of the keyboard is most comfortable for the user. As the mouse is moved, a cursor moves around on the display screen. The three keys on top of the mouse are used for various functions depending on the software being run and the cursor's location on the screen. {note some 1108s have 2-button mouse} }{End SubSec Mouse} {Begin SubSec Processor Cabinet} {Title Processor Cabinet} {Text The processor cabinet houses the electronic circuitry and magnetic disk. The only operator controls on the processor cabinet are two pushbuttons that are used to turn the power on and off. The pushbuttons are located on the front panel. Also located on the front panel is a numeric display that is used primarily for maintenance purposes.{note should have ptr to MP codes} The Xerox 1100 is microprogrammed with a control store of 4K, 36-bit words with a microinstruction cycle time of about 200 nsec. The data paths within the machine are 16 bits wide and the processor-memory data path is 64 bits wide. The standard real memory is 1.15 MBytes. The memory is expandable to 1.5 MBytes. {note check memory sizes} The processor cabinet contains a Shugart SA 4008 disk, RS232 interface, and a printer port. The disk is fixed (non-removable) with a formatted capacity of approximately 23 MBytes. Optional additions are a 3MHz Experimental Ethernet controller, a 10MHz Ethernet controller, and a color monitor controller board. {note The processor contains several features which enable rapid execution of byte-coded stack oriented languages, including the Interlisp-D instruction set. -- paragraph from lmm} }{End SubSec Processor Cabinet} }{End SubSec Xerox 1100 Hardware} {Begin SubSec Turning the System On} {Title Turning the System On} {Text To prepare the Xerox 1100 system for operation, proceed as follows: {Begin LabeledList} {Indent 20} {Label a.} {Text Reach behind the base of the display and ensure that the toggle switch is up. This turns on power to the display. } {Label b.} {Text Determine if power is applied to the processor by observing the small {lisp LED} display panel on the front. The display should be blank except for a small illuminated red dot in the lower right part. If no red dot is visible, check with your local maintenance personnel. (Make sure the processor is plugged in.) } {Label c.} {Text With the red dot illuminated, momentarily press the {lisp START/ON} (blue colored) button located on the front panel. A series of numbers should appear in the {lisp LED} display panel (See {PageRef Tag X1100MPcodes}). After a few seconds, a large white rectangular region should appear in the middle of the display. If this does not happen, check that the cables between the Xerox 1100, the keyboard, and the display are firmly connected, and try pressing the {lisp START/ON} button again.{note ref to list of diag. codes?} } {Label d.} {Text If your system is connected to a (3MBit) Experimental Ethernet it may now automatically load and start a limited version of the Executive obtained from the net. } {Label e.} {Text Wait approximately 2 minutes for the disk to reach operating speed and temperature. No light or other indication is provided to inform the user when the disk is ready for operation. } {Label f.} {Text When the disk is ready, boot the system by momentarily pressing the button located on the back side of the keyboard just to the right of the black wire that connects the keyboard to the processor. This will start the Alto Executive (described below) and display some status information at the top of the screen. If this does not work, retry starting at step c, or check with your local maintainance personel. } {End LabeledList} {note turning 1108 on.... turning 1132 on...} }{End SubSec Turning the System On} {Begin SubSec Turning the System Off} {Title Turning the System Off} {Text When Interlisp-D and the Alto Executive access the local disk, they may momentarily leave the disk directory in an inconsistant state. Therefore, the user should not power down the Xerox 1100 while programs are running. To turn the system off, do the following: First, exit Interlisp-D with {lisp ({fn LOGOUT})}. Next, type {lisp Quit{cr}} to run the Alto {lisp Quit} program. Once {lisp Quit} is running, it is safe to power off the Xerox 1100, by pressing the {lisp OFF} button on the processor cabinet. }{End SubSec Turning the System Off} {Begin SubSec Partitions} {Title Partitions} {Text {note Note: boot procedure will be changing ... please consult current doc.} There are two distinct working areas (called "partitions") on the 1100 disk, which enable two different working environments to reside on the same machine. If desired, each can have its own unique password. This password allows two different individuals (or groups) to share the same machine without fear that a critical file may be accidentally deleted by the other user(s). The partition to be used is selected as follows: During Startup {Begin UnLabeledList During Startup} {Item To Select Partition 1 {emdash} Press boot button on rear of keyboard. } {Item To Select Partition 2 {emdash} Hold down the 0 (zero) key while pressing the boot button. } {End UnLabeledList During Startup} From the Alto Executive {Begin UnLabeledList More During Startup} {Item To Switch to Partition {arg N} {emdash} Type: {lisp Partition {arg N}{cr}} } {End UnLabeledList More During Startup} }{End SubSec Partitions} {Begin SubSec Alto Executive} {Title Alto Executive} {Text After booting, the Xerox 1100 will be running the Alto Executive. The Alto Executive has a small number of capabilities, the most important of which is running Interlisp-D. Normally, little time will be spent at the Executive level, as most interaction will occur within the Interlisp-D environment. The Alto Executive is described on {PageRef Tag AltoExecutive}. The Interlisp-D user may find the following commands useful: {Begin Table} {COLUMN 30percent} {COLUMN} {First {lisp Login}} {Next For setting the user name} {First {lisp Install}} {Next For changing passwords and partition names} {First {lisp Scavenger}} {Next For recovering from disk problems} {First {lisp SetTime}} {Next For setting the time} {End Table} When entering commands to the Executive, typing the following will correct mistakes: {Begin Table} {COLUMN 30percent} {COLUMN} {First {lisp BS} (backspace) or {lisp CTRL-A}} {Next Delete last typed character} {First {lisp CTRL-W}} {Next Delete last typed word} {First {lisp DEL} (delete)} {Next Cancel command} {End Table} WARNING: It is not recommended that Lisp files be manipulated at the Executive level, as the Executive and other non-Lisp programs do not follow Lisp's version numbering conventions. The recommended way of manipulating files is to use the Interlisp-D functions (such as {lisp SEE}, {fn COPYFILE}, {fn RENAMEFILE}, {fn DIRECTORY}, etc.). }{End SubSec Alto Executive} {Begin SubSec Local Disk Files} {Title Local Disk Files} {Text {Begin SubSec Naming Conventions} {Title Naming Conventions} {Text File names on the local disk are limited to character strings of less than 40 alphanumeric characters and the punctuation characters {lisp +} {lisp -} {lisp $}. No blanks are allowed. Upper and lower case letters may both be used, but are not distinguished. Interlisp creates file names with all upper case letters. }{End SubSec Naming Conventions} {Begin SubSec Critical Files} {Title Critical Files} {Text It is extremely important not to overwrite or delete certain files on the Xerox 1100 local disk. In the Xerox 1100 file system, files cannot be individually protected against reading, writing, or erasing. Because of this, the user should be extremely careful when deleting files, especially when using the "*" wildcard. The following files are necessary for the system to function properly and should not be deleted: {Begin Table The following files are necessary} {COLUMN} {COLUMN} {COLUMN} {First AltoD0MC.eb} {Next Lisp.run} {Next Sys.boot} {First Createfile.run{super *}} {Next Lisp.syms} {Next Sysdir} {First DiskDescriptor} {Next Lisp.sysout{super *}} {Next Sys.errors} {First DolphinLispMC.eb} {Next Scavenger.run{super *}} {Next Sysfont.al} {First Executive.run} {Next Swat} {Next User.cm} {First Fonts.Widths{super *}} {Next Swatee} {Next Lisp.virtualmem} {Next Display Font Files (*.strike){super *}} {End Table The following files are necessary} {super *} If these files are available from a local file server, they do not have to be on the disk. {note table should be formatted better --- not vert aligned correctly} }{End SubSec Critical Files} }{End SubSec Local Disk Files} {Begin SubSec Starting Lisp} {Title Starting Lisp} {Text {note load microcode step taken out --- wind world now!} To start Lisp, type one of the following: {Begin Table Type one of the following} {MULTIPAGE} {COLUMN 25percent} {COLUMN} {First {lisp Lisp/i{cr}}} {Next Brings in a completely fresh version of Interlisp-D from the local disk file {lisp {bracket DSK}LISP.SYSOUT} (like {lisp LISP} in TOPS20). } {First {lisp Lisp{cr}}} {Next Returns user to state saved from {lisp (LOGOUT)} (like {lisp CONTINUE} in TOPS20). } {First {lisp Lisp {arg FILENAME}{cr}}} {Next Returns user to state saved in {lisp (SYSOUT {arg FILENAME})}. For machines connected to an Ethernet with a PUP FTP server, a {lisp SYSOUT} can be retrieved from a file server by including the file server, directory and subdirectories in the field name, e.g. {lisp {bracket PHYLUM}<LISP>CURRENT>LISP.SYSOUT} (like {lisp SYSIN} in TOPS20). } {End Table Type one of the following} In addition, any of these commands can be terminated with a semi-colon and a Lisp expression. The code after {fn MAKESYS}, {fn SYSOUT} and {fn LOGOUT} will read this expression and evaluate it if it starts with an open paren or doublequote. If it is a list, it is {fn EVAL}ed at the next prompt; if it is a string, it is just unread. This is a way of "typing ahead" over {lisp Lisp.run}. For example, {lisp LISP {bracket PHYLUM}<LISP>CURRENT>LISP.SYSOUT;(LOAD 'FOO.DCOM)} will start up Interlisp-D and load in {lisp FOO.DCOM}. {note LISP state is saved in the file LISP.VIRTUALMEM. A sysout is merely a copy of the active portion of LISP.VIRTUALMEM. LISP backs up storage periodically. Bringing in a SYSOUT is done by first copying the sysout to LISP.VIRTUALMEM. Cursor changes to indicate progress; if from file server or other 1100, then flipping boxes; if from disk, then hourglass cursor ---par from lmm} {Note To load a different version of microcode than the default (DolphinLispMc.eb or DoradoLispMc.eb), use the /M switch on startup. For example, LISP VariantMc.eb/M.} {Begin Note} Moving between machines. It is now possible to move quickly from one Dolphin/Dorado to another, without making a sysout. To do this, use (LOGOUT) to exit Lisp on the first machine and flush all dirty pages into the backing-store file, LISP.VIRTUALMEM. Then, place the first machine in FTP. Then, on the second machine, start lisp by saying: Lisp [firstmachine]LISP.VIRTUALMEM This will "sysin" the virtual memory of the first machine. The process takes a few minutes, and is quite handy for moving from Dolphin to Dorado and back. Note: if the Lisp.virtualmem on the first machine is substantially larger than the virtual memory in use, there may be a pause when the sysin cursor reaches the bottom of the screen before Lisp starts up. This glitch will be corrected in future releases. {End Note} {Begin SubSec Greeting} {Title Greeting} {Text When Interlisp-D is started, the currently logged in user (see the Executive {lisp Login} command) will be greeted. There are two phases to the greeting process: First, site-specific parameters are established by loading the file {lisp INIT.LISP} from the local disk. This file should define where various resources (printers, Lispusers files, fonts) are to be found given the machine's location and configuration. It also specifies a search list (the variable {lisp USERGREETFILES}) for the greeting files of individual users. If a user-specific initialization file is found by searching that list, the second phase of greeting consists of loading that file. User initialization files customize Interlisp-D for a particular user, by specifying values for various parameters such as the default directory variable {var LOGINHOST/DIR} ({PageRef Var LOGINHOST/DIR}). The disk is delivered with an {lisp INIT.LISP} that assumes there are no network facilities and that the user's initialization file is named {lisp INIT.{arg USERNAME}} on the local disk. The file {lisp INIT.PARCPLACE} is included on the disk as an example of a site-dependent {lisp INIT.LISP} file for network sites. {note include sample init.lisp here?} }{End SubSec Greeting} }{End SubSec Starting Lisp} {Begin SubSec Cursor Status Indications} {Title Cursor Status Indications} {Text When Interlisp-D is running, the cursor will occasionally change to inform the user of certain system states. These are: {Begin Table} {COLUMN 30percent} {COLUMN} {First Inverted cursor} {Next Garbage collecting (if {lisp GCGAG} is {lisp T}; see {PageRef Fn GCGAG})} {First Flashing line on top} {Next Swap read} {First Flashing line on bottom} {Next Swap write} {First Flashing lines in middle} {Next Stack operations} {First "{lisp SAV/ING}" cursor} {Next If Interlisp-D has been idle long enough, the system automatically updates the disk virtual memory file. While this is happening, the cursor is changed to show the word {lisp SAV/ING}. For more information about this feature (including how to turn it off), see {PageRef Fn SAVEVM}.} {End Table} }{End SubSec Cursor Status Indications} {Begin SubSec System Crash} {Title System Crash} {Text The following table is designed to help you in case of a system crash. For more information on using Raid and Swat, see {PageRef Tag RAID}. {Begin Table in case of a system crash} {COLUMN} {COLUMN} {COLUMN} {Underline} {First System State} {Next Cause} {Next User Action} {First Raid} {Next Accidentally typed {lisp CTRL-C}} {Next Type {lisp CTRL-N}} {First (You are in Raid if the screen is blank, except for a message of the form "Raid: xxx" at the top. Prompt="@".)} {Next Stack overflow (System message: No Free stack block found)} {Next Type {lisp CTRL-D} (flushes stack)} {First} {Next System bug} {Next STOP. Note message and prepare bug report.{super *} Type {lisp CTRL-D} (Attempts to reset to the top level {lisp EVALQT}, where you may be able to save state).} {First} {Next Disk hardware error. Message "hard disk error" appears.} {Next Run Scavenger. See {PageRef Tag AltoScavenger}.} {First Swat} {Next Machine malfunction} {Next Reboot} {First (You are in Swat if the screen displays two black bars, one labeled {lisp SWAT}. Prompt="#".)} {Next Typed {lisp CTRL-N} to continue Raid at a bad time.} {Next Type {lisp RAID} {lisp CTRL-C} (Puts you in Raid)} {First No System Response} {Next} {Next If cursor follows mouse, type: {lisp CTRL-SHIFT-SWAT}{super **} (Puts you into Swat from which you can move to Raid, and then, back to Lisp.)} {First Machine halts or reboots, screen loses sync and/or cursor is no longer tracking} {Next Machine malfunction, overheat condition or power line surge.} {Next Reboot. If this does not seem to work, turn off the power to the display and/or the processor for a moment, and then try rebooting. If a power surge or sag occurs, the machine will automatically reboot.} {End Table in case of a system crash} {super *} The bug report should answer the following questions: What were you doing? Is it reproducible? What files have you loaded? Anything special in your init? Does bug occur in Interlisp-10 (if available)? {super **} Simultaneously hold down the {lisp SHIFT}, {lisp CTRL}, and {lisp SWAT} keys. {lisp SWAT} is the unmarked key in the lower right corner of the keyboard. }{End SubSec System Crash}