Demo Script Preliminary Comments It is always adviseable to start a demo with a completely fresh sysout. Experience at AAAI showed that sysouts that had been extensively played with by inexperienced users were rather prone to failure in the middle of a demo. A reasonable order in which to give the demo is Standard graphics demo Graphics demo showing parallel processes Worldmap Lafite Edittree History list Before you start, you may wish to arrange backgrounds and fonts to suit you. Changing Backgrounds: (CHANGEBACKGROUND ...) To change the background of the screen, call (CHANGEBACKGROUND newbackground) where newbackground is one of CINDY ... Only for male audiences. RHINE ... Picture of the Rhine. STEINHEIM ... Steinheim Castle; this is what you start with. TIFFANY ... Attractive blonde. TWODOLLAR ... Picture of a $2 bill. (EDITBM) ... Allows you to create an arbitrary bitmap. EDITBM will ask you how big you want the bitmap to be. Then it will put you in the bitmap editor. There, left mouse button paints bits black; middle button erases them. Middle button the titlebar to get the bitmap editor menu; bug OK in this menu when you are done editing. Changing Fonts: NEWFONT(...) To change fonts in all windows, call NEWFONT(font) where font is one of SMALL STANDARD MEDIUM BIG ... This is what you start with. HUGE Caveat: Do not call NEWFONT when Lafite is running; if Lafite is already running, stop it (by bugging the Quit button), run NEWFONT, and then restart Lafite. Otherwise NEWFONT may break. Paint To paint in a window, bring up the window menu (right mouse button) and select Paint. Left button paints black; middle button paints white; right button brings up the main Paint menu. The main paint menu allows you to set various parameters like paintbrush size. To quit Paint, bug Quit in the main Paint menu. Standard Graphics Demo: (DEMO) To run the standard graphics demo, call (DEMO) from the Top level typescript window. A menu will come up. DEMO will begin cycling through the choices in the menu, spending approximately a minute on each. To disrupt the normal order of execution, bug in the menu the demo you want to run. When you are fed up with DEMO, bug CleanUp in the menu, and all the windows associated with this demo will disappear. You then have 10 seconds to bug Quit before Hanoi automatically starts running again. Parallel Graphics Demo You can add processes by calling ADD.PROCESS(form) Appropriate forms are (MARILYN) ... Run only one of these at a time. There is no convenient way of supplying a window for Marilyn to run in, so multiple Marilyns would all run in the same window. (HANOI #rings (CREATEW)) ... Replace #rings with the number of rings you want. (POLYGONS (CREATEW)) (LINES (CREATEW)) (FADEDEMO) ... If you want to run more than one of these at once, you will have to supply (CREATEW) as an argument, but you will undoubtedly not get the shape of the window right. Note that POLYGONS and LINES are rather compute-intensive; running lots of them at once will slow the system down significantly. A reasonable combination of processes is one POLYGONS, one HANOI, and one MARILYN. To close these windows, you will first have to kill the processes behind them, by calling DEL.PROCESS(nameofprocess) for each process you started, where nameofprocess is the name of the function the process is running, perhaps with #2, #3, or #n appended if there are several processes running the same function. (thus the first POLYGONS you start will be called POLYGONS, the second POLYGONS#2, etc.) Alternatively, you could use the Process Status Window to kill processes. Select PSW from the background menu. This will bring up the Process Status Window. In it, there are two menus: the one above lists currently running processes, and the one below a series of process control options. In the upper menu, bug the process you want to kill; in the lower menu, bug KILL.a If you have a sysout with drawline microcode, calling FASTPROC(T) will speed linedrawing up significantly. Do not forget to turn this off before running EDITTREE, or EDITTREE will not work correctly. To turn off fast linedrawing, call FASTPROC(NIL) Do not attempt to run FASTPROC if you do not have drawline microcode. Worldmap In the worldmap, the middle mouse button brings up a menu with two entries: Zoom or ShowL&L. ShowL&L will prompt you for a position to put up a meter which will track the latitude and longitude of the cursor whenever it is in the map. Zoom will prompt you for a region of the map to zoom in on, and then for a region outside the map in which to put the zoom. Zoomed regions have two menus attached, a rectangular one and a square one. Items of interest in the rectangular menu are Delete ... Allows you to delete something drawn on the map. Boxes pop up around everything drawn on the map. Bugging a box will cause the associated item to be deleted. Move ... Allows you to move something drawn on the map. Bug one of the boxes that pop up, and then bug its new location. Text ... Allows you to apply text to the map. Supply the text (in the promptwindow) and then bug the place on the map where it is to go. Circle icon ... Allows you to draw a circle in the map. Bug center and radius locations. Ellipse icon ... Allows you to draw an ellipse on the map. Bug center, semi-major axis, and semi-minor axis locations. Open curve icon ... Allows you to draw an arbitrary open curve on the map. Use the mouse to deposit points along the curve. A point deposited outside the map will terminate the curve. Closed curve icon ... Similar, but closes the curve. The square menu contains military icons which you can apply to the map. To apply an icon, bug it in the menu, and then bug the place in the map where you want it. Items drawn on one map will show on any other map covering the same region, provided the scale difference between the two maps is not too great. If you should delete the worldmap, you can restore it by calling (GETWORLD) Lafite To start Lafite, bug the Lafite button under the logoclock. You may be asked to log in. Lafite will take a minute to come up. Messages in the mail folder are predominately schedules for AAAI. Of particular interest are the last two messages: one is a request for the tree editing program; the other is the response. To select a message, bug to the left of its summary (in the leftmost clumn of the screen). Left button makes this the sole selection; middle button adds this to existing selections; and right button selects all messages between the current message and the last selected message. To display a selected message, bug Display. To delete it, bug Delete. Etc. Do not attempt to send or receive mail unless you have access to a Grapevine mail server. (If you are giving the demo at a non-Xerox location, you undoubtedly haven't got one.) To receive mail, bug GetMail. To send mail, invoke the message editor by bugging MessageForm (for a general message form) or Answer (to answer a selected letter) or Forward (to forward a selected letter). Use the message editor to create the message you wish to send. Then bug Deliver or Abort. Do not attempt to send (Deliver) or receive (GetMail) mail unless you have access to a Grapevine mail server. Edittree To start EDITTREE, display the last message. Copy (SETQ PARSE (PARSE ... )) into the Top level typescript window as follows: (1) Hold down the Shift key. (2) Left button the first character of the text you want to copy. (3) Right button the last character of the text you want to copy. (4) Let go of the Shift key. In EDITTREE, the left button makes nodes follow cursor, and the middle button brings up a menu to quit or add & delete nodes and links. Here's how to fix EDITTREE: (1) Break while moving node, by pressing Control(Props)-B. Make sure the node you are moving is not above its parent; otherwise the links will not be erased properly. (2) Bring up break menu with the middle mouse button, and select BT to get a backtrace. Note that the break menu will not come up if the mouse is in the same line as the caret. (3) Type '. SHOW PATHS FROM function' where function is one of EDITTREE or FOLLOW/CURSOR. (4) Left button to examine nodes. (5) Make sure Break window owns keyboard. (Just bug the Break window if the caret isn't flashing in it. (6) Middle button SHOWLINK in graph. (7) Select '(DRAWBETWEEN ...)'. Type '(IF (ABOVE FRND TND) THEN & ELSE &]' and hit Replace. (8) In the ELSE consequent, select 'FRND'; select 'TOND'; and button Switch (not Swap). (9) Hit Exit. (10) Hit OK in break menu. (11) Type 'Y' to spelling corrector. (12) Show that ABOVE wants POSITIONs, not NODEs as arguments: type '(ABOVE ?= '. (13) Reenter the editor by typing 'DF SHOWLINK'. (14) In '(ABOVE ...)', Select 'FRND'; below, select '(FROMPOS FRND)'; and button Replace. Likewise, select 'TOND'; select '(FROMPOS TOND)'; and button Replace. (15) Bug Exit. (16) Button SHOWLINK in the backtrace menu. (17) Button Revert in the break menu. (18) Button OK in the break menu. Done! History Menu To expand the history icon, hit Expand in its right button menu. The resulting menu lists all commands given to top level. Left buttoning one will redo it. Middle buttoning will bring up a secondary menu, which will allow you to Redo, Fix (edit with TTYIN), or Undo the selection. I suggest you use the history menu to restart (DEMO). %v TIMESROMAN %vz·