mirror of
https://github.com/PDP-10/stacken.git
synced 2026-03-07 11:17:06 +00:00
258 lines
8.1 KiB
Plaintext
258 lines
8.1 KiB
Plaintext
.;EDITED %001 (-00) 13-OCT-70/PFC
|
||
.;WRITTEN %000 6-OCT-70/PFC
|
||
.TITLE ^^INITIA SPECIFICATION 13-OCT-70 100-310-039-00
|
||
.SKIP 5
|
||
.SPACING 1
|
||
.CENTER
|
||
INITIA -- SYSTEM INITIALIZATION CUSP
|
||
.CENTER
|
||
DETAILED DESIGN SPECIFICATION
|
||
.CENTER
|
||
100-310-039-00\\
|
||
.SKIP 1
|
||
.INDENT 29
|
||
^AUTHOR: ^PETER ^CONKLIN
|
||
.INDENT 31
|
||
^DATE: 13 ^OCTOBER, 1970
|
||
.INDENT 31
|
||
^FILE: ^^INITIA.RNO%001\\
|
||
.SKIP 5
|
||
.LEFT MARGIN 5
|
||
.RIGHT MARGIN 55
|
||
^THE INFORMATION IN THIS MEMORANDUM
|
||
IS SUBJECT TO CHANGE
|
||
WITHOUT NOTICE AND SHOULD NOT
|
||
BE CONSTRUED AS A COMMITMENT
|
||
BY ^DIGITAL ^EQUIPMENT ^CORPORATION.
|
||
.LEFT MARGIN 0
|
||
.RIGHT MARGIN 60
|
||
.SUBTITLE ^^OVERVIEW
|
||
.PAGE
|
||
.CENTER
|
||
1.#OVERVIEW\\
|
||
.PARAGRAPH
|
||
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.
|
||
.PARAGRAPH
|
||
1.2 ^^RELATION TO OTHER CUSPS:\\ ^THERE IS NO DIRECT RELATIONSHIP WITH
|
||
OTHER ^^CUSP\\S, HOWEVER, ^^INITIA\\ CALLS OTHER ^C^U^S^PS TO START THEM
|
||
FOR NORMAL OPERATION.
|
||
.PARAGRAPH
|
||
1.3 ^^DESIGN GOALS\\
|
||
.BREAK
|
||
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.
|
||
.BREAK
|
||
1.3.2 ^TO INITIALIZE CERTAIN DEVICES AUTOMATICALLY. ^FOR EXAMPLE,
|
||
^^TAB\\ STOPS SHOULD BE SET ON THE ^^TERMINET\\-300.
|
||
.PARAGRAPH
|
||
1.4 ^^REFERENCES
|
||
SCNSER, F\\UNCTIONAL ^SPECIFICATION (100-150-012-03).
|
||
.SUBTITLE ^^GENERAL DESCRIPTION
|
||
.SKIP 2
|
||
.CENTER
|
||
2.#GENERAL DESCRIPTION\\
|
||
.PARAGRAPH
|
||
^^INITIA\\ IS TAILORED TO EACH INSTALLATION. ^EACH TIME THE
|
||
SYSTEM IS STARTED, ^^INITIA\\ IS RUN AUTOMATICALLY ON CERTAIN
|
||
^^TTY\\S (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\\".
|
||
.PARAGRAPH
|
||
^WHEN ^^INITIA\\ RUNS, IT DETERMINES THE ^^TTY\\ NAME AND THE ^A^P^R 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 ^C^U^S^P IS RUN, A
|
||
STARTUP MESSAGE IS TYPED OUT.
|
||
.SUBTITLE ^^GLOSSARY\\
|
||
.SKIP 2
|
||
.CENTER
|
||
3.#^^GLOSSARY\\
|
||
.SKIP 1
|
||
.LEFT MARGIN 5
|
||
.INDENT -5
|
||
^A^P^R SERIAL NUMBER -- THE ^D^E^C ASSIGNED SERIAL NUMBER OF THE ^P^D^P-10 ARITHMETIC PROCESSOR.
|
||
.INDENT -5
|
||
^^TTY\\ -- A PHYSICAL CONSOLE. ^THIS MIGHT BE A TELETYPE OR TELETYPE-LIKE DEVICE.
|
||
.INDENT -5
|
||
^^TTY\\ NAME -- THE MONITOR ASSIGNED NAME OF THE ^^TTY\\ (EG,
|
||
^^CTY\\ OR ^^TTY\\21).
|
||
.LEFT MARGIN 0
|
||
.SUBTITLE ^^COMMAND\\
|
||
.SKIP 2
|
||
.CENTER
|
||
4.#^^COMMAND\\
|
||
.PARAGRAPH
|
||
4.1 ^^ASTERISK FORMAT: N\\ONE
|
||
.PARAGRAPH
|
||
4.2 ^^MONITOR COMMAND FORMAT: T\\HERE 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).
|
||
.PARAGRAPH
|
||
4.3 ^^CCL ENTRY POINT: N\\ONE
|
||
.PARAGRAPH
|
||
4.4 ^^ALTERNATE ENTRIES: N\\ONE
|
||
.PARAGRAPH
|
||
4.5 ^^DIALOGUE MODE: N\\ONE
|
||
.PARAGRAPH
|
||
4.6 ^^HELP: N\\ONE
|
||
.SUBTITLE ^^ASSOCIATED (TTY) MESSAGES\\
|
||
.SKIP 2
|
||
.CENTER
|
||
5.#^^ASSOCIATED (TTY) MESSAGES\\
|
||
.PARAGRAPH
|
||
5.1 ^IF THE SYSTEM FAILS, THE MESSAGE "?^BOMB ^OUT" IS ISSUED. ^THE
|
||
LOCATION IN ^^INITIA\\ IS DISPLAYED IN THE LIGHTS.
|
||
.PARAGRAPH
|
||
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,
|
||
.INDENT 10
|
||
^^.R PRINTR\\
|
||
.BREAK
|
||
IS TYPED.
|
||
.PARAGRAPH
|
||
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,
|
||
.INDENT 10
|
||
5^S0112^C 12:43:26 ^^CTY\\
|
||
.SUBTITLE ^^LISTABLE OUTPUT\\
|
||
.SKIP 2
|
||
.CENTER
|
||
6.#^^LISTABLE OUTPUT\\
|
||
.PARAGRAPH
|
||
^NONE
|
||
.SUBTITLE ^^FILE FORMATS\\
|
||
.SKIP 2
|
||
.CENTER
|
||
7.#^^FILE FORMATS\\
|
||
.PARAGRAPH
|
||
^NONE
|
||
.SUBTITLE ^^ENVIRONMENTAL EFFECTS\\
|
||
.SKIP 2
|
||
.CENTER
|
||
8.#^^ENVIRONMENTAL EFFECTS\\
|
||
.PARAGRAPH
|
||
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:
|
||
.PARAGRAPH
|
||
8.1.1 ^^TTY\\ SETUP:
|
||
.BREAK
|
||
^AN OPTIONAL SEQUENCE IS PROVIDED TO INITIALIZE THE
|
||
TABS ON A ^G^E ^^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.
|
||
|
||
.PARAGRAPH
|
||
8.1.2 ^JOB SETUP.
|
||
.BREAK
|
||
^OPTIONALLY, ONE OF THE FOLLOWING MAY BE STARTED AT EACH
|
||
^^TTY\\. ^ADDITIONAL ^^CUSPS\\ CAN EASILY BE ADDED.
|
||
.LEFT MARGIN 20
|
||
.INDENT -10
|
||
^^PRINTR\\ UNDER [1,2] THE PRINT SPOOLER.
|
||
.INDENT -10
|
||
^^CHKPNT\\ UNDER [1,2] TO TAKE ACCOUNTING CHECKPOINTS.
|
||
.INDENT -10
|
||
^^OMOUNT\\ UNDER [1,2] TO PROCESS ^MOUNT AND ^FILE REQUESTS.
|
||
.INDENT -10
|
||
^^FILEX\\ UNDER [1,4] TO SAVE CRASHES (NOT RECOMMENDED).
|
||
.INDENT -10
|
||
^^SYSDPY\\ NOT LOGGED IN TO DISPLAY STATUS ON ^DATAPOINT 3300.
|
||
.LEFT MARGIN 0
|
||
.PARAGRAPH
|
||
8.1.3 ^DEFAULT STARTUP TABLE.
|
||
^IF THE ^A^P^R SERIAL NUMBER IS NOT RECOGNIZED, THE FOLLOWING
|
||
IS STARTED:
|
||
.INDENT 10
|
||
^^TTY\\1###^^PRINTER\\ UNDER [1,2]
|
||
.INDENT 10
|
||
^^TTY2###OMOUNT\\ UNDER [1,2]
|
||
.SUBTITLE ^^CORE LAYOUT
|
||
.SKIP 2
|
||
.CENTER
|
||
9.#CORE LAYOUT
|
||
.PARAGRAPH
|
||
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 1^K.
|
||
.PARAGRAPH
|
||
9.2. ^^INITIA\\ IS TABLE DRIVEN. ^FIRST, ^^INITIA \\ CHECKS
|
||
THE ^^APR\\ SERIAL NUMBER AGAINST A TABLE (^^APRTAB). T\\HIS
|
||
GIVES AN INDEX INTO A LIST OF ^^TTY\\ NAMES AND OPERATIONS
|
||
(^^APRTBV). E\\ACH ^^APR\\ HAS TWO TABLES, A LIST OF ^^TTY\\
|
||
NAMES (^T^TN WHERE N IS THE SERIAL NUMBER), AND ^OPERATIONS (^J^JN).
|
||
^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.
|
||
.SUBTITLE ^^GENERAL FLOW
|
||
.SKIP 2
|
||
.CENTER
|
||
10.#GENERAL FLOW
|
||
.SKIP 1
|
||
[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.
|
||
.BREAK
|
||
[^^FILEX\\] LOG IN AS [1,4] SET ^^DSKB\\: AS SEARCH LIST AND RUN
|
||
^^FILEX.
|
||
.BREAK
|
||
[^^OMOUNT], [CHKPNT], [PRINTR]\\ LOG IN AS [1,2] AND RUN CUSP.
|
||
.BREAK
|
||
[^^SYSDPY]\\ RUN ^^SYSDPY\\.
|
||
.SUBTITLE ^^CRITICAL ALGORITHMS
|
||
.SKIP 2
|
||
.CENTER
|
||
11.#CRITICAL ALGORITHMS.\\
|
||
.PARAGRAPH
|
||
^NONE
|
||
.SUBTITLE ^^MAINTENANCE AIDS
|
||
.SKIP 2
|
||
.CENTER
|
||
12.#MAINTENANCE AIDS\\
|
||
.PARAGRAPH
|
||
^IF ^^INITIA\\ DETECTS A MONITOR ERROR, IT TYPES "?^BOMB ^OUT" AND DISPLAYS
|
||
THE RELATIVE LOCATION WITHIN ^^INITIA\\ IN THE CONSOLE LIGHTS.
|
||
.SUBTITLE ^^CODING TECHNIQUES
|
||
.SKIP 2
|
||
.CENTER
|
||
13.#CODING TECHNIQUES\\
|
||
.PARAGRAPH
|
||
^^INITIA\\ IS CODED IN ^^MACRO\\-10 FOLLOWING THE 5-SERIES MONITOR
|
||
EDITTING CONVENTIONS. ^MOST SCRATCH STORAGE IS IN THE ^A^CS.
|
||
.SUBTITLE ^^ASSEMBLY CONSIDERATIONS
|
||
.SKIP 2
|
||
.CENTER
|
||
14.#ASSEMBLY CONSIDERATIONS\\
|
||
.PARAGRAPH
|
||
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) ^S^PNN (NN=SERIAL NUMBER). ^EACH LINE OF THE MACRO IS ^Y, SPACE,
|
||
^^TTY\\ NAME, COMMA, SPECIAL PROCESSOR, COMMA, ^^TTY\\ SETUP STRING, CARRIAGE RETURN.
|
||
.PARAGRAPH
|
||
14.2 ^TO LOAD, TYPE
|
||
.INDENT 10
|
||
^^.LOAD INITIA\\
|
||
.BREAK
|
||
THEN TO SAVE
|
||
.INDENT 10
|
||
^^.SAVE DSK:INITIA\\
|
||
.PARAGRAPH
|
||
14.3 ^PLACE THE FILE ^^INITIA.SAV \\ON ^^SYS.\\
|
||
.PARAGRAPH
|
||
14.4 ^INCLUDE THE ^^INITIA \\BIT IN ^^LINTAB \\IN THE MONITOR FOR
|
||
ALL ^^TTY\\S WHICH ARE TO BE STARTED.
|
||
|