Page Numbers: Yes First Page: 48 X: 527 Y: 10.5"
Margins: Binding: 13
Odd Heading: Not-on-first-page
RunMesa
Even Heading:
RunMesa
Appendix G: RunMesa
RunMesa.run is the program which converts your Alto into a Mesa machine by loading the Alto/Mesa microcode and then loading your image file into memory. The only thing you need to know is that you must have RunMesa.run on your disk in order to run Mesa programs. The Alto Executive will automatically invoke RunMesa when you ask it to run an image file. The sections below describe various other features of RunMesa. All are fine points.
Versions
When RunMesa starts it prints out several version numbers. If you are not good at speed reading, see /V below to make the version stay on the screen longer. The version line looks like:
RunMesa a.b, microcode c[d-e]; ROM1 microcode f; gK memory
a.b is the major and minor version of the RunMesa Bcpl and Asm code. c is the version of the Alto/Mesa microcode included in RunMesa. [d-e] is the version of XMesa and XMesa overflow microcode included in RunMesa. When ROM1 is present, f is the version of the microcode in ROM1. If the Alto has the 3K RAM option the version line will so indicate. RunMesa reports the amount of memory available to Mesa (g). Some example version lines are:
RunMesa 35.9, microcode 41[41-10]
RunMesa 35.9, microcode 41[41-10]; ROM1 microcode 39; 128K memory
RunMesa 35.9, microcode 41[41-10]; 3K RAM; 256K memory
Microcode version numbers are independent of Mesa version numbers. The version released with Mesa 5.0 is 39. The version released with Mesa 6.0 is 41 which is upward compatible with version 39. RunMesa knows which microcode versions are compatible and will allow intermixing of microcode and software when possible.
Non-XMesa PROMs are no longer supported. If you have microcode in ROM1 it must be XMesa. RunMesa uses the 3K RAM option to run the XMesa microcode. This uses all of RAM1 and a small part of RAM0.
The overflow (RAM0) microcode includes support for Pup checksums, IEEE floating point, and HBlt (used by Griffin). This microcode is loaded with the XMesa overflow microcode on Altos with the 2K ROM (with version 41 microcode) or 3K RAM option.
Switches
Instead of letting the Executive automatically invoke RunMesa you may run it directly by saying RunMesa/globalSwitches Arguments/localSwitches. The following global switches are recognized:
/BTells RunMesa to run a boot file instead of an image file. After the microcode is loaded, the named file is booted using the Alto OS BootFrom operation. Default name: Mesa; default extension: sv.
/GEnd of commands; ignore rest of command line.
/MLoad the Mesa microcode and exit.
/QSame as /G.
/SInvoke Swat after the image file is loaded into memory but before it is started.
/VPrint out the version of the image file about to be run (and the version of its creator). Type any character to proceed with execution or F to abort. You may supply any other file with compatible header format (.bcd, .code, and .symbols files are compatible) and RunMesa will give you the creation and creator of the file, but will refuse to run it.
The following local switches are recognized:
/BThe argument is a 16-bit octal number taken as a bitmask of which banks of memory the software is allowed to use. It will be ANDed with the actual memory configuration bitmask. The high order bit is bank 0; the low order bit is bank 15D.
/CSame as /I (below) except the remainder of the command line is ignored.
/IThe argument is the name of the image file to be executed. A file name with no switches has the same effect. Default name: Mesa; default extension: image.
/M[n]The argument is the name of a microcode file to be loaded into the RAM in packed ram format (cf. PackMu). This could be a different version of the Alto/Mesa microcode, or if you have Alto/Mesa microcode in ROM, you can have RunMesa load any other microcode for you. The M may be followed by a number (0-2) indicating which bank of RAM to load.
/XThe argument is a list of decimal memory bank numbers (separated by commas) which are to be excluded from use by the software. Equivalent to supplying a bit mask to /B with zeros in the indicated bits.
RunMesa rewrites Com.cm (if necessary) to remove itself and all other arguments and place the image file name first. An image file cannot tell whether it was invoked from the Executive or as an argument to RunMesa.
Front
Front.run is the part of RunMesa.run that loads the microcode and Mesa code. Front can be added to the front of an image file to turn it into a self-contained run file (e.g. Laurel.run). None of the options listed above are available with Front. Here are the steps to make a self-contained file:
1.Get Front.run from the same place you get RunMesa.run.
2. Run it by saying "Front" to the Executive. Make sure that the microcode version it prints out is the same as the one you usually get from RunMesa. This operation also insures that the image file will start at a page boundary in the file.
3.Concatenate Front.run and your image file by saying
Copy Foo.run ← Front.run Foo.image
to the Executive.
Make sure you have enough disk space when you start. Front adds about 35 pages to an image file.
Parameters passed via CallSubsys
Parameters can be passed to RunMesa and Front in the userParams parameter to the Alto OS CallSubsys operation (see Alto Operating System Reference Manual). Both RunMesa and Front will accept a memory bank restriction bitmask (as in the local /B switch) in a parameter of type privateType+10D. RunMesa will also accept a parameter of type openStreams with a stream on the desired image file already open (all command line processing is bypassed in this case). The Alto Executive uses this feature to speedup the entry into Mesa programs.