.ps 60,75 ####### .s6 .c ;UNIVERSITY OF YORK .s2 .c ;DEPARTMENT OF COMPUTER SCIENCE .s3 .c ;^&MIC\& .s2 .c ;Installation and Maintenance Guide .s2 .c ;Edition 1.4 .s .c;(Version 11C(1223) of MIC) .s2 .c;April 1983 .s4 .c ;Author: J D Service .s4.lm 15.rm 60 This document is an attempt to describe how a systems programmer may maintain the MIC program and tailor it to local requirements. .lm 0.rm 75 .ch Introduction MIC the Macro Interpreted Command system for the DECsystem-10 was written at the Hatfield Polytechnic from 1972 onwards by Pete Henry, Fred Brown and latterly myself. .s The MIC package was originally distributed by the Hatfield Polytechnic but with the 6.03 release of TOPS-10 the monitor support for MIC was included in the standard monitor and the current version of MIC and its documentation was included on the monitor tape. Though the monitor code was now supported by DEC the MIC program was not. It was given Category C support and has been supported in an ad hoc fashion by me. .s With the 7.01 release of TOPS-10 MIC and the MIC documentation was released with the monitor and both these and the monitor code were roughly correct. Some errors existed in the monitor code and corrections to these have now been published in SPR's. .ch Tailoring MIC to your requirements MIC is a very complex piece of software which has gone through many iterations and can now exist in several forms. In order that some maintenance is possible all the relevant code is defined in feature tests and an installation is required to set these to their own requirements. .s .lm 8.i -8 Note:-##Anyone adding enhancements to MIC is advised to include the enhancements in a new feature test as it makes updating the source so much easier, and if the enhancement is a good one why not tell me. .lm 0 .HL 1 MIC feature tests This section describes all the MIC feature tests and options that may be used to tailor MIC. As all of these feature tests are defined using IFNDEF conditionals, a simple way to redefine them is to create yourself a MICPRM.MAC file which simply contains your settings of these feature tests. Then simply assemble the MICPRM.MAC file immediately before MIC.MAC. .s2 The following sections are titled as .s.nf Feature name - short description - default value .f .HL2 FTMBCH - MIC BATCH - OFF This feature test controls the code to allow MIC to support the MIC BATCH system. This system, which was written at Hatfield, uses MIC as its BATCON equivalent and supports such features as user definable dollar cards in SPRINT MIC BATCH which is described in the Proceedings of the 1976 DECUS Europe Symposium. .HL2 FTCOSMIC - COSMIC-10 BATCH - OFF The later version of MIC BATCH. .HL 2 FTCJOB - COJOBS - ON Include support for COJOBS, the MIC concurrent job facility. .HL 2 FTGALA - GALAXY MODS - ON Include support for COJOBS under GALAXY as opposed to MPB. .HL2 FTSUPR - supervision libraries - ON When MIC cannot find a MACRO file on your disk area, it searches your supervisory area [Your Project,1] for the Macro before searching ersatz device MIC. .HL 2 FTMSFD - MIC SFD - ON When MIC cannot find a MACRO file on your disk area it searches your MIC SFD [Your PPN,MIC] before searching your supervisory area or ersatz device MIC. .HL 2 FTOPR - MIC OPR command - OFF Use MIC to send messages to the system operator, never used. .HL2 FTPSI - Software interrupts - ON Use the software interrupt system to trap errors, clean up, and restart MIC. .HL2 FTPATH - Path support - ON Support for SFD's. .HL2 FTDDT - Debugging support - OFF Enables the user to build a debugging version of MIC, see next chapter. .HL2 FTHATF - Hatfield features - OFF Include options peculiar to Hatfield. .HL2 FTBHIV - Beehive terminal - OFF Include support for flashy Beehive VDU used as CTY at Hatfield - gives fancy STATUS output. .HL 2 FTCASE - Inverted case - OFF Change the default of MIC SET LC to be MIC SET NO LC, and include the MIC SET CASE command. .HL 2 SFDLVL - Sub file nesting - 6 This parameter controls the maximum level of nesting of Sub File Directories. This requires FTPATH to be on. .HL 2 IMXLVL - Nesting \of Processes - 25 This parameter controls the maximum level of nesting of MIC processes. The value may be changed dynamically by the operators using a "MIC SET MAXLVL n" command. .HL 2 ICJREQ - Cojobs required - 4 This parameter defines the maximum number of COJOBS available when MIC starts running. This value may be changed dynamically by the operators using a "MIC SET CJREQ n" command. .HL2 FTOALT - Old Style Altmodes - OFF MIC used to recognise the three altmodes 31 octal, 175 octal and 176 octal, which was annoying as the Scandinavian character set used 175 and 176 as special characters. This code has now been turned off by this feature test. .HL2 FTCLASS - Class Schedular Stuff - OFF Include the code that allows a switch to the COJOB command to select which class the COJOB will run in. .HL2FTCHARGE - Charge Accounting Stuff - OFF Include code for charge accounting just for DEC-ISG. .HL2 FTTASK - More Account Stuff - OFF As FTCHARGE. .HL2 FTTSG - TSG Hacks - OFF Include some DEC-ISG special features. .HL2 FTNIH - NIH features - OFF This feature test is used to define some special bits and pieces from the use of the US National Institutes of Health. .ch Debugging MIC with DDT This chapter describes how to build a single user version of MIC which has DDT loaded and which can be used under timesharing without affecting the system version of MIC. .HL 1 Assembling single user MIC MIC must be re-assembled if it is intended to load it with DDT, and the feature test FTDDT must be turned on. There is no need to edit MIC to do this as FTDDT is set to zero using an IFNDEF. Therefore a way to assemble MIC is:- .s.nf &.R MACRO &*MIC, MIC/CRF = TTY:, DSK:MIC.MAC FTDDT == -1 _^Z _^Z .s.f Obviously the FTDDT could be put in a file or possibly a MIC macro could be used. .HL 1 Loading MIC with DDT As both the high and low segments of MIC are dynamic we must link MIC with DDT in such a way that DDT and the SYMBOL table are loaded before MIC, and that both are in the high segment. .s The way to do this is:- .s.nf &.R LINK &*/SYMSEG:HIGH &*/DEBUG &*/PATCHSIZE:7000 &*MIC.REL &*/GO _^Z &.SSAVE MIC ; (NB Name must be MIC!!) .tp 15 .tp 10 .HL 1 Running MIC with DDT The MIC you have now created may be run for a single PPN by the following technique .s.nf &.R SETSRC &*SYS &*_^Z &.ASSIGN DSK SYS &.R MIC ; this will run your MIC .s.f This procedure defines your disk area as SYS and adds real SYS as an area to be searched if it cannot find any programs on your disk area. .s The copy of MIC that you have now started will remain attached to your TTY and any operator messages which this MIC may need to output will be directed to your TTY. .HL 1 Testing MIC files To run MIC files under your single user version of MIC, log in on another terminal and:- .s.nf _.R SETSRC &*SYS *_^Z _.ASSIGN DSK SYS .s.f Any MIC files you now run will use the special MIC, not the system version and as your terminals are, hopefully, side-by-side you may debug MIC. .s .lm 8.i -8 Note:-##It is very easy to get confused which MIC you are running under so it is always as well to change the version number of MIC and check it by .s.nf &.MIC ; no argument necessary &.VERSION .s.f Another useful check is to use the "MIC STATUS" command to type out the status of the MIC that you are associated with - this types out a helpful text to indicate that it is running with DDT. I always make sure that a file MIC:MIC.MIC exists which contains simply:- .s.nf _.VERSION _.MIC STATUS .s.f It has proved to be useful on many occasions. .lm 0