IDENT MREC,ORIG
ABS
SST RECM
ENTRY MREC
ENTRY RFL=
ENTRY SSJ=
ENTRY UTL=
SYSCOM B1
*COMMENT MREC - MACHINE RECOVERY UTILITY.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
TITLE MREC - MACHINE RECOVERY UTILITY.
SPACE 4
*** MREC - MACHINE RECOVERY UTILITY.
* R. J. PRIEVE. 75/02/14.
* J. M. MAREK. 84/09/25.
SPACE 4
*** MREC CLEARS INTERLOCKS AND RELEASES MASS STORAGE
* SPACE OF MACHINES THAT HAVE GONE DOWN IN A MULTI-
* MAINFRAME ENVIRONMENT. THIS SPACE MAY THEN BE
* UTILIZED BY REMAINING MACHINES SHARING THE DEVICE(S).
*
* *MREC* INTERFACES WITH OPERATOR VIA THE K-DISPLAY.
* IT WILL DISPLAY THE STATUS OF ALL DEVICES THIS MACHINE
* IS SHARING AND THE MID(S) OF OTHER MACHINES WITH
* WHICH IT IS SHARING THEM. IT IS POSSIBLE TO BRING
* UP THIS DISPLAY TO OBSERVE THE STATUS OF SHARED DEVICES
* AND NOT DO ANY PROCESSING. TO DO THIS ENTER *MREC.* AND
* BRING UP THE K-DISPLAY. TYPE *STOP* TO END PROGRAM IF NO
* RECOVERY IS DESIRED. IF RECOVERY OF A DOWNED MACHINE IS
* DESIRED, ENTER PARAMETERS AND TYPE *GO*.
SPACE 4
*** COMMAND.
*
* MREC.
* MREC(ID=MID,EQ=E1,E2,...,EN)
*
* ID - MACHINE ID OF DOWNED MACHINE TO PROCESS.
* THIS PARAMETER MUST BE ENTERED.
*
* EQ - EST ORDINALS OF DEVICES TO PROCESS. IF *EQ=ALL*
* IS ENTERED, ALL DEVICES SHARED BETWEEN THIS MACHINE
* AND DOWNED MACHINE WILL BE PROCESSED. DEFAULT = *ALL*.
*
* OP=R AND OP=I ARE PARAMETERS WHICH CAN ONLY BE
* ENTERED VIA THE K-DISPLAY, AND THEN ONLY IF A UNIT
* OR CONTROLLER RESERVE SITUATION OCCURS.
* *OP=R* WILL DIRECT *1MR* TO RELEASE ALL UNIT
* RESERVATIONS (844-N) FOR DEVICE BEING RECOVERED.
* IS IT RECOMMENDED THAT MACHINES ACCESSING THE
* DEVICE FROM THE OPPOSITE SIDE OF THE CONTROLLER THAN
* THIS MACHINE BE IDLED BEFORE ENTERING THIS PARAMETER.
* *OP=I* WILL DIRECT *1MR* TO IGNORE THE DEVICE.
* THE MRT AND DAT WILL STILL BE PROCESSED, BUT NO
* ATTEMPT WILL BE MADE TO CLEAN UP SYSTEM SECTORS
* OF DIRECT ACCESS FILES ON THE DEVICE.
* SEE THE DISCUSSION FOLLOWING *EQXXX, UNIT RESERVED.*
* ERROR MESSAGE FOR ADDITIONAL INFORMATION.
*
*
* IF MREC. IS ENTERED FROM THE CONSOLE, PARAMETERS AND
* COMMANDS MAY BE ENTERED VIA THE K-DISPLAY.
*
* K-DISPLAY COMMANDS.
*
* *GO* - INITIATE PROCESSING OF MACHINE AND DEVICES SPECIFIED.
*
* *RERUN* - RE-INITIALIZE THE K-DISPLAY AND RERUN
* THE PROGRAM. PARAMETERS MUST BE REENTERED.
*
* *STOP* - TERMINATE THE PROGRAM.
*
* *+* - PAGE THE LEFT DISPLAY FORWARD OR FROM THE LAST PAGE
* TO THE FIRST ONE.
*
* *-* - PAGE THE LEFT DISPLAY BACK TO THE FIRST PAGE.
*
* *(* - PAGE THE RIGHT DISPLAY FORWARD.
*
* *)* - PAGE THE RIGHT DISPLAY BACKWARD.
*
* IF PARAMETERS ARE SPECIFIED ON THE COMMAND,
* THE PROGRAM WILL AUTOMATICALLY *GO* IF ALL PARAMETERS
* ARE IN CORRECT FORMAT AND WILL *STOP* UPON SUCCESSFUL
* COMPLETION. IF AN ERROR OCCURS, THE ERROR MESSAGE WILL
* APPEAR ON THE K-DISPLAY AND IT WILL THEN BE THE OPERATOR-S
* RESPONSIBILITY TO REENTER PARAMETERS CORRECTLY AND TYPE
* *GO* AND *STOP*.
*
*
*
* TERMINOLOGY.
*
* *MID* - MACHINE ID.
*
* *THIS MACHINE* - MACHINE WHICH *MREC* IS BEING RUN ON.
SPACE 4
*** DAYFILE MESSAGES.
*
* * NO SHARED DEVICES FOR THIS MACHINE.* - THIS
* MACHINE IS NOT SHARING ANY DEVICES AND THEREFORE
* COULD NOT ACCESS ANY DEVICES FOR A DOWNED MACHINE.
*
* * INCORRECT ORIGIN TYPE.* - MUST BE SYSTEM ORIGIN
* TO RUN THIS PROGRAM.
*
* * MREC ABNORMAL TERMINATION.* - ERROR CONDITION OCCURRED WHICH
* CAUSED *EREXIT* PROCESSING TO OCCUR.
*
* * PROCESSING COMPLETE.* - THIS MESSAGE IS INFORMATIVE
* AND ALSO GOES TO THE K-DISPLAY.
SPACE 4
*** OPERATOR ERROR MESSAGES. (K-DISPLAY ONLY)
*
* *INCORRECT ENTRY.* - PARAMETER ENTERED IS INCORRECT.
* REENTER CORRETLY.
*
* *INCORRECT FORMAT FOR MID.* - MACHINE ID ENTERED
* WAS NOT 2 CHARACHTERS OR WAS NOT ALPHANUMERIC.
* CORRECT AND REENTER.
*
* *INCORRECT FORMAT FOR EQ ENTRY.* - ERROR IN ENTERING
* OF *EQ* PARAMETER. CORRECT AND REENTER.
*
* *MID SPECIFIED NOT DOWN.* - MACHINE ID WHICH WAS
* SPECIFIED WAS NOT DETERMINED TO BE DOWN. REENTER
* CORRECTLY OR TYPE *STOP*.
*
* *MID SPECIFIED NOT FOUND.* - MACHINE IS WHICH WAS
* SPECIFIED IS NOT DEFINED IN THE COMPLEX. REENTER
* CORRECTLY OR TYPE *STOP*.
*
* *MID NOT SPECIFIED.* - MID OF MACHINE TO PROCESS MUST
* BE ENTERED. THEN TYPE *GO*.
*
* * LINK DEVICE READ ERROR.* - UNRECOVERABLE ERROR OCCURRED
* WHEN ATTEMPTING TO READ LINK DEVICE. ONLY ENTRIES
* ACCEPTED AFTER THIS ERROR ARE *STOP* OR *RERUN*.
* (MESSAGE ALSO GOES TO DAYFILE.)
*
* * LINK DEVICE WRITE ERROR.* - UNRECOVERABLE ERROR OCCURRED
* WHEN ATTEMPTING TO WRITE LINK DEVICE. ONLY ENTRIES
* ACCEPTED AFTER THIS ERROR ARE *STOP* OR *RERUN*.
* (MESSAGE ALSO GOES TO DAYFILE.)
*
* * EQXXX, CHXX, CONTROLLER RESERVED.*
* CONTROLLER RESERVES MAY BE CLEARED BY HITTING THE
* DEADSTART BUTTON ON THE DOWNED MACHINE. ONCE THE
* CORRECTIVE ACTION HAS BEEN TAKEN, TYPE *GO* TO RESUME
* PROCESSING.
*
* * EQXXX, UNXX, UNIT RESERVED.*
* UNIT RESERVES MAY BE CLEARED ON 885 UNITS BY HITTING
* THE DEADSTART BUTTON ON THE DOWNED MACHINE.
* UNIT RESERVES MAY BE CLEARED ON 844 AND 841 DEVICES BY
* TOGGLING THE DEVICE OFF LINE AND BACK ON LINE VIA A SWITCH
* IN BACK OF THE DRIVE. IF THIS IS IMPOSSIBLE THE *OP=R*
* OPTION MAY BE SELECTED FOR 844 DEVICES. THIS OPTION
* MUST BE USED WITH DISCRETION SINCE IT AFFECTS THE
* OPERATION OF ALL DRIVES CONNECTED TO THE CONTROLLERS
* ACCESSING THE DRIVE WITH THE UNIT RESERVED. SPECIFICALLY
* THE USE OF *OP=R* MAY CAUSE UNRECOVERABLE DISK ERRORS
* ON ANY SUCH DRIVE.
*
* ONCE THE CORRECT ACTION HAS BEEN TAKEN, TYPE *GO* TO
* RESUME PROCESSING. IF THE RESERVE IS STILL NOT CLEARED,
* THE OPERATOR WILL AGAIN BE NOTIFIED, IN WHICH CASE HE CAN
* REPEAT THE PROCEDURE TO CLEAR THE RESERVE.
*
* *INCORRECT OPTION.* - INCORRECT OPTION ENTERED ON THE
* *OP* PARAMETER.
*
* *INCORRECT EQUIPMENT.* - *OP=R* MAY ONLY BE ENTERED FOR
* 844-N DEVICES.
SPACE 4,20
*** K-DISPLAY FORMAT.
*
* 1 2 3 4 5 6
* 1234567890123456789012345678901234567890123456789012345678901234
* MACHINE RECOVERY UTILITY PAGE 1 OF 99
*
* EQ TYPE UN DN FM/PN MIDS SHARING DEVICE
* --- ---- -- -- ------- -------------------------------
* 6 DJ 0 40 PACK001 11 22* 33 44 55 66
* 7 DJ-4 1 41 PACK002 22* 33
* 111 DQ 40 40 FAMILY1 11 22*
*
*
* ID OF DOWNED MACHINE = XX
* EQ(S) TO RECOVER = ALL
*
* MESSAGE LINE
* KEYBOARD INPUT LINE
TITLE COMMON DECKS, MACROS, AND MICROS.
*CALL COMCMAC
*CALL COMCDCM
QUAL MMF
*CALL COMSMMF
QUAL *
MMPF EQU /MMF/MMPF DEFINE TAG FOR *COMSMRT*
MXMF EQU /MMF/MXMF
QUAL MRT
*CALL COMSMRT
QUAL *
*CALL COMSPRD
*CALL COMSSSD
*CALL COMSSSJ
SPACE 4
*** MWORDS - MOVE N WORDS.
*
* MWORDS FROM,TO,COUNT
*
* FROM ADDRESS TO GET DATA FROM.
* TO ADDRESS TO MOVE DATA TO.
* COUNT NUMBER OF WORDS TO MOVE. (IF NOT SPECIFIED,
* DEFAULT = 3.)
PURGMAC MWORDS
MWORDS MACRO F,T,C
SB2 F
SB3 T
IFC EQ,$C$$
SB4 3
ELSE 1
SB4 C
RJ MWD
ENDM
SPACE 4
*** BITCON - SET BIT CONSTANT.
*
* BITCON P
*
* WHERE P = (P1, P2, ..., PN)
* WITH P1 - PN = BIT NUMBER TO SET IN WORD.
PURGMAC BITCON
BITCON MACRO P
LOCAL A,B
A MICRO 1,,
IRP P
B DECMIC P
A MICRO 1,, "A"+1S"B"
IRP
CON "A"
ENDM
MICROS SPACE 4,10
** MICROS.
30BLANKS MICRO 1,30,$ $
40BLANKS MICRO 1,40,$"30BLANKS" $
50BLANKS MICRO 1,50,$"40BLANKS" $
60BLANKS MICRO 1,60,$"50BLANKS" $
TITLE CONSTANTS, EQUIVALENCES, AND TEMPORARY STORAGE.
ORG 106B
ORIG BSS 0
SSJ= VFD 12/0,24/-0,12/MRCS,12/IRSI
BSSZ SSJL-1
* ASSEMBLY CONSTANTS.
MSTBL EQU MSTXL LENGTH OF MST BUFFER
PARML EQU 62B LENGTH OF PARAMETER AREA
PAGLN EQU 12 NUMBER OF K-DISPLAY EQUIPMENT ENTRIES
LLEN EQU 7 NUMBER OF WORDS IN K-DISPLAY LINE
UTL= EQU 0 PERMIT ACCESS TO A SUSPECT DEVICE
* LOW CORE READ STATUS WORDS.
RESP VFD 12/0,12/1,18/ESTP,18/ESTF EST POINTER
RMMF VFD 12/0,12/1,18/MMFL,18/MMFP *MMFL* WORD
RMST VFD 12/0,12/MSTBL,18/0,18/MSTB MST
RDIT VFD 12/0,12//MMF/MMPF,18/0,18/SCRB DIT
* *1MR* CONTROL.
REQW BSS 1 REQUEST WORD
RDIW VFD 18/3R1MR,6/0,18//MRT/RDI,18/TSDV
PMTW VFD 18/3R1MR,6/0,18//MRT/PMT,18/TRDV
PRBW VFD 18/3R1MR,6/0,18//MRT/PRB,18/TRDV
UMTW VFD 18/3R1MR,6/0,18//MRT/UMT,18/0
* FLAGS AND TEMPORARY STORAGE.
*
* THE FOLLOWING WORDS ARE ZEROED OUT WHEN THE PROGRAM
* IS INITIALIZED AND IN THE EVENT OF *RERUN*.
CLER EQU * FIRST WORD TO ZERO
AUTO BSS 1 AUTOMATIC *GO*, *STOP* FLAG
CVEM BSS 1 CURRENT VALID ENTRY MASK
ESTF BSS 1 EST POINTER
LCSW BSS 1 LOW CORE READ STATUS WORD
MIDP BSS 1 MACHINE ID OF DOWNED MACHINE
NSDV BSS 1 NUMBER OF SHARED DEVICES (THIS MACHINE)
PTPR BSS 1 POINTER INTO PARAMETER TABLE
SORT BSS 1 TABLE SORT FLAG (SEE ROUTINE *MRD*)
CLERL EQU * END OF WORDS TO ZERO
DBFA VFD 30/SDD1,30/SDD2 DOUBLE BUFFERS FOR THE *K* DISPLAY
FNDV VFD 12/0,48/0 12/PAGE-1,24/CURRENT DEVICE,24/NEXT DEVICE
MMFP BSS 1 *MMFL* WORD FOR THIS MACHINE
NKDP BSS 1 NUMBER OF *K* DISPLAY PAGES
NPAR BSS 1 NUMBER OF PARAMETERS ON COMMAND
SPACE 4
ERRNG /MRT/COM-* OVERFLOW INTO COMMON STORAGE
EJECT
* THE FOLLOWING LOCATIONS ARE READ AND WRITTEN BY
* *1MR*. DO NOT ADD OR DELETE ANY LOCATIONS WITHOUT ALSO
* CHANGING *COMSMRT*.
*
* THESE LOCATIONS ARE ALSO ZEROED OUT AT INITIALIZATION
* AND IN EVENT OF *RERUN*.
ORG /MRT/COM
COM BSS 0 BEGINNING OF COMMON STORAGE
MASK BSS 1 MACHINE INDEX OF DOWNED MACHINE
RCLW BSS 1 *1MR* RECALL CONTROL
ERRW BSS 1 ERROR RETURN WORD (BYTE 4)
SPACE 4
** TMID - TABLE OF MACHINE STATE ENTRIES.
*
*T, 12/ MID,1/T,1/L,1/,9/ EQ,18/ 0,18/ STA
*
* MID MACHINE ID.
* T SET IF MACHINE HAS INDEPENDENT SHARED DEVICES.
* L LOW SPEED PORT LINK ON THIS MACHINE.
* EQ EST ORDINAL OF LINK DEVICE.
* STA STATE OF THIS MACHINE AS DEFINED IN *COMSMMF*.
*
* NOTE - EQ AND STA = 0, IF NOT EM MMF.
TMID BSS 0
LOC 0
BSSZ /MMF/MXMF EXTENDED MEMORY MMF MAINFRAMES
TMIDI BSSZ /MMF/MMPF START OF MAINFRAMES WITH ISHARE DEVICES
TMIDL EQU * MAXIMUM NUMBER OF MAINFRAMES
LOC *O
COML EQU *-COM END OF COMMON STORAGE
ERRNZ /MRT/COML-COML COMMON STORAGE OUT OF SYNC
TITLE TABLES
TSDV SPACE 4,10
** TSDV - TABLE OF SHARED DEVICES. (THIS MACHINE)
*
*T, TSDV 12/ MASKS,24/,12/ TY,12/ EQ
*T,SRMS 18/ 0,18/ *TSMI* POINTER,12/ 1,12/ EQ
*
* EQ EST ORDINAL OF SHARED DEVICE.
* MASKS MACHINE MASKS OF OTHER MACHINES SHARING THE
* DEVICE. RETURNED BY 1MR FUNCTION *RDI*.
TSDV BSS 0
BSS MSMX+1
TRDV SPACE 4,10
** TRDV - TABLE OF DEVICES TO RECOVER.
*
*T, 12/ RC,24/,12/ TY,12/ EQ
*
* RC RETURN CODE IF UNIT OR CONTROLLER RESERVED. SEE
* COMSMRT FOR CODES. THIS DEPENDS ON OPERATOR ACTION.
* EQ EST ORDINAL OF DEVICE TO RECOVER.
* TY TYPE OF SHARED DEVICE.
* 1 = ISHARE DEVICE.
* 0 = EXTENDED MEMORY MMF DEVICE.
TRDV BSS MSMX+1
TSEQ SPACE 4,10
** TSEQ - TABLE OF SHARED EQUIPMENT TYPES.
*
*T, 24/ DEVICE TYPE,18/ 0,12/ UNIT NUMBER, 6/ 0
*
* THE DEVICE TYPE AND UNIT NUMBER ARE IN DISPLAY CODE,
* FORMATTED AS THEY WILL APPEAR IN THE DISPLAY.
TSEQ BSS MSMX+1
TSFM SPACE 4,10
** TSFM - TABLE OF SHARED FAMILY NAMES.
*
*T 12/ DEVICE NO.,6/ 0,42/ FAMILY NAME
*
* THE DEVICE NUMBER AND FAMILY NAME ARE IN DISPLAY CODE, BUT
* MUST BE REFORMATTED BEFORE THEY ARE PUT INTO THE DISPLAY.
TSFM BSS MSMX+1
TSMI SPACE 4,10
** TSMI - TABLE OF SHARED MAINFRAME IDS.
*
*T 12/ MID1,12/ MID2,12/ MID3,12/ MID4,12/ MID5
*
* THE MIDS ARE FOR ISHARE DEVICES. A POINTER IN *TSDV* POINTS
* TO THE FIRST WORD OF THAT DEVICES MIDS. THE LIST OF MIDS
* ENDS WITH A ZERO BYTE OR WITH *MMPF*-1 MIDS.
.1 SET MMPF-1+4
SMLX EQU .1/5 MAXIMUM WORDS PER MID LIST
TSMI BSS SMLX*MSMX+1
PAMT SPACE 4,10
** PAMT - PARAMETER TABLE.
*
*T 12/PARM,24/0,6/VOM,18/PROC
*
* PARM PARAMETER KEYWORD.
* VOM VALID OPTION MASK.
* PROC PROCESSOR ADDRESS FOR PARAMETER.
PAMT VFD 12/2LID,24/0,6/IDPR,18/IDP *ID*
VFD 12/2LEQ,24/0,6/EQPR,18/EQP *EQ*
VFD 12/2LOP,24/0,6/OPPR,18/OPP *OP*
CON 0 END OF TABLE
KDCT SPACE 4,10
** KDCT - K-DISPLAY COMMAND TABLE.
*
*T, 36/COMM,6/VOM,18/PROC
*
* COMM COMMAND.
* VOM VALID OPTION MASK.
* PROC PROCESSOR ADDRESS FOR COMMAND.
KDCT VFD 36/2LGO,6/GOCM,18/GO *GO*
VFD 36/5LRERUN,6/RECM,18/REP *RERUN*
VFD 36/4LSTOP,6/STCM,18/STOP *STOP*
CON 0 END OF TABLE
TVPC SPACE 4,5
** TVPC - VALID PARAMETER AND COMMAND TABLE.
TVPC EQU *
LOC 0
IDPR BSS 1 *ID* PARAMETER
EQPR BSS 1 *EQ* PARAMETER
OPPR BSS 1 *OP* PARAMETER
GOCM BSS 1 *GO* COMMAND
RECM BSS 1 *RERUN* COMMAND
STCM BSS 1 *STOP* COMMAND
LOC *O
ORG TVPC
SPACE 4
** VALID ENTRY MASKS.
NORP BITCON (IDPR,EQPR,GOCM,RECM,STCM) NORMAL PROCESSING
ERRP BITCON (RECM,STCM) PROCESSING AFTER LINK DEVICE ERROR
RSVP BITCON (OPPR,GOCM,RECM,STCM) PROCESSING AFTER RESERVE
TITLE MAIN ROUTINE.
* MAIN ROUTINE.
MREC RJ PRS PRESET
RERUN RJ IBF INITIALIZE BUFFERS
RJ SSD SEARCH FOR SHARED DEVICES
SA1 NSDV CHECK NUMBER OF SHARED DEVICES
NZ X1,MRE1 IF SHARED DEVICES
MESSAGE (=C* NO SHARED DEVICES FOR THIS MACHINE.*)
EQ ABT1
MRE1 BX6 X6-X6 TERMINATE TABLE
SA6 TSDV+X1
SA6 TRDV+X1
* RETRIEVE ADDITIONAL DISPLAY INFORMATION FROM LINK DEVICE IF
* THIS MACHINE RUNNING EXTENDED MEMORY MMF.
SA1 MMFP
MX0 -9
AX1 36
BX1 -X0*X1
ZR X1,MRE2 IF THIS MF NOT RUNNING EXTENDED MEMORY MMF
SA1 RDIW SET FUNCTION *RDI*
RJ IFN
* GENERATE K-DISPLAY FOR SHARED DEVICES.
MRE2 RJ DSD DISPLAY SHARED DEVICES
EQ PPA PROCESS PARAMETERS
* DETERMINE IF MACHINE SPECIFIED IS DOWN.
GO SA1 MIDP
NZ X1,MRE3 IF MID SPECIFIED
MWORDS ERR7,MSDS+1 *MID NOT SPECIFIED.*
EQ PPA PROCESS PARAMETERS
MRE3 BX0 X1
LX0 48
SA3 MMFP
MX6 12
BX3 X6*X3
BX6 X3-X0
SB6 B0
ZR X6,MRE4 IF SPECIFIED MACHINE IS THIS MF
RJ DWN
NG B6,MRE5 IF MACHINE SPECIFIED IS DOWN
MRE4 MWORDS ERR4,MSDS+1 *MID SPECIFIED NOT DOWN.*
ZR B6,PPA IF MACHINE FOUND BUT NOT DOWN
MWORDS ERR5,MSDS+1 *MID SPECIFIED NOT FOUND.*
EQ PPA PROCESS PARAMETERS
* PROCESS RESERVES, BAT-S, DAT-S, FAT-S, AND MRT-S.
MRE5 BX6 X1 SET *MMFL* WORD FOR DOWNED MACHINE
SA6 MASK
MESSAGE (=C* *),2,R CLEAR *REQUEST K DISPLAY*
MESSAGE (=C* *),1,R
RJ MRD CALL *PRB* AND *PMT* FUNCTIONS
MESSAGE MES1 * PROCESSING COMPLETE.*
MWORDS MES1,MSDS+1
SA1 AUTO
NZ X1,STOP IF AUTOMATIC *STOP*
EQ PPA REQUEST INFORMATION FROM K-DISPLAY
SPACE 4
** TERMINATION PROCESSOR.
ABT SA1 B0 CHECK TYPE OF ERROR
MX0 -6
LX1 12
BX2 -X0*X1
SX3 X2-ODET
ZR X3,ABT1 IF OPERATOR DROP
MESSAGE (=C* MREC ABNORMAL TERMINATION.*)
ABT1 ABORT
STOP ENDRUN
TITLE COMMAND AND PARAMETER PROCESSORS.
EQP SPACE 4
** EQP - PROCESS *EQ* PARAMETER.
*
* EXIT TO *PPTA* IF PROCESS NEXT PARAMETER.
* TO *PPA* IF ERROR IN EQUIPMENT FORMAT.
*
* USES X - ALL.
* A - 0, 1, 2, 3, 6, 7.
* B - 2, 3, 4, 5, 6, 7.
*
* CALLS DXB, GPR.
*
* MACROS MWORDS.
* PROCESS FIRST ARGUMENT.
EQP SB6 B0
SB7 B0 SET OCTAL BASE
SA3 ESTF GET LAST MASS STORAGE ORDINAL + 1
MX4 -12
AX3 12
BX6 -X4*X3
SA6 EQPA
RJ GPR GET NEXT PARAMETER TABLE ENTRY
ZR X2,EQP4 ERROR IF TERMINATOR
NZ B2,EQP4 ERROR IF SEPARATOR
MX0 36
SA3 =3LALL CHECK IF *ALL* ENTERED
BX4 X3-X2
ZR X4,EQP5 IF *ALL*
EQ EQP2 PROCESS FIRST ARGUMENT
* PROCESS REMAINDER OF ARGUMENTS.
EQP1 RJ GPR GET NEXT PARAMETER TABLE ENTRY
ZR X2,EQP6 IF TERMINATOR
NZ B2,EQP6 IF SEPARATOR
EQP2 BX5 X2 CONVERT TO BINARY
LX2 18
SA0 X2+
RJ DXB
NZ X4,EQP4 IF CONVERSION ERROR
SA3 EQPA GET LAST MASS STORAGE ORDINAL + 1
SB2 X3
SB3 X6+
SB2 B3-B2
PL B2,EQP4 IF EST ORDINAL .GT. MAXIMUM
ZR X6,EQP4 IF EST ORDINAL = 0
R= X3,ESTE
IX3 X6*X3
SA3 ESTB+X3+EQDE SET TYPE OF SHARED DEVICE
LX3 59-52
PL X3,EQP3 IF NOT ISHARE DEVICE
MX4 -1
LX4 12
BX6 -X4+X6
EQP3 SA6 TRDV+B6 STORE ENTRY IN TABLE OF DEVICES TO RECOVER
* (A0) = EST ORDINAL IN DISPLAY CODE, LEFT-JUSTIFIED.
SX6 A0 STORE DISPLAY CODE FOR K-DISPLAY
MX3 -18
BX6 -X3*X6
SX3 40404B CALCULATE THE NUMBER OF DIGITS
IX4 X6-X3
LX3 3
BX4 X4*X3
PX4 X4
ZX4,B2 X4 48 = 3 DIGITS, 42 = 2 DIGITS, 36 = 1 DIGIT
PX6 X6,B2
SA6 SCRB+B6
SB6 B6+B1 INCREMENT TABLE INDEX
EQ EQP1 LOOP
EQP4 MWORDS ERR3,MSDS+1 *INCORRECT FORMAT FOR EQ ENTRY.*
EQ PPA REQUEST INFORMATION FROM K-DISPLAY
EQP5 SA1 TSDV+B6 SET TO PROCESS ALL SHARED DEVICES
BX6 -X0*X1
SB6 B6+B1
SA6 TRDV-1+B6
NZ X1,EQP5 IF NOT END OF TABLE
SA1 DFEQ SET *ALL* IN K-DISPLAY
BX7 X1
SA7 EQDS
MWORDS BLKW+2,EQDS+1,4
MWORDS BLKW,EQDS1+1,6
EQ PPTA
EQP6 BX6 X6-X6 TERMINATE TABLES
SA6 SCRB+B6
BX0 X0-X0
SA6 TRDV+B6
SA1 PTPR SET TO RECHECK LAST PARAMETER
SX6 X1-1
SA6 A1
* MOVE EQUIPMENT(S) TO RECOVER TO K-DISPLAY.
MX6 24
SA1 EQDS CLEAR CURRENT ENTRIES IN K-DISPLAY
BX6 X6*X1
SA6 A1
MWORDS BLKW+2,EQDS+1,4
MWORDS BLKW,EQDS1+1,6
SA1 EQDS-1
SA2 SCRB
SA3 A1+B1
BX6 X1
SA6 A1
BX6 X3
SB2 6*6 UNUSED BITS IN THE FIRST WORD
SB3 4 WORDS IN FIRST LINE OF K-DISPLAY
SB5 48
SB6 60
EQP7 ZR X2,EQP10 IF END OF TABLE
UX7,B7 X2
SA2 A2+B1
SB4 B5-B7 TRAILING BITS OF ZEROS
SB7 B7-30 NUMBER OF BITS OF EQUIPMENT NUMBER
AX7 B4
ZR X2,EQP8 IF END OF TABLE
SX4 2R, APPEND A *, *
LX7 12
SB7 B7+12
BX7 X7+X4
EQP8 SB2 B2-B7 DECREMENT UNUSED BIT COUNT
LX4 X7,B2
BX6 X6+X4
MX4 30
GT B2,B0,EQP7 IF THIS IS NOT THE END OF THE WORD
SA6 A6+B1 STORE THE CHARACTERS THAT FIT IN THE WORD
SB2 B2+B6 GET THE CHARACTERS THAT DID NOT FIT
LX7 B2
BX6 X4*X7
SB3 B3-1
NZ B3,EQP7 IF THIS IS NOT THE END OF THE LINE
ZR X6,EQP9 IF ALL CHARACTERS FIT INTO THE LAST WORD
SA6 A6+1
EQP9 SA1 EQDS1 INITIALIZE THE SECOND LINE
SB2 10*6
SB3 6
BX6 X1
SA6 A1
BX6 X6-X6
EQ EQP7 PROCESS NEXT LINE
EQP10 ZR X6,PPTA IF THIS WORD IS EMPTY
SA6 A6+1
EQ PPTA RETURN TO PROCESS NEXT PARAMETER
EQPA CON 0 LAST MASS STORAGE ORDINAL + 1
IDP SPACE 4,15
** IDP - PROCESS *ID* PARAMETER.
*
* EXIT TO *PPTA* IF PROCESS NEXT PARAMETER.
* TO *PPA* IF ERROR IN MACHINE ID FORMAT.
*
* USES X - 1, 2, 3, 4, 6, 7.
* A - 1, 6.
* B - 2.
*
* CALLS GPR.
*
* MACROS MWORDS.
IDP RJ GPR GET NEXT TABLE ENTRY
NZ B2,IDP2 ERROR IF SEPARATOR
ZR X2,IDP2 ERROR IF TERMINATOR
MX3 12
BX4 -X3*X2
NZ X4,IDP2 ERROR IF MID MORE THAN 2 CHARACTERS
BX6 X3*X2 SET MACHINE ID
LX6 12
MX4 -6
BX7 -X4*X6
ZR X7,IDP1 IF 1 CHARACTER MID
SB2 X7-1RA
NG B2,IDP2 IF INCORRECT MID
SB2 X7-1R9
GT B2,IDP2 IF INCORRECT MID
IDP1 LX4 6
BX7 -X4*X6
SB2 X7-1RA*100B
NG B2,IDP2 IF INCORRECT MID
SB2 X7-1R9*100B
GT B2,IDP2 IF INCORRECT MID
SA6 MIDP
SA1 IDDS+2 SET MID IN K-DISPLAY
MX3 42
LX6 6
BX2 X3*X1
BX6 X2+X6
SA6 A1+
EQ PPTA RETURN FOR NEXT PARAMETER
IDP2 MWORDS ERR2,MSDS+1 *INCORRECT FORMAT FOR MID.*
EQ PPA REQUEST INFORMATION FROM K-DISPLAY
OPP SPACE 4
** OPP - PROCESS *OP* PARAMETER.
*
* ENTRY (ERRW, 24-35) = INDEX OF EQUIPMENT IN *TRDV*.
* (ERRW, 12-23) = EST ORDINAL OF DEVICE.
*
* EXIT BYTE 0 OF EQUIPMENT ENTRY IN *TRDV* = RETURN CODE.
* TO *PPTA* IF PROCESS NEXT PARAMETER.
* TO *PPA* IF FORMAT ERROR.
*
* USES X - ALL.
* A - 1, 2, 5, 7.
*
* CALLS GPR, STB.
*
* MACROS MWORDS.
OPP RJ GPR GET NEXT PARAMETER
NZ B2,OPP2 ERROR IF SEPARATOR
ZR X2,OPP2 ERROR IF TERMINATOR
MX0 12 SEARCH OPTION TABLE
SA5 OPPA
RJ STB
ZR X5,OPP2 IF OPTION NOT FOUND
SA1 ERRW READ CORRECT ENTRY FROM *TRDV*
MX3 -12
AX1 12
BX0 -X3*X1 EST ORDINAL OF DEVICE
AX1 12
BX4 -X3*X1
SA1 TRDV+X4
LX5 59-47
PL X5,OPP1 IF VALID OPTION FOR ALL DEVICE TYPES
R= X2,ESTE
IX2 X0*X2
SA2 ESTB+X2+EQDE CHECK IF *LDAM* EQUIPMENT
LX2 59-55
PL X2,OPP3 IF NOT *LDAM* EQUIPMENT
OPP1 LX5 36 SET RETURN CODE IN *TRDV* ENTRY
LX3 48
BX6 X3*X1
BX4 -X3*X5
BX7 X6+X4
SA7 A1
EQ PPTA REQUEST INFORMATION FROM K-DISPLAY
OPP2 MWORDS ERR8,MSDS+1 *INCORRECT OPTION.*
EQ PPA
OPP3 MWORDS ERR9,MSDS+1 *INCORRECT EQUIPMENT.*
EQ PPA
** OPPA - VALID OPTIONS.
*
*T, OPPA 12/OP,1/V,35/0,12/RC
*
* OP OPTION
* RC RETURN CODE TO *1MR*
* V SET IF OPTION ONLY VALID ON 844,S.
OPPA BSS 0
VFD 12/1LI,1/0,35/0,12//MRT/IGN *I*
VFD 12/1LR,1/1,35/0,12//MRT/REL *R*
CON 0 END OF TABLE
REP SPACE 4,10
** REP - *RERUN* PROCESSOR.
*
* EXIT K-DISPLAY CLEARED.
* TO *RERUN* TO RESTART PROGRAM.
*
* USES X - 1, 2, 6, 7.
* A - 1, 2, 6, 7.
*
* MACROS MWORDS, SYSTEM.
REP MWORDS BLKW,MSDS+1,4 CLEAR MESSAGE LINE
SA2 DFEQ RESET EQ(S) TO RECOVER TO DEFAULT
BX7 X2
SA7 EQDS
MWORDS BLKW+2,EQDS+1,4 CLEAR EQ(S) TO RECOVER
MWORDS BLKW,EQDS1+1,6
SA1 IDDS+2 CLEAR MID TO PROCESS
MX6 42
BX6 X6*X1
SA6 A1
SA1 RMMF RE-READ *MMFL* WORD
MX7 1
BX6 X1
SA7 MMFP SET LOW CORE READ
SA6 LCSW
SYSTEM RSB,R,LCSW
EQ RERUN RERUN PROGRAM
TITLE PARAMETER TABLE MANAGEMENT.
PPA SPACE 4,10
** PPA - PROCESS PARAMETERS.
*
* THE FOLLOWING ROUTINE IS THE COMMON ENTRY POINT FOR
* REQUESTING INFORMATION FROM THE K-DISPLAY AND
* PROCESSING PARAMETERS. EXIT FROM THIS ROUTINE OCCURS
* WHEN *GO*, *RERUN*, OR *STOP* IS ENTERED.
PPA1 RJ PPT PROCESS PARAMETER TABLE
PPA RJ PKE PROCESS KEYBOARD ENTRY
NZ B6,PPA1 IF PARAMETERS
MWORDS ERR1,MSDS+1 *INCORRECT ENTRY.*
EQ PPA
GPR SPACE 4
** GPR - GET NEXT ENTRY FROM PARAMETER TABLE.
*
* ENTRY (PTPR) = POINTER TO ENTRY TO BE RETURNED.
*
* EXIT (PTPR) = UPDATED POINTER.
* (X2) = TABLE ENTRY. (0 IF TERMINATOR)
* (B2) = SEPARATOR.
*
* USES X - 1, 2, 3, 4, 6.
* A - 1, 2, 6.
* B - 2.
GPR SUBR ENTRY/EXIT
SA1 PTPR GET TABLE ENTRY
SA2 PARM+X1
SX6 X1+B1 UPDATE POINTER
SA6 A1
MX3 -6 SET SEPARATOR
BX4 -X3*X2
SB2 X4
BX2 X3*X2
EQ GPRX RETURN
PPT SPACE 4,20
** PPT - PROCESS PARAMETER TABLE.
*
* EXIT TO *PPTX* IF REQUEST FOR INFORMATION FROM K-DISPLAY.
* TO PROCESSOR IF LEGAL PARAMETER OR COMMAND.
* TO *GO* IF END OF PARAMETERS AND (AUTO) .NE. 0.
*
* CALLS GPR, STB.
*
* USES X - 0, 1, 2, 3, 5, 6.
* A - 1, 5, 6.
* B - 4, 5.
*
* MACROS MWORDS.
*
* NOTE THIS ROUTINE IS ENTERED FROM THE PARAMETER
* PROCESSORS AT *PPTA* TO PROCESS THE NEXT
* PARAMETER.
PPT3 SA1 AUTO
ZR X1,PPTX IF MORE POSSIBLE PARAMETERS FROM K-DISPLAY
EQ GO *GO* IF PARAMETERS ENTERED BY COMMAND
PPT SUBR ENTRY/EXIT
BX6 X6-X6 SET BEGINNING OF TABLE
MX0 36
SA6 PTPR
PPTA SA5 PAMT SET TABLE TO SEARCH
RJ GPR GET TABLE ENTRY
ZR X2,PPT3 IF END OF PARAMETERS
RJ STB SEARCH PARAMETER TABLE
NZ X5,PPT1 IF ENTRY FOUND
SA5 KDCT SEARCH K-DISPLAY COMMAND TABLE
RJ STB
ZR X5,PPT2 IF ENTRY NOT FOUND
PPT1 SB5 X5
AX5 18 CHECK IF VALID ENTRY
MX3 -6
BX1 -X3*X5
SX3 B1
SB4 X1
SA1 CVEM
LX2 B4,X3
BX6 X1*X2
ZR X6,PPT2 IF NOT VALID ENTRY
JP B5 JUMP TO PROCESSOR
PPT2 MWORDS ERR1,MSDS+1 *INCORRECT ENTRY.*
EQ PPTX RETURN TO REQUEST K-DISPLAY ENTRY
STB SPACE 4,15
** STB - SEARCH TABLE.
* TABLE MUST BE TERMINATED BY 0 WORD.
*
* ENTRY (A5) = ADDRESS OF TABLE.
* (X5) = FIRST TABLE ENTRY.
* (X0) = SEARCH MASK.
* (X2) = ENTRY TO SEARCH FOR.
*
* EXIT (X5) = ENTRY, IF FOUND.
* = 0, IF NOT FOUND.
*
* USES X - 5, 6, 7.
* A - 5.
STB SUBR ENTRY/EXIT
STB1 ZR X5,STBX IF END OF TABLE
BX6 X0*X5
BX7 X6-X2
ZR X7,STBX IF ENTRY FOUND
SA5 A5+B1 GET NEXT ENTRY
EQ STB1 LOOP
CDM SPACE 4,15
** CDM - CHECK DOWN MACHINES.
*
* ENTRY (X6) = WORD TO MERGE MACHINE ID IN.
* (X5) = MACHINE MASK TO CHECK.
* (A1) = *TMID* ENTRY CORRESPONDING TO CURRENT BIT.
*
* EXIT (X6) = 5R ID* MERGED IN WORD.
* (X5) = MACHINE MASK, CURRENT BIT SHIFTED TO BIT 59.
* (A1) = *TMID* ENTRY CORRESPONDING TO CURRENT BIT.
*
* USES X - 1, 4, 5, 6, 7.
* A - 1.
CDM2 BX6 X6+X7
SX7 1R
BX6 X6+X7
CDM SUBR ENTRY/EXIT
SX7 2R
LX7 18
BX6 X6+X7
LX7 -12
MX4 12
ZR X5,CDM2 IF END OF MACHINES SHARING DEVICE
CDM1 LX5 -1
SA1 A1+B1
PL X5,CDM1 IF MACHINE NOT FOUND
SX5 X5 CLEAR BIT
BX7 X4*X1 GET MID
LX7 18
SX1 X1-/MMF/MFDN
NZ X1,CDM2 IF MACHINE NOT DOWN
BX6 X6+X7
SX7 1R*
BX6 X6+X7
EQ CDMX RETURN
TITLE SUBROUTINES.
DWN SPACE 4,15
** DWN - DETERMINE IF MACHINE IS DOWN.
*
* ENTRY (X0) = MID OF MACHINE TO TEST. (LEFT JUSTIFIED)
*
* EXIT (B6) = 0, IF MACHINE UP.
* (B6) .LT. 0 , IF MACHINE DOWN.
* (B6) .GT. 0 , IF MACHINE NOT FOUND.
* (X0) = UNCHANGED.
* (X1) = MMFL WORD FOR DOWNED MACHINE.
*
* USES X - 1, 3.
* A - 1, 3.
* B - 6.
DWN2 MX3 24
SB6 X1-/MMF/MFAC (B6) = 0, IF MACHINE IS ACTIVE
BX1 X3*X1
SX3 A1-TMID-TMIDI
PL X3,DWN3 IF IN ISHARE TABLE
SX3 A1-TMID+1
BX1 X1+X3
DWN3 ZR B6,DWNX IF MACHINE ACTIVE
SB6 -B1 SET MACHINE DOWN
DWN SUBR ENTRY/EXIT
SA1 TMID-1 INITIALIZE *TMID* SEARCH
SB6 TMIDL+1
DWN1 SA1 A1+1 GET NEXT ENTRY
SB6 B6-B1
MX3 12
BX3 X3*X1
BX3 X3-X0
ZR X3,DWN2 IF THIS ENTRY MATCHES
GT B6,B1,DWN1 IF NOT END OF TABLE
* SB6 1 SET NOT FOUND FLAG
EQ DWNX RETURN
IBF SPACE 4
* IBF - INITIALIZE BUFFERS.
*
* EXIT TEMPORARY STORAGE LOCATIONS ZEROED OUT.
* EST READ INTO LOCAL BUFFER.
*
* USES X - 1, 2, 3, 4, 6, 7.
* A - 1, 2, 3, 4, 6, 7.
* B - 2, 3.
*
* CALLS IFN, RSB=.
*
* MACROS SYSTEM.
IBF SUBR ENTRY/EXIT
SA1 MMFP
LX1 59-47
PL X1,IBF0 IF NO INDEPENDENT SHARED DEVICES
SA1 UMTW UPDATE MST ENRIES IN CM
RJ IFN
IBF0 SX6 B0+ CLEAR STORAGE LOCATIONS
SB2 CLER
SB3 CLERL
SA3 RESP
IBF1 SA6 B2
SB2 B2+B1
NE B2,B3,IBF1 IF MORE STORAGE TO CLEAR
SX6 B0+ RESET TO PAGE ONE OF THE DISPLAY
SA6 FNDV
SB2 COM CLEAR COMMON STORAGE
SB3 COM+COML
IBF2 SA6 B2
SB2 B2+B1
NE B2,B3,IBF2 IF MORE STORAGE TO CLEAR
MX7 1 READ EST POINTER
BX6 X3
SA6 LCSW
SA7 ESTF SET LOW CORE READ
SYSTEM RSB,R,LCSW
SA2 ESTF SET *COMCRSB* ENTRY CONDITIONS
MX3 -12
SX1 ESTB (X1) = ADDRESS TO TRANSFER TO
AX2 12
BX3 -X3*X2
AX2 24 (X2) = ADDRESS TO TRANSFER FROM
R= X6,ESTE
IX3 X3*X6 (X3) = WORD COUNT
SX4 B0 (X4) = SUBSYSTEM (= *CMR*)
MX6 1
SA6 X1
RJ RSB= READ EST
SA2 NORP SET NORMAL PROCESSING VALID ENTRIES
BX6 X2
SA6 CVEM
EQ IBFX RETURN
IFN SPACE 4
** IFN - ISSUE *1MR* FUNCTION AND CHECK FOR ERRORS.
*
* ENTRY (X1) = REQUEST WORD.
*
* EXIT TO *PPA* IF LINK DEVICE ERROR OR RESERVE ERROR.
*
* USES X - ALL.
* A - 1, 2, 5, 6, 7.
*
* CALLS COD.
*
* MACROS MESSAGE, MWORDS, RECALL, SYSTEM.
IFN SUBR ENTRY/EXIT
SX7 B0 CLEAR ERROR RETURN WORD
SA7 ERRW
BX6 X1 SAVE REQUEST WORD
SA6 REQW
IFN1 SYSTEM SPC,R,REQW
SA1 REQW
NZ X1,IFN1 IF NO PP AVAILABLE
IFN2 RECALL
SA1 RCLW
ZR X1,IFN2 IF *1MR* NOT COMPLETE
SX6 B0+ CLEAR RECALL STATUS WORD
SA6 RCLW
* CHECK FOR ERROR RETURN.
SA5 ERRW
ZR X5,IFNX IF NO ERRORS
MX4 -12
BX6 -X4*X5
SX2 X6-/MRT/URS
PL X2,IFN5 IF RESERVE ERROR
SX2 IFNA ASSUME READ ERROR
SX3 X6-/MRT/RER
ZR X3,IFN3 IF READ ERROR
SX2 IFNB SET WRITE ERROR
IFN3 MESSAGE X2,,R
MWORDS X2,MSDS+1
BX6 X6-X6 SET TO REQUEST K-DISPLAY
SA6 NPAR
SA2 ERRP SET ERROR PROCESSING VALID ENTRY MASK
IFN4 BX6 X2
SA6 CVEM
EQ PPA REQUEST INFORMATION FROM K-DISPLAY.
IFN5 SX0 IFNC ASSUME UNIT RESERVED
SX3 X6-/MRT/URS
ZR X3,IFN6 IF UNIT RESERVED
SX0 IFND SET CONTROLLER RESERVED
IFN6 AX5 12 CONVERT EST ORDINAL
BX1 -X4*X5
RJ COD
LX6 24 SET EST ORDINAL IN MESSAGE
SA1 X0
MX4 -18
LX4 24
BX3 X4*X1 CLEAR OLD ORDINAL
BX6 -X4*X6
BX6 X6+X3 MERGE NEW ORDINAL IN MESSAGE
SA6 A1
AX5 24 CONVERT UNIT/CHANNEL TO DISPLAY CODE
MX4 -12
BX1 -X4*X5
RJ COD
MX4 -12
BX6 -X4*X6 UNIT/CHANNEL NUMBER
LX6 48 SET UNIT/CHANNEL NUMBER IN MESSAGE
SA1 X0+B1
LX4 48
BX3 X4*X1 CLEAR OLD CHANNEL/UNIT NUMBER
BX6 -X4*X6
BX6 X6+X3 MERGE NEW CHANNEL/UNIT NUMBER IN MESSAGE
SA6 A1
MWORDS X0,MSDS+1,4 WRITE MESSAGE TO K-DISPLAY
SA2 RSVP SET RESERVE PROCESSING VALID ENTRY MASK
EQ IFN4
IFNA DATA 30H LINK DEVICE READ ERROR.
BSSZ 1
IFNB DATA 30H LINK DEVICE WRITE ERROR.
BSSZ 1
IFNC DATA 40H EQ000, UN00, UNIT RESERVED.
IFND DATA 40H EQ000, CH00, CONTROLLER RESERVED.
MRD SPACE 4,10
** MRD - PROCESS RESERVES, BAT-S, DAT-S, FAT-S, AND MRT-S.
*
* USES X - ALL.
* A - 1, 2, 3, 5, 6.
* B - 2, 3, 4, 5.
*
* CALLS IFN, STB.
MRD SUBR ENTRY/EXIT
SA2 SORT
NZ X2,MRD6 IF TABLE ALREADY SORTED
* EDIT TABLE OF DEVICES TO RECOVER, DELETING ENTRIES NOT
* SHARED BETWEEN DOWNED MACHINE AND THIS MACHINE.
SB2 B0
MX4 -12
SA3 MIDP MID OF MACHINE TO PROCESS
SB5 B0
SX6 B1 SET TABLE SORTED
SA6 SORT
MRD1 SA2 TRDV+B2
ZR X2,MRD5 IF END OF TABLE
MX0 24 SET TO SEARCH TABLE OF SHARED DEVICES
LX0 24
SA5 TSDV
SB4 B0
RJ STB SEARCH TABLE
ZR X5,MRD4 IF DEVICE NOT SHARED BY THIS MACHINE
LX5 59-12
NG X5,MRD3 IF ISHARE DEVICE
LX5 12+12-59
SA1 MASK CHECK IF DOWNED MACHINE IS SHARING DEVICE
SB4 X1
MX1 1
LX1 B4
BX7 X5*X1
ZR X7,MRD4 IF DEVICE NOT SHARED WITH DOWNED MACHINE
MRD3 SX6 X2 RESTORE GOOD ENTRY
SA6 TRDV+B5
SB5 B5+B1
MRD4 SB2 B2+B1 PROCESS NEXT TABLE ENTRY
EQ MRD1
MRD5 BX6 X6-X6 TERMINATE TABLE
SA6 TRDV+B5
MRD6 SA1 PRBW SET FUNCTION *PRB*
RJ IFN
SA1 PMTW SET FUNCTION *PMT*
RJ IFN
SA2 NORP SET NORMAL PROCESSING VALID OPTIONS
BX6 X2
SA6 CVEM
EQ MRDX RETURN
SSD SPACE 4,15
** SSD - SEARCH FOR SHARED DEVICES AND FORMAT MST
* K-DISPLAY DATA.
*
* EXIT (NSDV) = NUMBER OF SHARED DEVICES.
*
* USES X - ALL.
* A - ALL.
* B - 2, 3, 4, 5, 6, 7.
*
* CALLS CDD, COD.
*
* MACROS SYSTEM.
* (B5) = NUMBER OF SHARED DEVICES.
SSD14 SA1 NKDP GET NUMBER OF *K* DISPLAY PAGES
SX6 B5 SAVE NUMBER OF SHARED DEVICES
SX1 X1
SA6 NSDV
RJ CDD CONVERT TO DECIMAL DISPLAY CODE
SA1 PGDS INSERT IN HEADER
LX4 12
MX6 -12
BX4 -X6*X4
BX6 X6*X1
BX6 X6+X4
SA6 A1
SSD SUBR ENTRY/EXIT
SA3 ESTF
MX4 -12
AX3 12
BX2 -X4*X3 LAST MASS STORAGE ORDINAL + 1
SA0 TSMI INITIALIZE COUNTERS
SX7 B1
PX7 X7
SA7 NKDP NUMBER OF *K* DISPLAY PAGES = 1
SB5 B0 NUMBER OF SHARED DEVICES
SB6 X2+
SB7 NOPE
* SEARCH FOR SHARED DEVICES.
SSD1 EQ B6,B7,SSD14 IF END OF MASS STORAGE DEVICES
R= X5,ESTE
SX6 B7 CURRENT EST ORDINAL
IX5 X6*X5
BX7 X6
SA5 ESTB+X5+EQDE READ EST ENTRY
SB7 B7+B1 INCREMENT EST INDEX
PL X5,SSD1 IF NOT MASS STORAGE DEVICE
LX5 59-57
PL X5,SSD1 IF NOT SHARED DEVICE
* ENTER SHARED DEVICE INTO TABLE.
SX1 X6
LX5 59-52-59+57
PL X5,SSD2 IF EXTENDED MEMORY MMF DEVICE
SX0 B1 SET ISHARE DEVICE STATUS
LX0 12
BX7 X6+X0
SX0 A0 SET POINTER TO *TSMI* IN *TSDV* ENTRY
LX0 24
BX6 X7+X0
SSD2 SA6 TSDV+B5
SA7 TRDV+B5
* READ MST FOR SHARED DEVICE.
LX5 52-59
MX6 -12 READ MST FOR DEVICE
BX3 -X6*X5
SA1 RMST
SA6 MSTB SET LOW CORE READ
SA6 SCRB
LX3 18+3 MST ADDRESS
BX6 X3+X1
SA6 LCSW
SYSTEM RSB,R,LCSW
* FORMAT UNIT NUMBER, DEVICE TYPE, AND NUMBER OF UNITS.
SA2 MSTB+DDLL GET UNIT COUNT AND LIST
SA1 A5
AX5 12 OBTAIN DEVICE TYPE
MX4 -11
BX0 -X4*X5 DEVICE TYPE
AX5 12 SET UNIT NUMBER
MX4 -3
LX1 59-55
LX0 48
PL X1,SSD3 IF NOT *LDAM* DEVICE
BX5 X2
MX4 -6 SET FOR MAXIMUM OF 6 BIT UNIT NUMBER
SSD3 BX1 -X4*X5
LX2 12 POSITION UNIT COUNT
BX5 X2
RJ COD CONVERT UNIT NUMBER TO DISPLAY
MX4 -12 MERGE UNIT NUMBER WITH DEVICE TYPE
BX3 -X4*X6
LX3 6
BX0 X0+X3
MX4 -3 SET NUMBER OF UNITS
BX3 -X4*X5
ZR X3,SSD4 IF ONLY 1 UNIT
SX1 X3+B1
RJ CDD CONVERT NUMBER OF UNITS
MX4 -6
BX2 -X4*X6
SX1 1R-
LX1 6
BX3 X1+X2
LX3 36
BX0 X0+X3
SSD4 BX6 X0 SAVE DEVICE TYPE AND UNIT NUMBER
SA6 TSEQ+B5
* FORMAT DEVICE NUMBER AND FAMILY NAME.
MX0 -6
SA2 MSTB+PFGL OBTAIN DEVICE NUMBER AND FAMILY NAME
AX2 12
BX1 -X0*X2
AX2 6
MX3 -42
BX0 -X3*X2 FAMILY NAME
BX6 X6-X6 INITIALIZE DEVICE NUMBER AND FAMILY NAME
ZR X0,SSD5 IF NO DEVICE PRESENT
RJ COD CONVERT DEVICE NUMBER TO DISPLAY
MX3 12
LX6 48
BX6 X3*X6
BX6 X6+X0
SSD5 SA6 TSFM+B5 STORE DEVICE NUMBER AND FAMILY NAME
SB5 B5+B1 INCREMENT NUMBER OF SHARED DEVICES
* PUT MID-S ACCESSING DEVICE IN *TSMI*.
SA4 A5 READ EST ENTRY
SB3 B1
LX4 59-52
PL X4,SSD12 IF EXTENDED MEMORY MMF DEVICE
LX4 59-54-59+52
BX7 X7-X7
NG X4,SSD11 IF DEVICE NOT AVAILABLE
SA1 MSTB+TRLL READ FWA OF TRT
MX0 -18
BX1 -X0*X1
SA3 MSTB+TDGL READ TRT LENGTH
AX3 24
MX0 -12
BX2 -X0*X3 TRT LENGTH
IX1 X1+X2 BEGINNING OF MRT
SX2 X2+7
AX2 3 MRT LENGTH
IX1 X1+X2 ADDRESS OF DIT
SA3 RDIT SET DIT ADDRESS IN *RSB* CONTROL WORD
LX1 18
BX6 X1+X3
SA6 LCSW
SYSTEM RSB,R,LCSW READ DIT
SA5 MMFP MAINFRAME ID
SB4 MMPF-1 MAXIMUM SHARED MAINFRAMES
SB2 48
BX7 X7-X7
SB3 B0 NUMBER OF MIDS FOR THIS MAINFRAME
LX5 12
BX5 -X0*X5 MID OF THIS MAINFRAME
SSD6 SA3 B4+SCRB
ZR X3,SSD10 IF NO ENTRY
BX3 -X0*X3 MID ACCESSING DEVICE
BX4 X3-X5 COMPARE MID
BX6 X3
SA2 TMID+TMIDI-1
SSD7 SA2 A2+B1 SET TABLE OF MACHINE ID-S
ZR X2,SSD8 IF END OF KNOWN MID-S
LX2 12
BX2 X2-X3 COMPARE ENTRY
BX2 -X0*X2
NZ X2,SSD7 IF NO MATCH
EQ SSD9 MID ALREADY IN TABLE
SSD8 LX6 48
ZR X4,SSD10 IF THIS MF
SX2 B1 SET MF RUNNING ISHARE MODE
LX2 47
BX6 X6+X2
SA6 A2+ SET MID IN TABLE
SSD9 LX3 B2,X3
BX7 X7+X3 ADD MID TO LIST WORD
SB2 B2-12
SB3 B3+B1
PL B2,SSD10 IF THIS MID LIST WORD IS NOT FULL
SA7 A0
SA0 A0+B1
SB2 48
BX7 X7-X7
SSD10 SB4 B4-1 DECREMENT MF ORDINAL
PL B4,SSD6 IF MORE MACHINES TO CHECK
SSD11 NZ X7,SSD12 IF LIST WORD IS NOT EMPTY
SX7 B1+
SSD12 SA7 A0
SA0 A0+B1
SA5 NKDP INCREMENT THE NUMBER OF LINES USED
SX6 1S18/6+1 DIVIDE NUMBER OF MIDS - 1 BY 6
SX7 B3-B1
IX7 X7*X6
AX7 18
SX7 X7+B1 INSURE AT LEAST ONE LINE
UX6,B3 X5
SB3 B3+X7
SX5 B3-PAGLN-1
NG X5,SSD13 IF THIS DEVICE WILL NOT REQUIRE A NEW PAGE
SX6 X6+1 INCREMENT THE NUMBER OF PAGES USED
SB3 X7+ SET THE NUMBER OF LINES USED ON NEW PAGE
SSD13 PX7 X6,B3
SA7 A5
EQ SSD1 LOOP FOR NEXT EQUIPMENT
MWD SPACE 4,10
** MWD - MOVE N WORDS.
*
* ENTRY (B2) = ADDRESS TO GET DATA FROM.
* (B3) = ADDRESS TO MOVE DATA TO.
* (B4) = NUMBER OF WORDS TO MOVE.
*
* USES X - 1, 6.
* A - 1, 6.
* B - 2, 3, 5.
MWD1 SA1 B2
BX6 X1
SA6 B3
SB5 B5+B1 INCREMENT COUNTERS
SB2 B2+B1
SB3 B3+B1
NE B4,B5,MWD1 IF MORE WORDS TO MOVE
MWD SUBR ENTRY/EXIT
SB5 B0 INITIALIZE COUNTER
EQ MWD1
COMMON SPACE 4,10
** COMMON DECKS.
*CALL COMCCDD
*CALL COMCCOD
*CALL COMCCPM
*CALL COMCDCP
*CALL COMCDXB
*CALL COMCRSB
*CALL COMCSYS
*CALL COMCUPC
TITLE K-DISPLAY CONTROL.
DSD SPACE 4,15
** DSD - DISPLAY MACHINES SHARING DEVICE.
*
* ENTRY (DBFA) = 30/ BUFFER A,30/ BUFFER B.
* (FNDV) = 12/PAGE NUMBER,24/ INDEX OF FIRST DEVICE,24/.
*
* EXIT K-DISPLAY COMPLETED.
* (DBFA) IS TOGGLED.
* (FNDV) = 36/ UNCHANGED, 24/ FIRST INDEX FOR NEXT PAGE.
*
* USES X - ALL.
* A - 0, 1, 2, 5, 6, 7.
* B - 5, 6, 7.
*
* CALLS CDD, CDM, COD, DWN, PGD.
DSD11 SA1 B5 CLEAR EST ORDINAL FROM NEXT UNUSED LINE
MX4 24
BX6 X4*X1
SA6 B5
SA1 FNDV SET NEXT DEVICE INDEX
SA2 DBFA TOGGLE BUFFER ADDRESSES
SX6 HDDS TERMINATE THE BUFFER
MX4 12
BX6 X4+X6
SA6 B5+B1
MX0 36
BX6 X0*X1
BX6 X6+X5
SA6 A1
BX6 X2
LX6 30
SA6 A2
SX1 KDCW TOGGLE TO NEW BUFFER
SX2 KPAG
SX3 1R+
LX3 -6
BX4 X4-X4
RJ PGD PAGE DISPLAY
DSD SUBR ENTRY/EXIT
SA5 DBFA CLEAR DISPLAY BUFFER
SB7 X5+LLEN*PAGLN
SB6 X5+
DSD1 MWORDS BLKW,B6+B1,LLEN-1
SB6 B6+LLEN
LT B6,B7,DSD1 IF MORE LINES TO CLEAR
SA1 FNDV SET FIRST DEVICE INDEX
AX1 24
SA0 X1
AX1 24 GET CURRENT PAGE NUMBER
SX1 X1+B1
RJ CDD CONVERT TO DECIMAL DISPLAY CODE
SA5 DBFA SET BUFFER FWA
BX7 X4
SB5 X5
SB7 B5+PAGLN*LLEN
SA7 B5-1
ERRNZ SDD1-1-PGN1 CODE DEPENDS ON VALUE
ERRNZ SDD2-1-PGN2 CODE DEPENDS ON VALUE
DSD2 SA5 TSDV+A0 GET NEXT SHARED DEVICE
ZR X5,DSD11 IF NO MORE DEVICES
MX4 -12 GET EST ORDINAL
BX1 -X4*X5
RJ COD CONVERT EST ORDINAL TO DISPLAY CODE
LX6 18 STORE EST ORDINAL IN K-DISPLAY
SA1 B5
MX4 24
BX3 X4*X1
SA1 TSEQ+A0 GET DEVICE TYPE AND UNIT NUMBER
BX6 -X4*X6
BX6 X6+X3
SA6 B5
BX6 X1
SA1 TSFM+A0 GET DEVICE NUMBER AND PACK NAME
SA6 A6+B1
SX7 2R
MX2 12
MX3 -24
BX2 X2*X1 GET DEVICE NUMBER
BX3 -X3*X1 GET LOWER 4 CHARACTERS OF PACK NAME
BX1 X1-X2 GET UPPER 3 CHARACTERS OF PACK NAME
AX1 24
BX6 X7+X2
LX6 48
BX6 X6+X1
SA6 A6+B1
SX1 B1 BLANK FILL PACK NAME
LX7 48
IX1 X3-X1 UPPER BITS = 1 IF FILLING NECESSARY
LX3 36
BX7 X1*X7
BX3 -X1*X3
BX7 X7+X3
SX2 6000B+10B*35 SET COORDINATE OF FIRST MID
BX7 X7+X2
SA7 A6+B1
BX0 X5
LX0 59-12
SB5 B5+LLEN SET BEGINING OF NEXT LINE
NG X0,DSD3 IF ISHARE DEVICE
SA1 TMID-1 INITIALIZE MACHINE INDEX
AX5 48
BX6 X6-X6 PROCESS FIRST TWO SHARED MACHINES
RJ CDM
LX6 30
RJ CDM
SA6 A7+B1
BX6 X6-X6 PROCESS SECOND TWO SHARED MACHINES
RJ CDM
LX6 30
RJ CDM
SA6 A6+B1
BX6 X6-X6 PROCESS LAST TWO SHARED MACHINES
RJ CDM
LX6 30
RJ CDM
SA6 A6+B1
ERRNG 7-MXMF CODE CAN HANDLE UP TO 7 MAINFRAMES
EQ DSD9 ADVANCE TO NEXT DEVICE
DSD3 LX0 -24+12-59+60
SA5 X0 SET MID LIST ADDRESS
BX7 X7-X7 CLEAR MID ACCUMULATOR
MX4 12
DSD4 NZ X5,DSD5 IF MID LIST WORD IS NOT EXHAUSTED
SA1 TSDV+A0
AX1 24 GET FWA OF LIST
SB6 X1+SMLX-1
SB6 A5-B6
PL B6,DSD7 IF BEYOND MAXIMUM NUMBER OF MIDS
SA5 A5+1 GET NEXT LIST WORD
DSD5 BX0 X4*X5 GET NEXT MID
BX6 X7 SAVE THE CURRENT STATE OF THE ACCUMULATOR
ZR X0,DSD7 IF END OF MID LIST
SX2 1R* CHECK IF MACHINE DOWN
RJ DWN
LX1 59-47 CHECK FOR ISHARE DEVICE
LX0 18
NG X1,DSD6 IF ISHARE DEVICE
ZR B6,DSD6 IF MACHINE NOT DOWN
BX0 X2+X0
DSD6 LX0 42 POSITION MID
BX5 X4+X5
LX7 30
LX5 12
BX7 X7+X0 MERGE MIDS
ZR X6,DSD4 IF THIS IS FIRST MID IN THE ACCUMULATOR
LX7 30 REORDER THE MIDS
DSD7 ZR X7,DSD9 IF THE ACCUMULATOR IS EMPTY
SB6 A7+1
GE B6,B5,DSD8 IF A NEW LINE IS NECESSARY
SA7 A7+B1
BX7 X7-X7
EQ DSD4 GET NEXT MID
DSD8 SA1 B5 GET FIRST WORD OF NEXT LINE
SX2 2R
MX0 24
LX2 -12
BX6 X0*X1
SX0 6000B+10B*35
SA6 A1 CLEAR EST ORDINAL AREA
BX6 X0+X2
SA6 A6+3 CLEAR PACK NAME AREA
SA7 A6+B1 STORE MID(S)
BX7 X7-X7
SB5 B5+LLEN
EQ DSD4 GET NEXT MID
DSD9 SA0 A0+B1 INCREMENT DEVICE INDEX
LT B5,B7,DSD2 IF NOT END OF PAGE
SX5 A0
EQ B5,B7,DSD11 IF THE PAGE DID NOT OVERFLOW
SX5 A0-1 IGNORE LAST ENTRY
DSD10 SB5 B5-LLEN
SA1 B5
SX1 X1
ZR X1,DSD10 IF NOT THE BEGINNING OF A LINE
EQ DSD11 EXIT
PAG SPACE 4,15
** PAG - PAGE LEFT DISPLAY.
*
* ENTRY (B7) = FORWARD/BACKWARD FLAG.
* = 0 = PAGE FORWARD.
* = 1 = PAGE BACKWARD.
* (FNDV) = CURRENT PAGE AND NEXT PAGE FIRST DEVICE.
*
* EXIT (FNDV) IS UPDATED TO REFLECT PAGE COMMAND.
*
* USES X - 4, 6.
* A - 4, 6.
*
* CALLS DSD.
PAG SUBR ENTRY/EXIT
SA4 FNDV
SX6 B7-1
ZR X6,PAG1 IF PAGING BACKWARD
SX6 X4 GET NEXT INDEX
AX4 48 GET CURRENT PAGE NUMBER
ZR X6,PAG1 IF NO MORE DEVICES
SX4 X4+1 INCREMENT THE PAGE NUMBER
LX4 24
BX6 X6+X4
LX6 24
PAG1 SA6 A4
RJ DSD DISPLAY SHARED DEVICES
EQ PAGX RETURN
PGD HERE ASSEMBLE PAGING SUBROUTINE HERE
KPAG PAGT LPG1 PAGING TABLE
PAGT LPG2
PAGT
PAGT RPG1
PAGT RPG2
PAGT *
PKE SPACE 4,20
** PKE - PROCESS KEYBOARD ENTRY.
*
* ENTRY (NPAR) = NUMBER OF PARAMETERS ON COMMAND.
*
* EXIT (B6) = NUMBER OF PARAMETERS.
* (NPAR) = 0.
* COMMAND OR KEYBOARD ENTRY UNPACKED AND
* IN PARAMETER BUFFER.
*
* USES X - ALL.
* A - 2, 5, 6, 7.
* B - 3, 6, 7.
*
* CALLS PAG, PGD, UPC.
*
* MACROS CONSOLE, MWORDS, RECALL.
PKE6 MWORDS ARGR,PARM,62B MOVE PARAMETERS TO *PARM*
BX6 X6-X6
SB6 X2 NUMBER OF PARAMETERS
SA6 NPAR SET TO REQUEST K-DISPLAY ON ERROR
SX6 B1+ SET AUTOMATIC *GO*, *STOP*
SA6 AUTO
PKE SUBR ENTRY/EXIT
SX6 B0+ CLEAR PARAMETER AREA
SB3 PARML-1
PKE1 SA6 PARM+B3
SB3 B3-1
GE B3,PKE1 IF MORE WORDS TO CLEAR
SA6 I CLEAR INPUT BUFFER
* CHECK FOR INPUT IF NO PARAMETERS ON COMMAND.
SA2 NPAR
NZ X2,PKE6 IF PARAMETERS ON COMMAND
BX6 X2 DISABLE AUTOMATIC *GO*, *STOP*
SA6 AUTO
PKE2 SX7 B0+ CLEAR THE INPUT BUFFER
SA7 I
CONSOLE KDCW
PKE3 RECALL
SA2 I
ZR X2,PKE3 IF INPUT NOT READY
MWORDS I,KBDS+1,5 MOVE INPUT TO DISPLAY LINE
MWORDS BLKW,MSDS+1,4 CLEAR MESSAGE LINE
* CHECK FOR PAGING COMMAND.
MX0 6
BX3 X0*X2
LX3 6
SB7 X3-1R+
NG B7,PKE5 IF NOT A PAGING COMMAND
GT B7,B1,PKE4 IF NOT A LEFT SCREEN COMMAND
RJ PAG PAGE THE LEFT SCREEN DISPLAY
EQ PKE2 GET THE NEXT COMMAND
PKE4 SX1 KDCW
SX2 KPAG
LX3 -6
BX4 X4-X4
RJ PGD PAGE DISPLAY
ZR X4,PKE2 IF THE COMMAND WAS A PAGING COMMAND
* UNPACK COMMAND.
PKE5 SA5 CCARD
SB7 PARM-1
RJ UPC UNPACK COMMAND
ZR B6,PKEX IF NO ARGUMENTS
SB6 B6-B1 SKIP FIRST ARGUMENT
EQ PKEX RETURN
CCARD DIS 1,MREC, COMMAND IMAGE
I BSSZ 8 INPUT BUFFER
KDCW VFD 24/I,18/RPG1,18/LPG1 K-DISPLAY CONTROL WORD
BLKW DATA 58L
EJECT
** K-DISPLAY ERROR MESSAGES.
ERR1 DIS 3,INCORRECT ENTRY.
ERR2 DIS 3,INCORRECT FORMAT FOR MID.
ERR3 DIS 3,INCORRECT FORMAT FOR EQ ENTRY.
ERR4 DIS 3,MID SPECIFIED NOT DOWN.
ERR5 DIS 3,MID SPECIFIED NOT FOUND.
ERR7 DIS 3,MID NOT SPECIFIED.
ERR8 DIS 3,INCORRECT OPTION.
ERR9 DIS 3,INCORRECT EQUIPMENT.
SPACE 4
** K-DISPLAY INFORMATIVE MESSAGE. MESSAGE ALSO GOES
* TO THE DAYFILE.
MES1 DIS 3, PROCESSING COMPLETE.
BSSZ 1
SPACE 4
** PARAMETER AREA.
BSS 1 COMMAND NAME (FOR *UPC*)
PARM BSS PARML
EJECT
** COMMON LEFT SCREEN LINES FOR K-DISPLAY.
HDDS KDL 1,M,(..) DETERMINE MESSAGE LINE
M EQU K-1
ORG HDDS
HDDS KDL 1,T,(MACHINE RECOVERY UTILITY)
PGDS KDL 59,T,( OF 99)
KDL 2,,(EQ TYPE UN DN FM/PN)
KDL 40,K,(MIDS SHARING DEVICE)
KDL 1,K,(--- ---- -- -- ------- -----------------
,--------------)
IDDS KDL 1,M-3,(ID OF DOWNED MACHINE = )
KDL 1,M-2,(EQ(S) TO RECOVER =)
EQDS KDL 20,M-2,(ALL "40BLANKS")
EQDS1 KDL 1,M-1,("60BLANKS")
MSDS KDL 1,M,("40BLANKS")
KBDS KDL 1,I,("50BLANKS")
CON 0 END OF BUFFER
DFEQ KDL 20,M-2,(ALL)
SPACE 4
** GENERATE EQUIPMENT DISPLAY BUFFERS FOR K-DISPLAY.
LPG1 VFD 12/0,36/0,12/0 K-DISPLAY CONTROL WORD
KDL 52,T,( PAGE XX)
PGN1 EQU *-1
K SET K+2
SDD1 BSS 0
.A DUP PAGLN+2
KDL 1,K,("60BLANKS")
.A ENDD
KDL 1,K,() LAST LINE
VFD 12/7777B,48/HDDS
LPG2 VFD 12/0,36/0,12/0 K-DISPLAY CONTROL WORD
KDL 52,T,( PAGE XX)
PGN2 EQU *-1
K SET K+2
SDD2 BSS 0
.A DUP PAGLN+2
KDL 1,K,("60BLANKS")
.A ENDD
KDL 1,K,() LAST LINE
VFD 12/7777B,48/HDDS
EJECT
** RIGHT SCREEN FOR K-DISPLAY.
RPG1 VFD 12/0,36/0,12/0 K-DISPLAY CONTROL WORD
KDL 1,T,(MREC)
KDL 54,T,(PAGE 1 OF 2)
KDL 2,H,(PARAMETER DESCRIPTIONS)
KDL 2,K,(ID MID OF DOWNED MACHINE TO PROCESS.)
KDL 2,K,(EQ EST ORDINALS OF DEVICES SHARED BETWEEN THIS
, MACHINE)
KDL 9,K,(AND DOWNED MACHINE TO PROCESS. ENTER AS)
KDL 9,K,(EQ=XXX,XXX,...,XXX. THE DEFAULT IS EQ=ALL.)
KDL 2,K,(OP MAY BE ENTERED IF 844 RESERVE SITUATIONS OC
,CUR.)
KDL 9,K,(THE RESPONSE APPLIES ONLY TO THE CURRENT SITUATION
,.)
KDL 13,K,(OP=I IGNORE CURRENT DEVICE.)
KDL 13,H,(OP=R CLEAR ALL UNIT RESERVES ON THAT CONTROLLE
,R.)
KDL 2,H,(K DISPLAY COMMANDS)
KDL 2,K,(GO INITIATE PROCESSING OF DEVICES SPECIFIED.)
KDL 2,K,(RERUN REINITIALIZE K-DISPLAY AND RERUN PROGRAM.)
KDL 2,K,(STOP TERMINATE PROGRAM.)
KDL 2,K,(+ PAGE LEFT DISPLAY FORWARD.)
KDL 2,K,(- PAGE LEFT DISPLAY BACKWARD.)
CHAR 1R[,1R( REPLACE *[* WITH *(*
CHAR 1R],1R) REPLACE *]* WITH *)*
CODE OTHER
KDL 2,K,([ PAGE RIGHT DISPLAY FORWARD.)
KDL 2,K,(] PAGE RIGHT DISPLAY BACKWARD.)
CODE *
CON 0 END OF BUFFER
EJECT
** PAGE TWO OF RIGHT SCREEN.
RPG2 VFD 12/0,36/0,12/0 K-DISPLAY CONTROL WORD
KDL 1,T,(MREC)
KDL 54,T,(PAGE 2 OF 2)
KDL 1,H,(DESCRIPTION OF TABLE ENTRIES.)
KDL 1,,(EQ)
KDL 24,K,(EST ORDINAL OF EQUIPMENT.)
KDL 1,,(UN)
KDL 24,K,(UNIT NUMBER.)
KDL 1,,(DN)
KDL 24,K,(DEVICE NUMBER.)
KDL 1,,(FM/PN)
KDL 24,K,(FAMILY OR PACK NAME.)
KDL 1,,(MIDS SHARING DEVICE)
KDL 24,K,(MACHINE ID-S OF OTHER MACHINES)
KDL 24,K,(CURRENTLY SHARING THE DEVICE.)
KDL 1,,(* (BESIDE MID))
KDL 24,K,(THE MACHINE IS DOWN. IT CANNOT BE)
KDL 24,K,(DETERMINED IF MACHINES RUNNING IN)
KDL 24,K,(SHARED RMS MODE ARE DOWN.)
CON 0 END OF BUFFER
EJECT
USE BUFFERS
** BUFFERS.
ESTB EQU * EST BUFFER
MSTB EQU ESTB+ESMX*ESTE MST BUFFER
SCRB EQU MSTB+MSTBL SCRATCH BUFFER
RFL= EQU SCRB+ESMX+1
TITLE PRESET.
** PRS - PRESET PROGRAM.
*
* EXIT (NPAR) = NUMBER OF PARAMETERS.
* (MMFP) = *MMFL* WORD FOR THIS MACHINE.
*
* USES X - 1, 3, 4, 6, 7.
* A - 1, 6, 7.
* B - 1.
*
* CALLS PRK.
*
* MACROS EREXIT, MESSAGE, SYSTEM.
PRS SUBR ENTRY/EXIT
SB1 1 INITIALIZE B1
EREXIT ABT SET ABORT PROCESSOR
SA1 JOPR CHECK ORIGIN TYPE
MX3 -12
AX1 24
BX6 -X3*X1
SX4 X6-SYOT
ZR X4,PRS1 IF SYSTEM ORIGIN
MESSAGE PRSA * INCORRECT ORIGIN TYPE.*
EQ ABT1
PRS1 SA1 ACTR SET NUMBER OF PARAMETERS
SX6 X1
SA6 NPAR
SA1 RMMF READ *MMFL* WORD FROM LOW CORE
MX7 1
BX6 X1
SA6 LCSW
SA7 MMFP SET LOW CORE READ
SYSTEM RSB,R,LCSW
SX3 PRSB
RJ PRK PRESET *K* DISPLAY COORDINATES
EQ PRSX RETURN
PRSA DATA C* INCORRECT ORIGIN TYPE.*
PRSB KDL * Y-COORDINATE TABLE
PRK HERE ASSEMBLE Y-COORDINATE PRESET CODE HERE
END