Inter-Office MemorandumToAlphaMesa UsersDateMay 19, 1980FromJohn WickLocationPalo AltoSubjectMesa 6.0 Pre Alpha Test Change SummaryOrganizationSDD/SS/MesaXEROX Filed on: [Igor]PreAlpha60.bravo (and .press)DRAFTThis memo outlines changes made in Mesa since the last release (Mesa 5.0, April 9, 1979); itsummarizes important operational differences which you must know in order to use Mesa 6.0. Amore complete change summary and the usual update memos are forthcoming.ReferencesIn addition to this memo, preliminary versions of the Mesa 6.0 System Update, XMesa Update, andRunMesa Update are available on [Igor]Doc> as System60.press.GeneralOn large programs, performance of the Mesa 6.0 Compiler and Debugger on 64K Altos isconsiderably worse than in Mesa 5.0; an extended memory machine with a minimum of 128K isrecommended.Alto Operating System version 17 and Executive version 10 or later are required to run Mesa 6.0.It is recommended that you obtain OS version 18 and Executive version 11 as soon as they areavailable.The new file creation date standard is now supported. The compiler inserts the creation date of thesource file into the .bcd (as does the Binder), and the Debugger checks that the source and objectfile versions match. The IncludeChecker also makes use of these dates. Therefore, you must use aneditor that supports the file date standard (e.g., Bravo 7.5).LanguageWith two exceptions, Mesa 5.0 source files are compatible with Mesa 6.0. In file names in theDIRECTORY statement, names inside angle brackets are no longer ignored; they are treated assubdirectories of the Alto file system (use of this feature is not recommended). The order of theMACHINE DEPENDENT and MONITORED attributes in record declarations has been reversed; MACHINEDEPENDENT MONITORED RECORD is correct.]gpi c8q]rX-q7Br ]q]r-q7Br Yq]s&-q 7Br Str MqF8?u Fr-/ E P CcH ?ds <r Q :nvrv r 6os 3 rT 1y%w) / r ,K *P )4 %K $>vr3 " VEMesa 6.0 Pre Alpha Test Change Summary2CompilerThe order of evaluation in expressions and constructors has been changed, particularly in casesinvolving imbedded procedure calls; it is no longer left to right. In particular, expressions of theform word _ get[s]*256+get[s] are suspect, and probably incorrect. For elements smaller thaneight bits, the internal representation of packed arrays has changed.The Compiler no longer supports interactive command input; it reads commands only from thecommand line, and does not use the keyboard or display (feedback is via the cursor). Thecommand language has been extended and switch processing has changed. The /c switch has beendeleted; global switches must now be specified with a null file name, e.g. Compile /p Defs Impl.Switches are restricted to a single letter. Do not use complete switch names such as /pause (eachletter will be interpreted as a separate switch). Until the full syntax of the command language isdocumented, it is best to group all global switches at the beginning of the command line following asingle slash.The log is now written on Compiler.log, not Mesa.typescript; separate .errlog files arestill produced. The error log (if any) is deleted if the compilation is successful; conversely, if thecompilation fails, the .bcd (if any) is deleted.The implementation of floating point has changed considerably; the IEEE standard format is nowused, and the compiler generates calls directly to user microcode (this will produce undefined resultsif the proper microcode is not present). Calls to software floating point as in Mesa 5.0 can begenerated with the /-f switch. Do not use type REAL without first consulting with a floating pointwizard.Because of bug fixes, previously acceptible programs may no longer compile.BinderLike the Compiler, the Binder takes commands only from the command line and does not use thekeyboard or display; it writes its log file on Binder.log.Compressed symbols files cannot yet be produced by the Binder.SystemMesa 6.0 is compatible with XMesa 5.0 microcode version 39 (but some new features are notavailable with this microcode, e.g. extended memory BITBLT).Features previously implemented by BasicMesa and XMesa are now a standard part ofMesa.image; MakeImage is no longer a part of the standard system, and must be loaded orbound with the client configuration.The standard system now supports only command line input; MesaExec can be loaded to provideinteractive input. The command line switch /b can be used to convert the standard system to abasic one. The /k switch will disable the allocation of space for the Debugger's bitmap onextended memory machines.The default maximum numbers of processes (75) and modules (384) have been increased.Interface changes are described in the System Update memo. fs&G b ^r;$ ](e [xr& YE VL T.+ S<")vr Q3vr O+w)vr NF` Lb J Gv rvr vr F*= DZvr A ^ ?dL =B <vr w qw/ :n 7rK 3 s /rP .*/v r *> &s #r/* !4qr 203! v ryr8 I$ 'yr S,vr, vr4  T g: >[+Mesa 6.0 Pre Alpha Test Change Summary3DebuggerThe Debugger now requires a strike font named SysFont.strike or MesaFont.strike; aversion of Gacha10 is available on MesaFont.strike. A program which producesstrike fonts from most .al fonts is available (AlToStrike.bcd); see also [Maxc].The selection scheme and the assignment of function keys and mouse buttons has changed.Clicking RED once selects a character, clicking twice selects a word, three times a line, etc.; theselection can be extended to the left or right with BLUE. The menu button is now YELLOW(formerly BLUE). FL4 is no longer the stuff key; use FR4 (Spare2) or Keyset2.Scrollbars no longer occupy a dedicated part of the window, but instead come up on top of the leftedge. To obtain a scroll bar, move left just past the edge of the window, then move right slightly,back into the window.New source window menu commands have been added, and they have been factored into severalmenus. The Debugger's wisk window has been replaced by a more general Split window menucommand. There are now also Normalize Insertion and Normalize Selection commands.The interpreter can now be used when in Display Stack subcommand mode. Several commandsnow invoke the interpreter automatically (e.g., Octal Read: @p, n: SIZE[r]). The interpreterdoes procedure calls (the Interpret Call command has been deleted).The constructs LONG, POINTER TO, LOOPHOLE, MIN, MAX, ABS, and open and half open intervals havebeen added to the interpreter's grammar. Type expressions following % must be enclosed inparentheses. The interpreter syntax Expression? has replaced the Interpret Expressioncommand.Break/Tracepoints can no longer be set by typing the source line, and the Break Module andBreak Procedure commands and corresponding Trace and Clear commands have beendeleted; the menu commands must be used. Clear All Entries/Xits clears both break andtracepoints. Tracepoints now automatically invoke the normal Display Stack commandprocessor (with subcommand p(arameters)); the q(uit) subcommand (not b(reak)) exits tothe Debugger's command level, it no longer continues execution of the client. Conditionalbreakpoints are not yet implemented.If the source window is loaded with the s(ource) subcommand the Display Stack, thewindow will remember the appropriate context for setting breakpoints.The Debugger no longer ignores case, and the case commands have been deleted; identifiers must betyped with their correct capitalization.Distribution:AlphaMesa UsersMesa GroupSDSupport fs&G b ^r" v rvr ](#vr [vrv r vr X2? VqrS T.qrq S G1vr Fvrvr Bv r# A 0vr ?dv r <qrq rqrqrqrqr' :n: yr 8%y rv 7r 3&$v r 2)vrvrvr 0*vr .=v r -3v rvr vr + L )$ &"vrv r $E !:w ( [r X  e >SJ TIMESROMAN  HELVETICA TIMESROMAN  TIMESROMAN LOGO HELVETICAGACHA  TIMESROMAN  HELVETICA   HELVETICA  j/Q,PreAlpha60.bravoWickMay 20, 1980 6:23 PM