INITIA -- SYSTEM INITIALIZATION CUSP DETAILED DESIGN SPECIFICATION 100-310-039-00 Author: Peter Conklin Date: 16 August, 1985 File: INITIA.RNO%001 THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE. COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1970,1986. ALL RIGHTS RESERVED. INITIA SPECIFICATION 13-OCT-70 100-310-039-00 Page 2 OVERVIEW 1. OVERVIEW 1.1 FUNCTION: INITIA is a CUSP to perform certain standard job initialization functions when the PDP-10 monitor is restarted. It may also be invoked by a monitor command if a terminal needs to be reinitialized. 1.2 RELATION TO OTHER CUSPS: There is no direct relationship with other CUSPs, however, INITIA calls other CUSPs to start them for normal operation. 1.3 DESIGN GOALS 1.3.1 To simplify the operator's job of starting up the system, jobs which are always to be run should be started automatically. 1.3.2 To initialize certain devices automatically. For example, TAB stops should be set on the TERMINET-300. 1.4 REFERENCES SCNSER, Functional Specification (100-150-012-03). 2. GENERAL DESCRIPTION INITIA is tailored to each installation. Each time the system is started, INITIA is run automatically on certain TTYs (as determined by a bit in LINTAB). At any time later, INITIA may be run on any TTY by simply typing the monitor command "INITIA". When INITIA runs, it determines the TTY name and the APR serial number where it is being run and performs automatic initialization if needed. This initialization can include setting up TTY hardware and running a CUSP. If no CUSP is run, a startup message is typed out. 3. GLOSSARY APR serial number -- the DEC assigned serial number of the PDP-10 arithmetic processor. TTY -- a physical console. This might be a teletype or teletype-like device. TTY name -- the monitor assigned name of the TTY (eg, CTY or TTY21). 4. COMMAND 4.1 ASTERISK FORMAT: None INITIA SPECIFICATION 13-OCT-70 100-310-039-00 Page 3 COMMAND 4.2 MONITOR COMMAND FORMAT: There are no parameters. The only monitor command is ".INITIA". This may be typed at any time, but destroys the current core image. First, TTY setup is performed. If the job is not logged in, or is logged into the correct number, the proper CUSP is run (logged in if appropriate). 4.3 CCL ENTRY POINT: None 4.4 ALTERNATE ENTRIES: None 4.5 DIALOGUE MODE: None 4.6 HELP: None 5. ASSOCIATED (TTY) MESSAGES 5.1 If the system fails, the message "?Bomb Out" is issued. The location in INITIA is displayed in the lights. 5.2 If a CUSP is run, the name is typed to indicate to the operator what has been done, For example, if the print package is started, .R PRINTR is typed. 5.3 If no CUSP is started, the system startup message is typed consisting of the system header, the time of day, and the teletype name. For example, 5S0112C 12:43:26 CTY 6. LISTABLE OUTPUT None 7. FILE FORMATS None 8. ENVIRONMENTAL EFFECTS 8.1 The behavior is a function of which teletype the job is started on. Each installation can tailor INITIA for its own configuration since INITIA checks the APR serial number as well as the TTY name in order to determine its processing. The possible actions are: INITIA SPECIFICATION 13-OCT-70 100-310-039-00 Page 4 ENVIRONMENTAL EFFECTS 8.1.1 TTY setup: An optional sequence is provided to initialize the tabs on a GE TERMINET-300. This sequence sets carriage return as physical position 4 and tabs at 12, 20, 28, 36, 44, 52, 60, and 68. This allows room for hole punches. 8.1.2 Job setup. Optionally, one of the following may be started at each TTY. Additional CUSPS can easily be added. PRINTR under [1,2] the print spooler. CHKPNT under [1,2] to take accounting checkpoints. OMOUNT under [1,2] to process Mount and File requests. FILEX under [1,4] to save crashes (not recommended). SYSDPY not logged in to display status on Datapoint 3300. 8.1.3 Default startup table. If the APR serial number is not recognized, the following is started: TTY1 PRINTER under [1,2] TTY2 OMOUNT under [1,2] 9. CORE LAYOUT 9.1 INITIA is a one segment, non-sharable CUSP since it should not occupy swapping or table space after its use. It is coded with a pure section of code and tables followed by a short impure area. INITIA is 1K. 9.2. INITIA is table driven. First, INITIA checks the APR serial number against a table (APRTAB). This gives an index into a list of TTY names and operations (APRTBV). Each APR has two tables, a list of TTY names (TTn where n is the serial number), and Operations (JJn). The operations table gives the address of an ASCIZ string to be sent to the TTY in image mode (0 if none), and the address of a routine for special job processing (0 if none). These tables are all generated by macros. 10. GENERAL FLOW [INITIA] Initialize, determine if job logged in, find APR serial number and TTY name. If special TTY setup, send it. If special job setup required, go to specific routine. If none, [KJOB] send signon message and exit. [FILEX] log in as [1,4] set DSKB: as search list and run FILEX. INITIA SPECIFICATION 13-OCT-70 100-310-039-00 Page 5 GENERAL FLOW [OMOUNT], [CHKPNT], [PRINTR] log in as [1,2] and run cusp. [SYSDPY] run SYSDPY. 11. CRITICAL ALGORITHMS. None 12. MAINTENANCE AIDS If INITIA detects a monitor error, it types "?Bomb Out" and displays the relative location within INITIA in the console lights. 13. CODING TECHNIQUES INITIA is coded in MACRO-10 following the 5-series monitor editting conventions. Most scratch storage is in the ACs. 14. ASSEMBLY CONSIDERATIONS 14.1 INITIA.MAC should be edited for your configuration. Two additions are needed. First, add your APR's serial number to the list in the macro APR (page 4). Second, add a macro (page 5) SPnn (nn=serial number). Each line of the macro is Y, space, TTY name, comma, special processor, comma, TTY setup string, carriage return. 14.2 To load, type .LOAD INITIA then to save .SAVE DSK:INITIA 14.3 Place the file INITIA.SAV on SYS. 14.4 Include the INITIA bit in LINTAB in the monitor for all TTYs which are to be started.