Page Numbers: Yes X: 527 Y: 10.5" First Page: 1
Columns: 1 Edge Margin: .4" Between Columns: .4"
Margins: Top: 1.3" Bottom: 1"
Line Numbers: No Modulus: 5 Page-relative
Odd Heading:
Maxc OperationsIntroduction
Even Heading:
IntroductionMaxc Operations
1. INTRODUCTION
This document describes many of the commonly used procedures for Maxc operation, as well as a number of uncommon procedures used during system debugging and maintenance. Also included
are the complete operating instructions for several pieces of software written at PARC and unique to Maxc; these include Midas, NVIO, AltIO, DMPLD, and Micro-Exec.
"Maxc Operations" is intended primarily as a reference document for system personnel. However, in the absence of system personnel, any user should be able to restart Maxc from a Tenex crash using the procedure outlined in Section 2.
Conventions used in this document: In examples in which user typein is intermixed with machine typeout, the user typein is underlined. <cr>, <lf>, <sp>, and <esc> are used to stand for the carriage return, line feed, space, and escape keys.
All information is applicable to both Maxc1 and Maxc2 except where otherwise noted.
1.1 Overview of the Maxc System
From a user terminal, Maxc looks like a PDP-10 running the Tenex operating system. However, this is mostly an illusion. Maxc is really a PARC-constructed microprocessor which emulates the complete user-mode PDP-10 instruction set, as well as some privileged instructions, equivalents for the BBN pager operations, and an additional instruction set for Interlisp. The Tenex system has been considerably modified to account for the many differences between Maxc and a PDP-10, particularly in the area of input/output.
The system consists of the following major components:
A.The Maxc microprocessor itself. Besides performing PDP-10 emulation, Maxc also directly controls the disks.
B.A 384K-word by 48-bit MOS memory system, with hardware built in for correcting single-bit errors in any word and detecting (though not correcting) double errors.
C.Up to eight disk drives, each connected to its own controller inside Maxc.
D.The Maxc1 system includes a Data General Nova, which has all the other Maxc peripherals connected to it, including a data line scanner (DLS), two magtape controllers with a total of three drives (all 9-track), the IMP interface supporting Maxc’s connection to the ARPA Network, and two MCA interfaces and one Ethernet interface supporting connections to all Novas and Altos at PARC. The Maxc2 system’s I/O controller is an Alto, which provides Maxc access to the Alto’s own monitor, a Diablo printer, and the Ethernet. All other devices are accessed through the Ethernet.
The Nova or Alto also performs a number of other important functions relating to system initialization and debugging. It has direct access to Maxc’s main memory (through a separate memory port) and indirect access to all of the internal microprocessor registers and memories. It can load microcode into Maxc’s writable control store, and can command Maxc to start and stop execution, single step, and perform a number of other useful operations.
The Maxc system operates under the control of a large complex of support software, most of which is described in this document. These programs are described here, in approximately the order they would be used if one were to bring up the system from scratch.
When first booted from switches, Maxc1’s Nova runs under the control of DOS, the Data General Disk Operating System, which is described in the pertinent Data General documentation. The Nova has its own Diablo moving-head disk, used for storage of Nova system programs and other important files such as the Maxc microcode.1 DOS is also able to perform I/O to magtape unit 0 (the one directly over the Nova itself).
Assuming the necessary files have been loaded onto the Nova disk, the next program to be run is Midas. Midas is the loader and debugger for Maxc microprograms. It has a large number of commands for examining and changing microprocessor registers and memories and for starting, stopping, and single-stepping the microprocessor. Most of its capabilities are used only during debugging; in the normal course of events, it is used only to load the PDP¿-10 microcode into Maxc, and it then passes control to NVIO.
NVIO is the program in control of the Nova while Tenex is running on Maxc, and contains all the necessary I/O drivers for communicating between Maxc and the peripherals connected to the Nova. NVIO also has a command decoder, by means of which the operator may examine and change memory, start and stop the Maxc microprocessor, and perform a number of other operations.
One important NVIO operation is to boot into Maxc main memory and start a PDP¿-10 program called Micro-Exec. Micro-Exec has commands for performing a large variety of stand-alone Maxc operations, such as setting up the disk configuration, copying disk packs, and (most important) loading Tenex from disk and starting it.
The system software organization for Maxc2 is very similar. The Alto runs the standard Alto operating system and has a number of the usual Alto subsystems on its disk. An Alto version of Midas exists that functions similarly to the Maxc1 Nova version, but whose user interface is somewhat different. The Alto equivalent of NVIO is called AltIO. Micro-Exec and Tenex are the same for both systems, since they run in Maxc itself rather than in its I/O controller.
Most of the rest of this document is devoted to explaining the above operations in much more detail.
1.2.A Word on Terminals and Consoles
Maxc1: The Nova’s controlling terminal is an Infoton display. The Maxc controlling terminal (used by Tenex and by stand-alone programs such as Micro-Exec) is the TI-700 terminal to the right of the Infoton. The Maxc log is another TI-700 off in a corner.
------------------------------
1This disk is not used during normal Tenex operation.
Maxc2: The Alto’s controlling terminal is, of course, the monitor labelled "Maxc2 Alto". When the Alto is running the control program AltIO, the display is split into two main windows. The upper window is the command window for AltIO itself, whereas the lower window is the emulated Maxc controlling terminal, which serves the same purpose as the Maxc1 console TI-700. Keyboard input is directed to the window in which the blinking cursor appears; this may be changed by striking the middle or bottom unmarked key on the right side of the keyboard. The Maxc log is a Diablo printer.
Note: Subsequent sections discuss commands that you may have to type to various systems. If you screw up, the following table gives standard conventions for deleting the previous character or previous command typed:
Delete CharDelete Command
Maxc1DOSRUBOUTAc
MidasRUBOUTnone
NVIOnoneRUBOUT
Maxc2ExecutiveBS or AcDEL
MidasBS or AcDEL
AltIOBS or AcDEL
The other TI-700 terminals in the room are connected to the Alto DLS, which is not directly a part of either Maxc system.