IDENT QAP,BCA QAP - QUEUE AUXILIARY PROCESSOR
PERIPH
BASE MIXED
SST
QUAL$ SET 0 FORCE UNQUALIFIED COMMON DECKS
*COMMENT QAP - QUEUE AUXILIARY PROCESSOR.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
TITLE QAP - QUEUE AUXILIARY PROCESSOR.
SPACE 4
*** QAP - QUEUE AUXILIARY PROCESSOR.
*
* G. R. MANSFIELD. 70/09/11.
* P. D. HAAS. 74/04/19.
* R. M. YASUHARA. 75/01/17.
* R. A. JAPS. 77/09/25. (RENAMED)
SPACE 4
*** *QAP* IS CALLED BY SUBSYSTEMS SUCH AS *BATCHIO* OR
* *RBF* TO PROCESS SPECIAL REQUESTS THAT ARE IMPOSSIBLE OR
* INCONVENIENT TO BE PERFORMED BY THE SUBSYSTEM.
SPACE 4,10
*** QAP CALL.
*
*T IR 18/ QAP , 6/ , 12/ SF , 6/ , 18/ FET
* SF *BATCHIO* DRIVER STATUS BLOCK FLAGS.
* FET FWA OF FET.
*
*
* FORMAT OF *QAP* FET. (REFER TO *COMSBIO* FOR FET FORMAT
* FOR *BATCHIO*.)
*
*T FET+0 42/ FILE NAME , 8/ , 9/ FC , 1/C
*T,FET+1 42/ 0 , 18/ FIRST
*T,FET+2 42/ 0 , 18/ IN
*T,FET+3 42/ 0 , 18/ OUT
*T,FET+4 12/ FNT ,12/ ORD ,12/ SC ,6/ 0 ,18/ LIMIT
*T,FET+5 12/ CONTROL, 1/ B, 1/ V, 1/ F, 1/ L, 8/ PS, 24/ 0, 12/ ORIGIN
*
* FC FUNCTION CODE. (REFER TO *COMSBIO*).
* C COMPLETE BIT.
* FNT FNT ADDRESS OF FILE.
* ORD QFT ORDINAL.
* SC SPACE CODE (PFC PRINTERS).
* CONTROL BANNER PAGE CONTROL INFORMATION. CALLING PROGRAM
* SHOULD SET THIS FIELD TO ZERO ON THE INITIAL CALL
* TO THE GENERATE BANNER PAGE FUNCTION. *QAP* RETURNS
* BANNER PAGE INFORMATION TO BE USED ON FUTURE
* GENERATE BANNER PAGE CALLS.
* B SET IF NO BOTTOM OF FORM POSITIONING (NON-*BATCHIO*)
* V ELECTRONIC VERTICAL FORMAT UNIT FLAG. SET IF PRINTER
* FOR WHICH THE CALL WAS MADE IS EQUIPPED WITH THE
* ELECTRONIC VERTICAL FORMAT UNIT (NON-*BATCHIO*)
* F NOT FIRST PAGE FLAG. SET IF THIS CALL IS FOR A SECOND
* OR SUBSEQUENT BANNER PAGE (NON-*BATCHIO*)
* L NOT LAST PAGE FLAG. SET IF THERE WILL BE A SUBSEQUENT
* CALL FOR ANOTHER BANNER PAGE (NON-*BATCHIO*)
* PS PRINT PAGE SIZE (*NON-BATCHIO*)
* ORIGIN ORIGIN TYPE ASSOCIATED WITH SPECIFIED FILE.
* 0 = SYSTEM.
* 1 = BATCH.
* 2 = REMOTE.
SPACE 4
*** DAYFILE MESSAGES.
*
* *QAP - BUFFER ARGUMENT ERROR.*
* CAN INDICATE ONE OF THE FOLLOWING CONDITIONS.
* 1. BUFFER DOES NOT CONTAIN THE REQUIRED NUMBER OF WORDS OF
* DATA FOR THE PARTICULAR FUNCTION.
* 2. BUFFER POINTERS (FIRST, IN, OUT, LIMIT) ARE OUT OF RANGE.
*
* * QAP - INCORRECT REQUEST.*
* CAN INDICATE ONE OF THE FOLLOWING CONDITIONS.
* 1. USER IS NOT VALIDATED TO CALL *QAP*.
* 2. FWA OR LWA OF FET IS OUT OF RANGE.
* 3. THE FUNCTION CODE IS INCORRECT.
* 4. AN FNT ADDRESS WAS NOT SPECIFIED WHEN IT WAS REQUIRED.
* 5. COMPLETE BIT WAS SET IN THE FET.
BIO SPACE 4,10
*** MESSAGES ISSUED AT *BIO* CONTROL POINT.
*
* *END XXX,YY.* = OPERATOR ENTERED *END* COMMAND.
*
* *REP XXX,YY.* = OPERATOR ENTERED *REPEAT* COMMAND.
*
* *SUP XXX,YY.* = OPERATOR ENTERED *SUPPRESS* COMMAND.
*
* *RRN XXX,YY.* = OPERATOR ENTERED *REPRINT*/*REPUNCH* COMMAND.
*
* *HLD XXX.* = OPERATOR ENTERED *STOP* COMMAND.
*
* *CON XXX.* = OPERATOR ENTERED *CONTINUE* COMMAND.
*
* *BKP XXX,YY.* = OPERATOR ENTERED *BKSP* COMMAND.
*
* *BKR XXX,YY.* = OPERATOR ENTERED *BKSPRU* COMMAND.
*
* *BKF XXX,YY.* = OPERATOR ENTERED *BKSPF* COMMAND.
*
* *SKP XXX,YY.* = OPERATOR ENTERED *SKIP* COMMAND.
*
* *SKR XXX,YY.* = OPERATOR ENTERED *SKIPRU* COMMAND.
*
* *SKF XXX,YY.* = OPERATOR ENTERED *SKIPF* COMMAND.
*
* WHERE-
* XXX = EST ORDINAL.
* YY = OPTIONAL COUNT SPECIFED ON COMMAND.
SPACE 4,10
*** OPERATOR MESSAGES.
*
* *INCOMPLETE BANNER PAGE.*
* AN INFORMATIVE MESSAGE INDICATING THAT *BIO* IS
* UNABLE TO PRINT THE ENTIRE BANNER PAGE. TO CORRECT
* THIS PROBLEM, THE SIZE OF THE CM BUFFER RESERVED
* FOR PRINTERS MUST BE INCREASED OR THE AMOUNT OF DATA
* GENERATED BY THE *GENERATE BANNER PAGE* FUNCTION
* MUST BE REDUCED. ENTER THE COMMAND *GO,BIO.* TO
* CLEAR THIS MESSAGE.
*
* *REQUEST *I* DISPLAY.*
* *BIO* HAS DETECTED AN ABNORMAL CONDITION ON AN
* ASSIGNED UNIT RECORD DEVICE. CHECK THE STATUS
* FIELD ON THE *I* DISPLAY FOR MORE SPECIFIC INFORMATION.
* THE MESSAGE WILL REMAIN UNTIL THE CONDITION IS
* CORRECTED.
*
* *TRACK LIMIT.*
* INFORMATIVE MESSAGE INDICATING *BIO* IS UNABLE TO
* ASSIGN MASS STORAGE SPACE TO AN INPUT FILE. *BIO*
* WILL CONTINUE TO ATTEMPT TO ASSIGN SPACE UNTIL THE
* SPACE IS ACTUALLY ASSIGNED OR *BIO* IS DROPPED BY
* THE OPERATOR.
SPACE 4
SPACE 4
*** ERRLOG MESSAGES.
*
* *EQXXX CHANNEL PARITY ERROR.* = A PARITY ERROR WAS DETECTED
* ON A CONVERTER OR EQUIPMENT.
*
* *EQXXX COMPARE ERROR.* = COMPARE ERROR WAS DETECTED.
*
* *EQXXX CONTROLLER HUNG BUSY.* = THE CONTROLLER DOES NOT DROP
* BUSY STATUS.
*
* *EQXXX FEED FAILURE.* = CARD FEED PROBLEM WAS DETECTED.
*
* *EQXXX FUNCTION TIMEOUT* = A FUNCTION TIMEOUT WAS DETECTED
* ON A CONVERTER OR EQUIPMENT FUNCTION.
*
* *EQXXX INCOMPLETE DATA TRANSFER.* = AN INCOMPLETE DATA
* TRANSFER WAS DETECTED.
*
* *EQXXX INTERNAL/EXTERNAL REJECT.* = AN INTERNAL OR EXTERNAL
* REJECT WAS DETECTED.
*
* *EQXXX NNNN PRINT ERRORS.* = PRINT ERRORS DETECTED.
*
* *EQXXX PFC ERROR.* = ERROR LOADING PFC MEMORY.
*
* *EQXXX PRINT ERROR LIMIT EXCEEDED.* = PRINT ERROR LIMIT WAS
* EXCEEDED.
*
* *EQXXX TRANSMISSION PARITY ERROR.* = A TRANSMISSION PARITY
* ERROR WAS DETECTED.
*
* *EQXXX TURNED OFF BY SYSTEM.* = FAULTY EQUIPMENT
* WAS TURNED OFF BY THE SYSTEM.
*
* WHERE -
* EQ = EQUIPMENT MNEMONIC.
* XXX = EST ORDINAL.
* NNNN = NUMBER OF PRINT ERRORS.
SPACE 4
** ROUTINES USED.
*
*
* 0BF - BEGIN FILE.
SPACE 4
*** *1CD* - *QAP* INTERFACE.
*
*
* *1CD* AND *QAP* COMMUNICATE PRIMARILY VIA BYTE 4 OF THE
* FIRST WORD OF THE FET. WHEN *1CD* MAKES A REQUEST,
* THIS BYTE IS SET WITH THE REQUEST CODE AND BIT 0
* IS CLEARED, INDICATING THAT THIS BUFFER
* IS BUSY. UPON COMPLETION OF THE REQUESTED TASK,
* *QAP* WILL SET BIT 0 OF THIS BYTE, INDICATING THE
* BUFFER IS NO LONGER BUSY.
SPACE 4
*CALL COMPMAC
*CALL COMSACC
LIST X
*CALL COMSBIO
LIST *
*CALL COMSCIO
*CALL COMSCPS
*CALL COMSDFS
*CALL COMSDSP
*CALL COMSEVT
*CALL COMSJIO
*CALL COMSMSP
*CALL COMSPIM
*CALL COMSSSD
*CALL COMSSSE
*CALL COMSZOL
SPACE 4
**** DIRECT LOCATION ASSIGNMENTS.
NI EQU 17 MAXIMUM NUMBER USER SUPPLIED PFC IMAGES
ES EQU 20 - 24 EST BUFFER
FS EQU 20 - 24 FST ENTRY
EQ EQU 25 EST ORDINAL
FP EQU 26 - 32 FILE PARAMETER AREA
CN EQU 33 - 37 CM WORD BUFFER (5 LOCATIONS)
F6 EQU 33 - 37 FILE PARAMETER WORD (5 LOCATIONS)
CS EQU F6 CONVERTER STATUS (FET+6 - BYTE 0)
ST EQU F6+1 EQUIPMENT STATUS (FET+6 - BYTE 1)
FG EQU F6+2 *BATCHIO* FLAGS
BS EQU 40 - 44 BUFFER STATUS
FC EQU 45 FUNCTION CODE
BF EQU 46 BUFFER POINT OFFSET
FO EQU 47 QFT ORDINAL
BA EQU 47 BUFFER ADDRESS
ET EQU IR EQUIPMENT TYPE
FA EQU 57 FST ADDRESS
FT EQU 60 - 61 FIRST POINTER
IN EQU 62 - 63 INPUT POINTER
OT EQU 64 - 65 OUTPUT POINTER
LM EQU 66 - 67 LIMIT POINTER
****
SPACE 4,10
* DEFINE QUAL BLOCK ORDER.
QUAL ACT
QUAL LPM
QUAL 5BA
QUAL 5BB
QUAL 5BC
QUAL 5BD
QUAL PHD
QUAL POR
QUAL CEC
QUAL PFC
QUAL GBP
QUAL
SPACE 4
TITLE MACRO DEFINITIONS.
ABORT SPACE 4,10
** ABORT - ABORT MACRO.
*
* ABORT ADDR
*
* *ADDR* = FWA OF ERROR MESSAGE.
PURGMAC ABORT
ABORT MACRO A
LDC A
RJM ABT
ENDM
DFMSG SPACE 4
** DFMSG - DEFINE DAYFILE MESSAGE TABLE.
*
*TAG DFMSG PROC,(MESSAGE CHARACTER STRING)
*
* ENTRY *TAG* - IF PRESENT, TABLE BASE ADDRESS.
* PROC - ADDRESS OF DAYFILE MESSAGE PROCESSOR.
MACRO DFMSG,TAG,PROC,MESS
IFC NE,$TAG$$
MSGN SET 0
TAG EQU *-2
DFMT RMT
MSGN SET 0
RMT
ENDIF
MSGN SET MSGN+1
MSGA DECMIC MSGN
CON PROC,MSG."MSGA"
IFC NE,$MESS$$
DFMT RMT
MSGN SET MSGN+1
MSGA DECMIC MSGN
MSG."MSGA" DATA C$MESS$
RMT
ELSE
MSG."MSGA" EQU 0
DFMT RMT
MSGN SET MSGN+1
RMT
ENDIF
ENDM
DBMLT SPACE 4,10
** DBMLT - DEFINE BML MESSAGE TABLE.
*
* DBMLT MSGCD,PROC,SYMPC,NBYTES,TXTADR
*
* ENTRY MSGCD = MESSAGE CODE.
* PROC = ADDRESS OF BML MESSAGE PROCESSOR.
* SYMPC = SYMPTOM CODE FOR BML MESSAGE.
* NBYTES = NUMBER OF BYTES IN BML MESSAGE.
* TXTADR = ERROR LOG MESSAGE TEXT ADDRESS.
DBMLT MACRO MSGCD,PROC,SYMPC,NBYTES,TXTADR
DTPR RMT
INDEX MSGCD-ERRF,PROC
RMT
DTSY RMT
INDEX MSGCD-ERRF,SYMPC
RMT
DTNB RMT
INDEX MSGCD-ERRF,NBYTES
RMT
DTTA RMT
INDEX MSGCD-ERRF,TXTADR
RMT
ENDM
LDA SPACE 4,10
** LDA - LOAD ADDRESS MACRO.
*
* LDA D,M
*
* (D - D+1) = RELATIVE ADDRESS.
* M IF SPECIFIED, LOWER 5 BITS OF *D* WILL BE USED.
PURGMAC LDA
LDA MACRO X,M
LDD X
IFC NE,*M**,1
LPN 37
SHN 6
ADD RA
SHN 6
ADD X+1
ENDM
TITLE MAIN PROGRAM.
BCA SPACE 4
** BCA - MAIN PROGRAM.
ORG PPFW
BCA LJM PRS PRESET PROGRAM
* EXIT.
BCAX AOD BS+4 SET STATUS COMPLETE
RJM WSB STORE STATUS BLOCK (IF LOADED)
LDA IR+3 STORE BUFFER STATUS
CWD BS
BCA1 MONITOR DPPM DROP PP
LJM PPR EXIT TO PP RESIDENT
TITLE ERROR PROCESSORS.
ABT SPACE 4,10
** ABT - ABORT ERROR PROCESSOR.
*
* ENTRY (A) = FWA OF ERROR MESSAGE.
*
* EXIT ERROR MESSAGE ISSUED.
* CONTROL POINT ABORTED.
*
* CALLS DFM, WSB.
ABT SUBR ENTRY
RJM DFM ISSUE MESSAGE
ABTA LDN 0
* LDN 1 (IF FET ADDRESS VALID)
ZJN ABT1 IF FET ADDRESS INCORRECT
AOD BS+4 SET FET COMPLETE
RJM WSB STORE STATUS BLOCK (IF LOADED)
LDA IR+3
CWD BS
ABT1 MONITOR ABTM ABORT CONTROL POINT
LJM PPR
SPACE 4
* ERROR MESSAGES.
ERBA DATA C* QAP - BUFFER ARGUMENT ERROR.*
ERIR DATA C* QAP - INCORRECT REQUEST.*
TITLE SUBROUTINES.
ECB SPACE 4,10
** ECB - EMPTY CENTRAL BUFFER.
*
* ENTRY (FT - FT+1) = FIRST POINTER.
* (IR+3 - IR+4) = FET ADDRESS.
*
* EXIT (A) = ADDRESS OF OUT POINTER WORD.
* (CM - CM+4) = IN/OUT POINTER WORD.
ECB SUBR ENTRY/EXIT
LDN ZERL
CRD CM
LDD FT+1 SET IN = OUT = FIRST
STD CM+4
LDD FT
STD CM+3
LDA IR+3 STORE IN POINTER
ADN 2
CWD CM
ADN 3-2 STORE OUT POINTER
CWD CM
UJN ECBX RETURN
SLL SPACE 4,10
** SLL - SET LINE LIMIT FOR PAGE.
*
* ENTRY (FG) = *BATCHIO* FLAGS.
*
* USES CM - CM+4.
SLL SUBR ENTRY/EXIT
LDD FG
LPN 10
ZJN SLL1 IF NOT PRINTER WITH SHORT FORMS
SOM SLLA
LDM LL8L FORCE 8 LPI CHARGE ON PFC
STM LL6L
SLL1 LDN IPPL FETCH DEFAULT LIMITS
CRD CM
LDC 0
LL6L EQU *-1
NJN SLL2 IF 6 LPI LIMIT FOUND IN PFC ARRAY
LDD CM
SLL2 STM EQSB+LP6L
STM EQSB+LPLL SET PAGE CHARGE FOR 6 LPI PRINTING
LDC 0
LL8L EQU *-1
NJN SLL3 IF 8 LPI LIMIT FOUND IN PFC ARRAY
SLLA LDD CM+1
* LDD CM (SHORT FORMS PRINTER)
SLL3 STM EQSB+LP8L
UJN SLLX RETURN
WSB SPACE 4,10
** WSB - WRITE DRIVER STATUS BLOCK.
*
* ENTRY (IR+2) = STATUS BLOCK UPDATE FLAGS.
* (IR+3 - IR+4) = FET ADDRESS.
*
* USES CM.
*
* MACROS LDA.
WSB SUBR ENTRY/EXIT
LDD IR+2
LPN 2
ZJN WSBX IF STATUS BLOCK NOT LOADED
LDN EDSBL
STD CM
LDN 0 CLEAR INTERLOCK
STM EQSB+CMSB
LDA IR+3 STORE STATUS BLOCK
ADN EDSO
CWM EQSB,CM
UJN WSBX RETURN
VCA SPACE 4,10
** VCA - VALIDATE CENTRAL MEMORY ADDRESS.
*
* ENTRY (IR+3 - IR+4) = RELATIVE ADDRESS.
* (T2) = BLOCK LENGTH.
*
* EXIT CONTROL POINT ABORTED IF ADDRESS OUTSIDE OF FL.
VCA SUBR ENTRY/EXIT
LDD IR+3
LPN 37
SHN 14
ADD IR+4
ADD T2
SHN -6
SBD FL
MJN VCAX IF VALID ADDRESS
ABORT ERIR * QAP - INCORRECT REQUEST.*
TITLE FUNCTION PROCESSORS.
TITLE FUNCTION PROCESSORS.
ACT SPACE 4
** ACT - PROCESS ACCOUNTING.
ACT EXECUTE 3BA
NJN CPR IF ANOTHER PPU TO BE CALLED
LJM BCAX RETURN
CEC SPACE 4,10
** CHANNEL ERROR CLEANUP PROCESSOR.
CEC EXECUTE 3BE
CPR SPACE 4,10
** CPR - CALL PP ROUTINE INTO THIS PP.
*
* ENTRY (A) = NAME OF REQUESTED PP ROUTINE.
* (IR+2, IR+3, IR+4) = SET CORRECTLY FOR PP CALL.
CPR SHN 14 SET UP PP CALL
STD IR
SHN -6
LMD IR+1
SCN 77
LMD IR+1
STD IR+1
LDD IA CALL PP ROUTINE
CWD IR
LJM PPR
IIF SPACE 4
** IIF - INITIATE INPUT FILE.
IIF BSS 0
LDD BS+4 SET *CIO* FUNCTION
LPN 30
LMN 4
STD BS+4
* SET FILE NAME TO *ZEQN*.
LDD EQ CONVERT EST ORDINAL
RJM C2D
STD BS+1
LDD EQ
SHN -6
RJM C2D
LMC 2LZZ&2LZ0
STD BS
SFA EST,EQ READ EST ENTRY
ADK EQAE
CRD CN
LDD CN+3 EQUIPMENT LOWER ACCESS LEVEL LIMIT
LPN 70
SHN 3
LMC 4000 ACCESS LEVEL SELECTION FLAG
STM IIFA
LMC 5004 SET ACCESS LEVEL FLAG AND FUNCTION
STM OVL-1
LDA IR+3 STORE FILE NAME IN FET
CWD BS
ADN 4 READ LIMIT WORD
CRD CN
* ESTABLISH THE FILE.
LDN NEEQ ASSIGN TO NULL EQUIPMENT
STD FS
EXECUTE 0BF,OVL
ZJN IIF1 IF FILE CREATED
* HANG IF LOCAL FILE LIMIT OR FILE ALREADY EXISTS
* (ADVANCE EXIT FROM *0BF*).
MONITOR HNGM HANG PP
LJM BCA1 EXIT TO DROP PP
IIF1 LDD FA SET FNT ADDRESS IN LIMIT WORD
STD CN
LDA IR+3 STORE LIMIT WORD
ADN 4
CWD CN
AOD FS+4
IIF2 LDN ZERL CLEAR REQUEST WORD
CRD CM
LDN INPS SET *MSAL* PARAMETER FOR INPUT FILE
STD CM+2
LDC ** SET ACCESS LEVEL/SELECTION FLAG
IIFA EQU *-1
STD CM+3
MONITOR RTCM REQUEST TRACK
LDD CM+4
NJN IIF3 IF TRACK ASSIGNED
LDD CP STORE CONTROL POINT MESSAGE
ADN MS2W
CWM IIFB,TR
DELAY
PAUSE
LDD CM+1
ZJN IIF2 IF NO ERROR FLAG SET
LMN IDET
ZJN IIF2 IF IDLEDOWN
NFA FA,R STORE FST INFORMATION
ADN FSTL
CWD FS
LJM BCAX DROP PPU
IIF3 STD FS+1
LDD CM+1 SET EQUIPMENT
STD FS
* STORE FILE NAME IN *BATCHIO* COMMUNICATION AREA.
LDN 0 CLEAR OPERATOR FLAGS
STD BS+4
LDD EQ SET EQUIPMENT
STD BS+3
NFA BF,R STORE BUFFER POINT WORD
CWD BS
* STORE FST INFORMATION.
NFA FA,R
ADN FSTL
CWD FS
* ENTER HERE TO CALL *CIO*.
CIO LDC 2RCI SET PP PACKAGE NAME
STD IR
LDC 1RO*100-1RP*100
RAD IR+1
LDN ZERL
CRD CM
EXECUTE CIO,=
LDD MA STORE REQUEST
CWD IR
ADN 1
CWD CM
MONITOR RPPM CALL *CIO*
LJM BCA1 DROP PP
IIFB DATA C*TRACK LIMIT.*
LPH SPACE 4
** LPH - LOAD PUNCH DATA.
LPH EXECUTE 3BC
LJM BCAX EXIT
POR SPACE 4
** POR - PROCESS OPERATOR REQUEST.
POR EXECUTE 3BD
LPR SPACE 4
** LPR - LOAD PRINT DATA.
LPR LDD BF
ZJN LPR3 IF NOT *BATCHIO* CALL
LDD ES CHECK EQUIPMENT
LPC 200
ZJN LPR2 IF NOT PFC PRINTER
LPR1 EXECUTE 3BB LOAD PFC MEMORY
LDN 0 CLEAR BANNER PAGE CONTROL INFORMATION
LPR2 STD FP
LDD F6+2 SAVE 8/12 ASCII PRINT FILE FLAG
LPN 4
STD FP+2
RJM SLL SET LINE LIMITS
* GENERATE BANNER PAGE.
LPR3 EXECUTE 3BG
LDD BF
NJN LPR5 IF *BIO* CALL
STD FP+2
STD FP+3
LDA IR+3 RETURN BANNER PAGE CONTROL INFORMATION
ADN 5
CWD FP
LDD T1 SET FET CONTROL INFORMATION
STD BS+4
LPR4 LJM BCAX RETURN
LPR5 LDD T1
LMC 1030
ZJN LPR4 IF COMPLETE BANNER PAGE
LDD CP
ADN MS2W
CWM LPRA,TR
UJN LPR4 RETURN
LPRA DATA C*$INCOMPLETE BANNER PAGE.*
PLE SPACE 4,10
** PLE - PROCESS LIMIT EXCEEDED.
PLE SFA QFT,FO READ QFT ENTRY
ADK JSNQ
CRD CM
LDD CM+4 CHECK QUEUE FILE TYPE
SHN -11
LMN PHQT
NJN PLE1 IF NOT PUNCH FILE
LJM LPH PROCESS PUNCH FILE LIMIT
PLE1 LMN PRQT&PHQT
ZJN TPF IF PRINT FILE
LJM BCAX EXIT
TPF SPACE 4,10
** TPF - TERMINATE PRINT FILE.
TPF RJM ECB EMPTY CENTRAL BUFFER
LDA CM+3 STORE MESSAGE IN BUFFER
CWM TPFB,TR
* CWM PFCA,TR (USER ACCESS NOT VALID)
TPFA EQU *-1
LDN 3 SET IN = FIRST+3
RAD CM+4
SHN -14
RAD CM+3
* ENTERED HERE FROM *3BF*.
TPF1 LDC 1030 SET EOI
STD BS+4
LDD BF
ZJN TPF2 IF NOT *BATCHIO* CALL
LDD F6+2 SET ABORT FLAG
SCN 2
LMN 2
STD F6+2
LDA IR+3 STORE FILE PARAMETER WORD
ADN FPW2
CWD F6
TPF2 LDA IR+3 STORE IN POINTER
ADN 2
CWD CM
LJM BCAX RETURN
TPFB DATA C=-**LINE LIMIT EXCEEDED.**=
BSSZ TPFB+3*5-*
PDF SPACE 4
** PDF - PROCESS DAYFILE MESSAGES.
*
* EXIT IS MADE TO RETURN ADDRESS *PDFA*, WHICH MUST BE
* PRESET IF RETURN IS TO CALLING ROUTINES OTHER THAN *BCA*.
PDF LDN 3 SET COMPLETE STATUS FOR DRIVER
RAD BS+4
* ENTER HERE IF EXIT NOT TO *BCA1*.
PDF1 LDA IR+3 STORE BUFFER STATUS
CWD BS
NFA BF,R READ BUFFER POINT WORD
ADN 1
CRD CM
LDD CM+1 SET TABLE INDEX
NJN PDF2 IF MESSAGE CODE PRESENT
LJM PDF10 RETURN (*BATCHIO* RECOVERY)
* *PDF2* IS A SECONDARY ENTRY POINT FOR *PDF*.
*
* ENTRY (A) = DAYFILE MESSAGE CODE.
* (CM - CM+4) = SECOND BUFFER POINT WORD.
PDF2 SBN CMME CHECK IF *QAP* MESSAGE CODE
PJN PDF3 IF INCORRECT REQUEST
ADN CMME
NJN PDF4 IF LEGAL REQUEST
PDF3 LDN 0 SET NO ERROR FLAG
STD CM+2
LDC * SET ADDRESS WHERE ERROR DETECTED
STD CM+1
MONITOR CHGM CONDITIONALLY HANG PP
LJM PDF10 RETURN
PDF4 SBN FPRE
MJN PDF5 IF OPERATOR REQUEST
RJM IBE ISSUE BML AND ERROR LOG MESSAGES
UJN PDF10 RETURN
PDF5 ADN FPRE
SHN 1
STD T1
LDM TDFP+1,T1 SET MESSAGE ADDRESS
STD T2
LDD EQ CONVERT EST ORDINAL
SHN -3
RJM C2D
STM 2,T2
LDD EQ
LPN 7
SHN 6
RAM 3,T2
LDM TDFP,T1 SET POSTPROCESSOR ADDRESS
STD T1
LJM 0,T1 COMPLETE MESSAGE PROCESSING
PDF8 LDD CM+2 CONVERT CHANNEL/OPERATOR REQUEST
RJM C2D
STM 4,T2 STORE IN MESSAGE
PDF9 LDD T2
RJM DFM
* *PDFA* IS THE RETURN ADDRESS FOR *PDF*.
PDF10 LJM BCA1 EXIT
PDFA EQU *-1
TDFP SPACE 4,10
** TDFP - TABLE OF PROCESSORS AND MESSAGES.
*
*
* *TDFP* IS INDEXED WITH THE DAYFILE MESSAGE CODES DEFINED
* IN *COMSBIO*.
* *TDFP* IS A PARTIAL TABLE OF MESSAGES CONTAINING ONLY
* THOSE MESSAGES THAT ARE ISSUED BY *QAP*.
*
* ENTRY = 2 WORDS.
* (MESSAGE TEXT IN REMOTE CODE.)
*
* INDEXED BY MESSAGE NUMBER * 2.
TDFP DFMSG PDF8,(END 000,00.)
DFMSG PDF8,(REP 000,00.)
DFMSG PDF8,(SUP 000,00.)
DFMSG PDF8,(RRN 000,00.)
DFMSG PDF9,(HLD 000.)
DFMSG PDF9,(CON 000.)
DFMSG PDF8,(BKP 000,00.)
DFMSG PDF8,(BKR 000,00.)
DFMSG PDF8,(BKF 000,00.)
DFMSG PDF8,(SKP 000,00.)
DFMSG PDF8,(SKR 000,00.)
DFMSG PDF8,(SKF 000,00.)
DFMSG PDF10
DFMSG PDF10
DFMSG PDF10
IBE SPACE 4,10
** IBE - ISSUE BML AND ERROR LOG MESSAGES.
*
* ENTRY (A) = INDEX INTO *TIPR*, *TISY*, *TINB*, *TMTA*.
* (EQ) = EST ORDINAL.
* (ES - ES+4) = EST ENTRY.
* (CM - CM+4) = SECOND BUFFER POINT WORD.
* (CS) = CONVERTER STATUS.
* (ST) = EQUIPMENT STATUS.
*
* USES T0, T5, T6, T7.
*
* CALLS C2D, DFM, DMI.
*
* MACROS BLMSIDT, DBMLT.
IBE SUBR ENTRY/EXIT
STD T7 (T7) = ERROR MESSAGE INDEX MINUS *ERRF*
LDM TMTA,T7 GET ERROR LOG MESSAGE ADDRESS
STD T6 (T6) = ERROR LOG MESSAGE TEXT ADDRESS
LDM TISY,T7 SYMPTOM CODE
STM IBEA+1
LDD CM+3 PP NUMBER
SHN 6
LMD ES+1 APPEND CHANNEL NUMBER
SCN 37
LMD ES+1
STM IBEA+2
LDD ES+4 GET EQUIPMENT NUMBER
SHN 0-11
SHN 6
STM IBEA+3
LDD ES+3 EQUIPMENT TYPE
STI T6 STORE IN ERROR LOG MESSAGE TEXT
RJM DMI
ZJN IBEX IF EQUIPMENT NOT FOUND
STM IBEA
LDM TIPR,T7
STD T5 SET POSTPROCESSOR ADDRESS
LJM 0,T5 COMPLETE MESSAGE PROCESSING
* ACCOUNTING DATA.
IBE5 LDD ES+1 SET CHANNEL NUMBER
LPN 37
STM IBEA+2
LJM IBE18 COMPLETE BML MESSAGE
* FUNCTION REJECT, TRANSMISSION PARITY ERROR.
IBE6 LDD CS LOAD STATUS
LPN 4
ZJN IBE7 IF REJECT MESSAGE
AOD T7
LDM TISY,T7
STM IBEA+1 SYMPTOM CODE
LDM TMTA,T7
STD T6 RESET MESSAGE TEXT ADDRESS
LDD ES+3 RESET EQUIPMENT TYPE
STI T6 STORE IN ERROR LOG MESSAGE TEXT
IBE7 LDD CM+4 FUNCTION CODE
STM IBEC+2
UJN IBE13 COMPLETE BML MESSAGE
* PRINT ERRORS.
IBE8 LDD CM+4
STM IBEC+4
RJM C2D CONVERT LOWER TWO DIGITS
STM 4,T6
LDD CM+4
SHN -6
RJM C2D CONVERT UPPER TWO DIGITS
STM 3,T6
UJN IBE12 COMPLETE BML MESSAGE
* PFC ERROR.
IBE9 LDD CM+4
STM IBEC+3
UJN IBE11 COMPLETE BML MESSAGE
* FUNCTION TIMEOUT, CONTROLLER HUNG BUSY.
IBE10 LDD CM+4
STM IBEC+2
* FEED FAILURE, COMPARE ERROR.
IBE11 LDD ST EQUIPMENT STATUS
STM IBEC+1
LDD CS CONVERTER STATUS
STM IBEC
IBE12 UJN IBE17 COMPLETE BML MESSAGE
* PRINT ERROR LIMIT.
IBE13 LDD ST EQUIPMENT STATUS
STM IBEC+1
LDD CS CONVERTER STATUS
STM IBEC
UJN IBE16 COMPLETE BML MESSAGE
* INCOMPLETE DATA TRANSFER.
IBE14 LDD CS CONVERTER STATUS
STM IBEC
* UJN IBE15 COMPLETE BML MESSAGE
* CHANNEL PARITY ERROR.
IBE15 LDD CM+4 FUNCTION CODE
STM IBEC+2
* UJN IBE16 COMPLETE BML MESSAGE
* EQUIPMENT TURNED OFF.
IBE16 LDD CM+2 RETRY COUNT/UNRECOVERED FLAG
STM IBEB+1
* CHECK IF ERROR RECOVERED.
ZJN IBE17 IF ERROR NOT RETRIED
LPN 1
ZJN IBE18 IF RECOVERED ERROR
* FORMAT ERROR LOG MESSAGE.
IBE17 LDD EQ CONVERT UPPER TWO DIGITS OF EST ORDINAL
SHN -3
RJM C2D
STM 1,T6 STORE IN MESSAGE TEXT
LDD EQ
LPN 7
SHN 6
RAM 2,T6 ADD LOWER DIGIT INTO TEXT
* ISSUE ERROR LOG MESSAGE.
LDD T6
ADC ERLN ERROR LOG MESSAGE
RJM DFM ISSUE DAYFILE MESSAGE
* ISSUE BML MESSAGE.
IBE18 LDN ZERL SETUP FOR BML MESSAGE
CRD CM
LDM TINB,T7 SET BYTE COUNT FOR MESSAGE
STD CM+1
LDC IBEA+BMLN
RJM DFM SEND MESSAGE TO BML
LJM IBEX RETURN
SPACE 4,10
** BML MESSAGE TABLE
IBEA VFD 12/0,12/0,6/0,6/0,6/0,18/0 BML WORD 2
IBEB VFD 12/0,6/0,6/0,12/0,12/0,12/0 BML WORD 3
IBEC VFD 12/0,12/0,12/0,12/0,12/0 BML WORD 4
SPACE 4,10
** DEFINE BML PROCESSORS, SYMPTOM CODES, AND LENGTHS.
DBMLT ECEM,IBE11,/COMSDFS/BS0101,3*5,ECEA
DBMLT EPEM,IBE8,/COMSDFS/LS0103,3*5,EPEA
DBMLT EPLM,IBE13,/COMSDFS/LS0101,3*5,EPLA
DBMLT EFFM,IBE11,/COMSDFS/BS0102,3*5,EFFA
DBMLT EPFC,IBE9,/COMSDFS/LS0102,3*5,EPFA
DBMLT EACT,IBE5,/COMSDFS/LS0100,3*5,ECEA
DBMLT ERJM,IBE6,/COMSDFS/HS0025,3*5,ERJA
DBMLT ETPE,IBE6,/COMSDFS/HS0010,3*5,ETPA
DBMLT EFTM,IBE10,/COMSDFS/HS0050,3*5,EFTA
DBMLT EITM,IBE14,/COMSDFS/HS0005,3*5,EITA
DBMLT EEOM,IBE16,/COMSDFS/HS0030,2*5,EEOA
DBMLT ECBM,IBE10,/COMSDFS/HS0044,3*5,ECBA
DBMLT ECRE,IBE15,/COMSDFS/HS0024,3*5,ECRA
SPACE 4,10
BLMSIDT
TIPR SPACE 4,10
** TIPR - TABLE OF PROCESSING ROUTINES.
TIPR INDEX
DUP CMME-ERRF,1
CON IBEX
ORG TIPR
DTPR HERE
INDEX CMME-ERRF
TISY SPACE 4,10
** TISY - TABLE OF SYMPTOM CODES
TISY INDEX
DTSY HERE
INDEX CMME-ERRF
TINB SPACE 4,10
** TINB - TABLE OF NUMBER OF BML BYTES
TINB INDEX
DTNB HERE
INDEX CMME-ERRF
TMTA SPACE 4,10
** TMTA - TABLE OF MESSAGE TEXT ADDRESSES.
TMTA INDEX
DTTA HERE
INDEX CMME-ERRF
SPACE 4,10
** ERROR LOG MESSAGE TEXTS.
ECEA DATA C*EQ000 COMPARE ERROR.*
EPEA DATA C*EQ000 0000 PRINT ERRORS.*
EPLA DATA C*EQ000 PRINT ERROR LIMIT EXCEEDED.*
EFFA DATA C*EQ000 FEED FAILURE.*
EPFA DATA C*EQ000 PFC ERROR.*
ERJA DATA C*EQ000 INTERNAL/EXTERNAL REJECT.*
ETPA DATA C*EQ000 TRANSMISSION PARITY ERROR.*
EFTA DATA C*EQ000 FUNCTION TIMEOUT.*
EITA DATA C*EQ000 INCOMPLETE DATA TRANSFER.*
EEOA DATA C*EQ000 TURNED OFF BY SYSTEM.*
ECBA DATA C*EQ000 CONTROLLER HUNG BUSY.*
ECRA DATA C*EQ000 CHANNEL PARITY ERROR.*
DFMT HERE ASSEMBLE DAYFILE MESSAGE TABLE
TITLE COMMON DECKS AND BUFFER DEFINITIONS.
SPACE 4
** COMMON DECKS.
*CALL COMPACS
*CALL COMPCIB
*CALL COMPCOB
*CALL COMPC2D
EJT$ EQU 0 DEFINE *COMPGFP* ACCESS TO EJT
QFT$ EQU 0 DEFINE *COMPGFP* ACCESS TO QFT
IFP$ EQU 0 GENERATE *IFP* REMOTE CODE
*CALL COMPGFP
*CALL COMPRBB
*CALL COMPWBB
SPACE 4
** EQSB - DRIVER STATUS BLOCK BUFFER.
EQSB BSS 0
SPACE 4,10
OVL EQU EQSB+5*EDSBL+5 OVERLAY LOAD ADDRESS
ERRNG EPFW-OVL-ZBFL ENSURE SPACE FOR *0BF*
TITLE PRESET.
TOPC SPACE 4
** TOPC - TABLE OF FUNCTION REQUEST PROCESSORS.
*
* INDEXED BY FUNCTION CODE / 10B - 40B.
TOPC INDEX
INDEX PDMF/10-40,PDF PROCESS DAYFILE MESSAGE
INDEX WTIF/10-40,IIF INITIATE INPUT WITH WRITE
INDEX WRIF/10-40,IIF INITIATE INPUT WITH WRITE EOR
INDEX WFIF/10-40,IIF INITIATE INPUT WITH WRITE EOF
INDEX CECF/10-40,CEC CHANNEL ERROR CLEANUP
INDEX PORF/10-40,POR PROCESS OPERATOR REQUEST
INDEX RQFF/10-40,CEC REQUEUE FILE
INDEX PFCF/10-40,LPR1 LOAD USER IMAGE TO 580 PFC
INDEX GBPF/10-40,LPR GENERATE BANNER PAGE
INDEX GLCF/10-40,LPH GENERATE LACE CARD
INDEX PLEF/10-40,PLE PROCESS USER LIMIT EXCEEDED
INDEX ACTF/10-40,ACT PROCESS ACCOUNTING
INDEX QAPFE/10-40
TITLE PRESET.
PRS SPACE 4
** PRS - PRESET PROGRAM.
*
* ENTRY (IR+3 - IR+4) = FET ADDRESS.
*
* EXIT TO FUNCTION PROCESSOR.
* (FA) = FNT ADDRESS.
* (BF) = BUFFER POINT ADDRESS IF *BATCHIO* CALL.
* (BF) = 0 IF NOT *BATCHIO* CALL.
* (EQ) = EST ORDINAL (*BATCHIO* ONLY).
* (ET) = EQUIPMENT TYPE (*BATCHIO* ONLY)
* (BS+4) = REQUEST.
* (FO) = QFT ORDINAL.
* (FT - FT+1) = FIRST POINTER.
* (IN - IN+1) = IN POINTER.
* (OT - OT+1) = OUT POINTER.
* (LM - LM+1) = LIMIT POINTER.
* (ES - ES+4) = EST ENTRY. (*BATCHIO* ONLY).
* (ES) = PAGE SIZE (NON-*BATCHIO* ONLY)
* (FP - FP+4) = FILE PARAMETER WORD (FET+5).
* (F6 - F6+4) = FILE PARAMETER WORD (FET+6).
PRS BSS 0 ENTRY
LDK MMFL
CRD CM
LDD CM MACHINE ID
STM IBEB+3
LDA IR+3 READ BUFFER STATUS
CRD BS
ADN FPW2 READ FILE PARAMETERS
CRD F6
SBN FPW2-5
CRD FP
SBN 1
CRD LM-3 READ LIMIT
CRD T1
SBN 1 READ OUT
CRD OT-3
SBN 1 READ IN
CRD IN-3
SBN 1 READ FIRST
CRD CM
ADN EDSO-1+CMEN/5
CRD ES
LDD ES+CMEN-CMEN/5*5
LPN 7 SET EQUIPMENT TYPE CODE
STD ET
LDD T1+1 SET QFT ORDINAL
STD FO
LDD CM+3 SET FIRST
LPN 37
STD FT
LDD CM+4
STD FT+1
LDD FP+1 GET PAGE SIZE (NON-*BATCHIO*)
STD ES ASSUME NON-*BATCHIO* CALL
LDN 5 SET FET LENGTH
STD T2
LDD CP READ SUBSYSTEM ID
ADN JCIW
CRD CM
LDD CM+2
LMC BISI
NJN PRS1 IF NOT *BATCHIO* CALL
STM PRSA
LDN QFFL ADJUST FET LENGTH
STD T2
LDD FP SET BUFFER POINT OFFSET
STD BF
NFA BF,R READ BUFFER POINT WORD
CRD CM
LDD CM+3 SET EST ORDINAL
STD EQ
STM IBEB
SFA EST READ EST ENTRY
ADK EQDE
CRD ES
PRS1 RJM VCA VALIDATE FET ADDRESS
AOM ABTA SET VALID FET ADDRESS
RJM IFP INITIALIZE TABLE ACCESS ROUTINES
RJM CBP CHECK BUFFER PARAMETERS
LDD BS+4
SHN 21-0
MJN PRS5 IF FET NOT BUSY
SHN 1-3
SBN 40
MJN PRS5 IF INCORRECT REQUEST
STD T2
SBN QAPFE/10-40
PJN PRS2 IF INCORRECT REQUEST
LDD T1 SET FNT ADDRESS
STD FA
NJN PRS3 IF DEFINED
LDD T2
SBN CECF/10-40+1
PRS2 PJN PRS6 IF REQUEST INCORRECT WITHOUT FNT OFFSET
PRS3 UJN PRS4 VALIDATE NON-*BATCHIO* CALLER
PRSA EQU PRS3
* PSN (*BATCHIO* CALL)
LJM PRS10 JUMP TO PROCESSOR
PRS4 LDD T2
SBN GBPF/10-40
PRS5 MJN PRS6 IF REQUEST FOR *BATCHIO* FUNCTION
LDD FA VALIDATE FNT OFFSET
SBK FNTN+LENF
MJN PRS6 IF INCORRECT FNT POINTER
LDD CP FETCH EJT ORDINAL
ADN TFSW
CRD T7
SBN TFSW-FLSW GET NFL VALUE
CRD CM
LDD FA CHECK FNT OFFSET WITHIN NFL
SHN -6
SBD CM
MJN PRS7 IF VALID FNT POINTER
PRS6 ABORT ERIR * QAP - INCORRECT REQUEST.*
PRS7 SFA EJT,T7
ADN SCLE
CRD CM
LDD CM CHECK JOB ORIGIN TYPE
LPN 17
LMK SYOT
STD BF
NJN PRS6 IF NOT SYSTEM ORIGIN
STD ET
STD IR+2
LDN QFTP
CRD CM
LDD FO CHECK QFT ORDINAL
ZJN PRS6 IF ORDINAL ZERO
SBD CM+2
PJN PRS6 IF INCORRECT ORDINAL
SFA QFT,FO READ QFT ENTRY
CRD CM
LDD CM
ADD CM+1
ZJN PRS6 IF EMPTY QFT ENTRY
LDD ES
LPC 4000
ZJN PRS9 IF POSITION TO BOTTOM OF FORM AVAILABLE
LDD ES
LPC PSUL ISOLATE PAGE SIZE
NJN PRS8 IF *PS* VALUE GIVEN
NFA JPPN GET DEFAULT PAGE SIZE
CRD CM
LDD CM+2
LPN 17
SHN 14
LMD CM+3
SHN -10
LPC PSUL MASK UPPER LIMIT
PRS8 STD ES
SBN PSLL
PJN PRS10 IF WITHIN LIMITS
LDN PSLL USE LOWER LIMIT
PRS9 STD ES
PRS10 LDM TOPC,T2
STD T2
ERRNG *-EQSB-EDSBL*5
RJM RSB LOAD DRIVER STATUS BLOCK
LJM 0,T2 JUMP TO PROCESSOR
IFP HERE DUMP *IFP* REMOTE CODE
CBP SPACE 4,10
** CBP - CHECK BUFFER PARAMETERS.
*
* ENTRY (FT - FT+1) = FIRST.
* (IN - IN+1) = IN.
* (OT - OT+1) = OUT.
* (LM - LM+1) = LIMIT.
*
* EXIT FET POINTERS VALIDATED.
CBP SUBR ENTRY/EXIT
LDD LM SET LIMIT
LPN 37
STD LM (LIMIT-1)/100 - FL
SHN 14
LMD LM+1
SBN 1
SHN -6
SBD FL
PJN CBP1 IF LIMIT .GE. FL
LDD OT OUT - LIMIT
LPN 37
STD OT
SBD LM
SHN 14
ADD OT+1
SBD LM+1
PJN CBP1 IF OUT .GE. LIMIT
LDD OT OUT - FIRST
SBD FT
SHN 14
ADD OT+1
SBD FT+1
PJN CBP2 IF OUT .GE. FIRST
CBP1 ABORT ERBA * QAP - BUFFER ARGUMENT ERROR.*
CBP2 LDD IN IN - LIMIT
LPN 37
STD IN
SBD LM
SHN 14
ADD IN+1
SBD LM+1
PJN CBP1 IF IN .GE. LIMIT
LDD IN IN - FIRST
SBD FT
SHN 14
ADD IN+1
SBD FT+1
MJN CBP1 IF IN .LT. FIRST
LJM CBPX RETURN
RSB SPACE 4,10
** RSB - READ DRIVER STATUS BLOCK.
*
* ENTRY (IR+2) = STATUS BLOCK UPDATE FLAGS.
* (IR+3 - IR+4) = FET ADDRESS.
*
* USES CM.
*
* MACROS DELAY, LDA, PAUSE.
RSB SUBR ENTRY/EXIT
LDD IR+2
LPN 6
ZJN RSBX IF NO UPDATE REQUIRED
RSB1 LDN EDSBL
STD CM
LDA IR+3 READ STATUS BLOCK
ADN EDSO
CRM EQSB,CM
LDM EQSB+CMSB
LMD IR+2
ZJN RSBX IF DRIVER HAS NOTED INTERLOCK
DELAY
PAUSE NE
UJN RSB1 LOOP
TTL QAP/3BA - ACCOUNTING.
TITLE
QUAL ACT
IDENT 3BA,ACTX ACCOUNTING
*COMMENT QAP - ACCOUNTING.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
SPACE 4
*** ENTRY CONDITIONS.
*
* FOR *BATCHIO*
* ((FT - FT+1)) = 12/ ,12/ DV ,12/ ,24/ CNT1
*
* FOR ALL OTHER CALLERS.
* ((OT - OT+1)) = 12/ ,12/ DV ,12/ ,24/ CNT2
* ((OT - OT+1)+1) = 42/ TERMINAL NAME OR EQ NUMBER ,18/
*
*
* DV DEVICE TYPE.
* 0 = LINE PRINTER.
* 1 = CARD PUNCH.
* 2 = CARD READER.
* 3 = PLOTTER.
*
* CNT1 (USER VALIDATION LIMIT) - (RECORD COUNT)
* CNT2 RECORD COUNT.
*
* (RECORD COUNT) = NUMBER OF CARDS READ, CARDS PUNCHED, LINES
* PRINTED AND PRUS PLOTTED.
*
* EXIT CONDITIONS.
*
* FOR PRINT FILES.
* 1. ACCOUNT FILE MESSAGE RETURNED TO CM BUFFER.
* 2. IN POINTER UPDATED IN FET.
*
* FOR INPUT FILES.
* 1. FNT POINTER CLEARED IN FET.
* 2. *DSP* CALLED TO QUEUE INPUT FILE.
SPACE 4
*** ACCOUNT FILE MESSAGES.
*
*
* *ABCN, CHARGENUMBER, PROJECTNUMBER.* = BEGINNING OF A CHARGE
* SEQUENCE.
*
* *ABUN, USERNAME, FAMILY.* = BEGINNING OF OUTPUT FOR
* USER *USERNAME*.
*
* *AESR, .* = NULL SRU UNITS FOR END OF JOB.
*
* *UCCR, MI,EQN, XXXXXX.XXXKCDS.* = KILO CARDS READ.
* (ISSUED BY *1AJ*)
* *UCLP, MI,EQN, XXXXXX.XXXKLNS.* = KILO LINES PRINTED.
* *UCLV, MI,EQN, XXXXXX.XXXKLNS.* = KILO LINES PRINTED.
* (USER SUPPLIED FORMAT)
* *UCPC, MI,EQN, XXXXXX.XXXKCDS.* = KILO CARDS PUNCHED.
* *UCPL, MI,EQN, XXXXXX.XXXKPLS.* = KILO UNITS PLOTTED.
*
* MI = MACHINE ID.
* EQN = LOCAL EST ORDINAL / REMOTE TERMINAL NAME.
SPACE 4
ACT SPACE 4
** ACT - MAIN ROUTINE.
ORG OVL
ACT SUBR ENTRY/EXIT
LDD BF
ZJN ACT1 IF NOT *BATCHIO*
LDA FT READ ACCOUNTING INFORMATION
CRM BUF,ON
LDD EQ SET EST ORDINAL
RJM C2D
SHN 6
STM BUF+5*1+1
LDD EQ
SHN -3
RJM C2D
STM BUF+1*5
UJN ACT3 INITIALIZE ACCOUNT MESSAGE
* CHECK CM BUFFER.
ACT1 RJM COB CHECK OUTPUT BUFFER
SBN 2
PJN ACT2 IF ENOUGH DATA PRESENT
ABORT ERBA * QAP - BUFFER ARGUMENT ERROR.*
ACT2 LDN 2 SET NUMBER OF WORDS TO READ
STD T3
LDC BUF READ BINARY BUFFER
RJM RBB
LDN ZERL UPDATE OUT
CRD CM
LDD OT
STD CM+3
LDD OT+1
STD CM+4
LDA IR+3
ADN 3
CWD CM
* INITIALIZE ACCOUNT FILE MESSAGE.
ACT3 LDM BUF+0*5+1 SET DEVICE TYPE
SBN TQTPL
MJN ACT4 IF VALID QUEUE TYPE CODE
ABORT ERIR * QAP - INCORRECT REQUEST.*
ACT4 ADN TQTPL SET TABLE ADDRESS
STD FA
SHN 1
ADD FA
RAM POFA
ADN TOAU-TOAC
STM POFB
LDM TQTP,FA SET QUEUE TYPE PROCESSOR
STD T1
LDC 1030 SET *EOI*
STD BS+4
RJM 0,T1
LJM ACTX RETURN
SPACE 4,10
** TOAC - TABLE OF ACCOUNTING CODES.
TOAC BSS 0
LOC 0
VFD 36/4LUCLP
* VFD 36/4LUCLV (USER FORMAT SUPPLIED)
VFD 36/4LUCPC
VFD 36/4LUCCR (ISSUED BY *1AJ*)
VFD 36/4LUCPL
LOC *O
TOAU SPACE 4,10
** TOAU - TABLE OF ACCOUNTING UNITS.
TOAU BSS 0
LOC 0
VFD 36/5LKLNS.
VFD 36/5LKCDS.
VFD 36/5LKCDS. (ISSUED BY *1AJ*)
VFD 36/5LKPLS.
LOC *O
TQTP SPACE 4,10
** TQTP - TABLE OF QUEUE TYPE PROCESSORS.
TQTP BSS 0
LOC 0
CON POF PRINT FILE PROCESSOR
CON POF PUNCH FILE PROCESSOR
CON PIF INPUT FILE PROCESSOR
CON POF PLOT FILE PROCESSOR
LOC *O
TQTPL EQU *-TQTP NUMBER OF ACCOUNT MESSAGES
TITLE ACCOUNTING SUBROUTINES.
GCM SPACE 4,15
** GCM - GENERATE CHARGE MESSAGES.
*
* ENTRY (T5) = EQUIPMENT.
* (T6) = FIRST TRACK OF QUEUED FILE.
*
* EXIT (A) = ADDRESS OF TERMINATING MESSAGE SEGMENT.
* (T5) = ASSEMBLY BUFFER ADDRESS.
*
* USES T1, T5, T6, T7.
*
* CALLS ACS, DFM, RSS.
*
* MACROS ENDMS, SETMS.
GCM2 LDC GCMA RETURN WITH ERROR MESSAGE
GCM SUBR ENTRY/EXIT
SETMS IO
LDN 0 READ SYSTEM SECTOR
RJM RSS
STD T7 SAVE *RSS* REPLY
ENDMS
LDC ACTB SET ASSEMBLY BUFFER ADDRESS
STD T1
STD T5
LDN 0
STI T1
LDC =Z*ABUN, * ENTER ACCOUNTING CODE IN BUFFER
RJM ACS
LDD T7
NJN GCM2 IF SYSTEM SECTOR ERROR
LDM ACSS+3 INSURE ZERO TERMINATOR
SCN 77
STM ACSS+3
LDC ACSS SET CREATION USER NAME
STD T7
LDI T7
NJN GCM1 IF USER NAME PRESENT
LDC =Z*SYSTEMX*
STD T7
GCM1 LDD T7 ENTER USER NAME
RJM ACS
LDC =Z*, * SET SEPARATOR
RJM ACS
LDM FMSS+3 INSURE ZERO TERMINATOR
SCN 77
STM FMSS+3
LDC FMSS ENTER FAMILY NAME
RJM ACS
LDC =Z*.* ADD PERIOD
RJM ACS
LDC AJNN+ACTA ISSUE ACCOUNT FILE MESSAGE
RJM DFM
LDD T5 RESET ASSEMBLY BUFFER ADDRESS
STD T1
LDC PJSS SET ADDRESS OF PROJECT NUMBER
STD T7
LDN 0
STI T1
LDC =Z*ABCN, * ENTER ACCOUNTING CODE
RJM ACS
LDI T7 SAVE LEADING CHARACTERS OF PROJECT NUMBER
STD T6
LDN 0
STI T7
STM PJSS+2*5
LDC CHSS ENTER CHARGE NUMBER
RJM ACS
LDC =Z*, * SET SEPARATOR
RJM ACS
LDD T6 RESTORE PROJECT NUMBER
STI T7
LDD T7 ENTER PROJECT NUMBER
RJM ACS
LDC =Z*.*
LJM GCMX RETURN
GCMA DATA C*SYSTEM SECTOR ERROR.*
SPACE 4,10
** POF - PROCESS OUTPUT FILE ACCOUNTING.
*
* ENTRY (FA) = EQUIPMENT TYPE.
* (FO) = QFT ORDINAL.
*
* EXIT (A) = 0.
*
* USES T1, T5, T6, T7, CM - CM+4, CN - CN+4.
*
* CALLS ACS, DFM, GCM, GRU, IBE, RAM.
*
* MACROS MONITOR, SFA.
POF SUBR ENTRY/EXIT
SFA QFT,FO GET JSN FOR MESSAGE
ADK JSNQ
CRM ACTA,ON
ADK ENTQ-JSNQ-1 SET MASS STORAGE PARAMETERS
CRD T5
ADN SCLQ-ENTQ GET SERVICE CLASS
CRD CM
LDD CM SET SERVICE CLASS
SHN -6
STM ACTA+4
LDM BUF+1*5+3 SET END OF TERMINAL NAME
SCN 77
STM BUF+1*5+3
LDC 2R
STM ACTA+2
STM ACTA+3
RJM GCM GENERATE CHARGE MESSAGE
RJM ACS
LDC AJNN+ACTA ISSUE ACCOUNTING MESSAGE
RJM DFM
* LDN 0
STI T5
RJM GRU GET RECORDS USED
LDD CM+3
ADD CM+4
NJN POF0 IF VALID RECORD COUNT
LDN 2 SET MINIMUM CHARGE
STD CM+4
POF0 LDD MA SET RECORD COUNT
CWD CM
CRM IBEC,ON PRESERVE BINARY RECORD COUNT
LDD T5 RESET ASSEMBLY BUFFER ADDRESS
STD T1
LDC TOAC ENTER ACCOUNTING CODE
POFA EQU *-1
RJM ACS
LDC =Z*, *
RJM ACS
* SET MID AND EQUIPMENT IF *BATCHIO*. SET MID AND TERMINAL
* NAME IF NOT *BATCHIO*.
LDC MMFL FETCH MACHINE ID
CRD CM
LDC 2R, SET TERMINATOR
STD CM+1
LDN 0 TERMINATE MESSAGE STRING
STD CM+2
LDN CM APPEND MID TO MESSAGE
RJM ACS
LDC BUF+1*5 SET TERMINAL NAME OR EQUIPMENT
RJM ACS
LDC =Z*, * SET SEPARATOR
RJM ACS
LDN 0
STD CM+1
MONITOR RDCM REQUEST DATA CONVERSION
* LDN 0
STM BUF+2*5
LDD MA READ DATA CONVERSION
CRM BUF+1*5,ON
LDC BUF+1*5 SET RECORD COUNT
RJM ACS
LDC TOAU ENTER ACCOUNTING UNITS
POFB EQU *-1
RJM ACS
POF1 AOD T1 CLEAR REMAINING PART OF BUFFER
ADC -ACTC
PJN POF2 IF END OF BUFFER
LDN 0
STI T1
UJN POF1 LOOP
POF2 LDC ACTA+AJNN ISSUE ACCOUNTING MESSAGE
RJM DFM
LDD FA
NJN POF4 IF NOT PRINT FILE
RJM RAM RETURN ACCOUNTING MESSAGE TO CM BUFFER
LDD MA
CRM ACTA,ON RESTORE MESSAGE HEADER
POF4 LDN 0
STI T5
LDD T5 RESET ASSEMBLY BUFFER ADDRESS
STD T1
LDC =Z*AESR, .* ISSUE NULL USAGE MESSAGE
RJM ACS
LDC AJNN+ACTA ISSUE ACCOUNTING MESSAGE
RJM DFM
LDN EACT-ERRF ISSUE BML ACCOUNTING MESSAGE
RJM IBE
* LDN 0
LJM POFX RETURN
RAM SPACE 4,10
** RAM - RETURN ACCOUNTING MESSAGE TO CM BUFFER.
*
* ENTRY *ACTA* = FWA OF ACCOUNTING MESSAGE.
*
* EXIT ACCOUNT FILE MESSAGE RETURNED TO CM BUFFER.
* BUFFER POINTERS UPDATED IN FET.
*
* USES T1, CM - CM+4.
*
* CALLS CIB, WBB.
*
* MACROS ABORT.
RAM SUBR ENTRY/EXIT
RJM CIB CHECK INPUT BUFFER
ZJN RAMX IF BUFFER FULL
PJN RAM1 IF NO ERROR
ABORT ERBA * QAP - BUFFER ARGUMENT ERROR.*
RAM1 STD T1 SET WORD COUNT
SBN ACTD/5
MJN RAM2 IF LESS THAN MESSAGE LENGTH
LDN ACTD/5
STD T1
RAM2 LDN TIML SET TIME
CRM ACTA,ON
LDD BF
ZJN RAM4 IF NOT *BATCHIO* CALL
LDD ET
LMK LPDT
NJN RAM3 IF NOT LINE PRINTER
LDD FP+1
NJN RAM4 IF DAYFILE PRESENT
RAM3 LCN 1R -1R1
SHN 6 SET PAGE EJECT
RAM ACTA
RAM4 LDC ACTA WRITE BINARY BUFFER
RJM WBB
LDN ZERL UPDATE IN
CRD CM
LDD IN
STD CM+3
LDD IN+1
STD CM+4
LDA IR+3 WRITE IN
ADN 2
CWD CM
LJM RAMX RETURN
PIF SPACE 4,10
** PIF - PROCESS INPUT FILE ACCOUNTING.
*
* ENTRY (BF) = BUFFER POINT ADDRESS.
* (ES - ES+4) = EST ENTRY.
*
* EXIT *DSP* PARAMETER BLOCK SET.
* (A) = *DSP*.
* FNT POINTER IN FET CLEARED.
* *UCCR* ACCOUNTING MESSAGE ISSUED BY *1AJ*.
*
* USES T1, T2, CM - CM+4.
*
* CALLS C2D, IBE, *DSP*.
*
* MACROS EXECUTE.
PIF SUBR ENTRY/EXIT
LDD BF
ZJN PIFX IF NOT *BATCHIO* CALL
* INITIALIZE *DSP* PARAMETER BLOCK.
LDA IR+3 SET FILE NAME FROM FET
CRM DSPB,ON
ADN 4-1 READ *LIMIT* WORD
CRD CM
LDC DSPB+4 CLEAR *DSP* PARAMETER BLOCK
STD T1
PIF1 LDN 0
STI T1
AOD T1
LMC DSPB+DSPBL*5
NJN PIF1 IF MORE TO CLEAR
STD CM CLEAR FNT POINTER
STD IR+2
* ENTER *DSP* PARAMETERS.
LDC 200 SET QUEUE FILE IF JOB COMMAND ERROR
STM DSPB+1*5+1
LDC 2RIN SET DISPOSITION CODE
STM DSPB+1*5+2
LDK FRAC/10000 SET ACCOUNTING FLAG
STM DSPB+1*5+3
LDK FRDC+FRCS+FRTI SET DISP., CENTRAL SITE, TID FLAGS
STM DSPB+1*5+4
LDM BUF+3 SET RECORDS USED
STM DSPB+5*5+3
STM IBEC+3
LDM BUF+4
STM DSPB+5*5+4
STM IBEC+4
LDM BUF+1*5+0 SET EQUIPMENT IDENTIFICATION
STM DSPB+6*5+0
LDM BUF+1*5+1
STM DSPB+6*5+1
LDD ES+4 SET ID FOR OUTPUT FILES
LPN 77
STM DSPB+2*5+4
LDD FP+1
ZJN PIF2 IF NO BINARY SEQUENCE/HOLLERITH ERRORS
STM DSPB+5*5+1
LDD FP+2 SET RECORD NUMBER
LPC 3777
STM DSPB+5*5
LDD FP+2 SET FORCED ABORT CODE
SHN 0-13
ADN BCIE
ERRNZ BCIE+1-HDIE CODE DEPENDS ON VALUE
STM DSPB+4*5+2
LDD HN SET BINARY SEQUENCE/HOLLERITH ERROR FLAG
RAM DSPB+1*5+1
* CALL *DSP* INTO THIS PP.
PIF2 LDN DSPBL WRITE *DSP* PARAMETER BLOCK
STD T1
ADN QAPO-1
STD T2
RJM VCA VALIDATE CENTRAL ADDRESS
LDA IR+3
CWD BS
ADN 4
CWD CM
ADN QAPO-4 STORE PARAMETER BLOCK
CWM DSPB,T1
LDN QAPO SET *DSP* PARAMETER BLOCK ADDRESS
RAD IR+4
SHN -14
RAD IR+3
LDN EACT-ERRF ISSUE BML ACCOUNTING MESSAGE
RJM IBE
EXECUTE DSP,*
LJM PIFX RETURN
GRU SPACE 4,10
** GRU - GET RECORDS USED.
*
* ENTRY (BUF+3 - BUF+4) = UNIT RECORD COUNT.
* (FP - FP+4) = FILE PARAMETER WORD (FET+5).
* (F6 - F6+4) = FILE PARAMETER WORD (FET+6).
*
* EXIT (CM+2 - CM+4) = NUMBER OF RECORDS USED.
GRU SUBR ENTRY/EXIT
LDN ZERL
CRD CM
LDM BUF+0*5+3
STD CM+3
LDM BUF+0*5+4
STD CM+4
LDD BF
ZJN GRUX IF NOT *BATCHIO* CALL
LDD FP+3 CHECK NORMAL FORMAT IMAGE ALTERED
ZJN GRU1 IF NO USER SUPPLIED FORMS CONTROL
LDN 1RV-1RP MODIFY ACCOUNTING MESSAGE
RAM TOAC+1
GRU1 LDD F6+3 CHECK FOR UNLIMITED USER
LMC 7777
ZJN GRU3 IF UNLIMITED USER
LDD CM+3 CHECK FOR POSITIVE RECORD COUNT
SHN 21-13
PJN GRU3 IF POSITIVE RECORD COUNT
* CALCULATE RECORD COUNT FOR LIMITED USER WITH NEGATIVE RECORD
* COUNT.
LCN 0
LMD CM+3
LPC 7777
ADD F6+3
STD CM+3
LCN 0
LMD CM+4
LPC 7777
ADD F6+4
STD CM+4
SHN -14
RAD CM+3
GRU2 LJM GRUX RETURN
* CALCULATE RECORDS USED FOR UNLIMITED USER OR
* LIMITED USER WITH POSITIVE RECORD COUNT.
GRU3 LDD F6+3 CALCULATE RECORDS USED
SBD CM+3
STD CM+3
LDD F6+4
SBD CM+4
STD CM+4
PJN GRU2 IF NO UNDERFLOW, RETURN
AOD CM+4
SOD CM+3
UJN GRU2 RETURN
SPACE 4,10
** COMMON DECKS.
*CALL COMPRSS
SPACE 4,10
USE LITERALS
OVERFLOW OVL
DSPB SPACE 4,10
** DSPB - *DSP* PARAMETER BLOCK BUFFER.
DSPB EQU * *DSP* PARAMETER BLOCK BUFFER FWA
BUF EQU DSPB+DSPBL*5 ACCOUNT INFORMATION BUFFER
ACTA EQU BUF+3*5 JSN BUFFER
ACTB EQU ACTA+5 ACCOUNT MESSAGE BUFFER
ACTC EQU ACTB+5*4 END OF ACCOUNT MESSAGE BUFFER
ACTD EQU ACTC-ACTA LENGTH OF ACCOUNTING MESSAGE
ERRPL ACTB-BFMS MESSAGE HEADER OVERLAID WITH SYSTEM SECTOR
QUAL *
TTL QAP/3BB - LOAD PFC ARRAY.
TITLE
QUAL LPM
IDENT 3BB,LPMX LOAD PRINTER PFC IMAGE MEMORY
*COMMENT QAP - LOAD PRINTER PFC IMAGE MEMORY.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
LPM SPACE 4,10
*** LPM - LOAD PFC IMAGE MEMORY.
SPACE 4,10
** ENTRY CONDITIONS.
*
* (BF) = BUFFER POINT ADDRESS.
* (EQ) = EST ORDINAL.
* (BS+4) = REQUEST.
* (IR+3 - IR+4) = FET ADDRESS.
* (OT - OT+1) = OUT POINTER.
* (ES - ES+4) = EST ENTRY.
* (FP - FP+4) = FILE PARAMETER WORD (FET+5).
* (F6 - F6+4) = FILE PARAMETER WORD (FET+6).
SPACE 4,10
*CALL COMPCHI
SPACE 4,10
** ASSEMBLY CONSTANT.
CH EQU 12 CHANNEL NUMBER
SPACE 4,10
** MACRO DEFINITIONS.
** TABL - DEFINE PFC OVERLAY TABLE.
*
* CALL -
* TABL A,B
*
* WHERE A IS THE SPACING CODE (SC PARAMETER) AND B IS
* THE PFC OVERLAY NAME. THE SC PARAMETER CAN
* BE ANY 6 BIT VALUE FROM 1 TO 77B. B IS A 12 BIT
* OVERLAY NAME.
TABL MACRO A,B
CON A
CON 2L_B
ENDM
SPACE 4,10
** DPFC - DEFINE PFC CODES.
*
* CALL -
* DPFC A,B,C,D
* WHERE A,B,C AND D ARE PFC CODES FOR 6 OR
* 8 LPI. THESE CODES MAY BE ANY VALUE
* FROM ZERO (0) TO FIFTEEN (17B).
DPFC MACRO A,B,C,D
VFD 6/A,6/B
IFEQ A,17,1
SKIP
IFNE B,17,1
VFD 6/C,6/D
ENDIF
ENDM
TITLE MAIN PROGRAM.
SPACE 4
** LPM - MAIN ROUTINE.
ORG OVL
LPM SUBR ENTRY/EXIT
LDK PPCP
CRD CM
LDD IA INPUT REGISTER ADDRESS
SBD CM+4 FWA OF PP COMMUNICATIONS AREA
SHN 0-3
STM ERRB PP NUMBER
LDD BS+4 CHECK REQUEST
LMC PFCF
NJN LPM1 IF NOT USER PFC LOAD
EXECUTE 3BF
* *3BF* DOES NOT RETURN HERE.
LPM1 LDD FG GET BATCHIO FLAGS
LPN 10 SHORT PAPER FLAG
SHN 6-3 ADD 100B TO SPACE CODE IF SHORT PAPER
STD T1
LDA IR+3 FETCH SPACING CODE PARAMETER
ADN 4
CRD CM
LDD CM+2
LPN 77
LPM1.1 ADD T1 SC + 100B = SHORT PAPER CODE
STD T5
LDN 0 CLEAR USER FORMS CONTROL INDICATOR
STD FP+3
STD T2 INITIALIZE TABLE POINTER
LPM2 LDD T5
LMM PFCO,T2 COMPARE ENTRY
ZJN LPM3 IF MATCH
LDN 2 ADVANCE TABLE INDEX
RAD T2
LMN PFCOL
NJN LPM2 IF NOT END OF TABLE
UJN LPM1.1 SET DEFAULT SPACING CODE
LPM3 LDM PFCO+1,T2 SET OVERLAY NAME
LMC 1L5
EXECUTE 5BA,=
EXECUTE 5BB,=
EXECUTE 5BC,=
EXECUTE 5BD,=
RJM EXR LOAD OVERLAY
STD T5 SET LENGTH OF 8 LPI IMAGE
RJM CON CONNECT EQUIPMENT
RJM FCP FIND 6/8 COINCIDENT POINT
LDN 17 LOAD 8 LPI IMAGE
RJM LPI
STM LL8L
LDD T5 SET START OF 6 LPI ARRAY
RAM LPIA
LDD T7 SET LENGTH OF 6 LPI ARRAY
STD T5
RJM WNB WAIT INITIALIZATION COMPLETE
LDN 16 LOAD 6 LPI IMAGE
RJM LPI
STM LL6L
RJM WNB WAIT INITIALIZATION COMPLETE
RJM RAD RELEASE AND DISCONNECT
LDD ES CHECK USER PFC IMAGE ON LAST JOB
SHN 21-6
MJN LPM4 IF USER FORMS CONTROL
LDD T3 CHECK NUMBER OF SINGLE SPACES
LMN 5
ZJN LPM5 IF ONE LINE ADVANCE TO COINCIDENT POINT
LPM4 LDD ES CLEAR USER FORMS CONTROL INDICATOR
LPC 7677
STD ES
SFA EST,EQ STORE EST ENTRY
ADK EQDE
CWD ES
NFA BF,R READ BUFFER POINT WORD
ADN 1
CRD CM
LDN ECPA SET MESSAGE *CHECK PAPER ALIGNMENT*
STD CM
NFA BF,R STORE MESSAGE CODE
ADN 1
CWD CM
LDD CP STORE *B* DISPLAY MESSAGE
ADN MS2W
CWM LPMA,TR
LDN 4 INDICATE PRINTER HOLDING TO DRIVER
RAD BS+4
LPM5 LJM LPMX EXIT
LPMA DATA C+$REQUEST *I* DISPLAY.+
TITLE SUBROUTINES.
CON SPACE 4,10
** CON - CONNECT EQUIPMENT.
*
* ENTRY (ES - ES+4) = EST ENTRY.
*
* EXIT EQUIPMENT CONNECTED.
* CHANNEL RESERVED.
*
* USES FC, T1, T2.
*
* CALLS GST, IFN.
*
* MACROS RCHAN.
CON4 DCN CH+40
RJM GST GET STATUS OF 6681 AND EQUIPMENT
CON SUBR ENTRY/EXIT
LDC TCHS
STD T1
UJN CON2 MODIFY CHANNEL INSTRUCTIONS
CON1 RAI T2
AOD T1
CON2 LDI T1
STD T2
LDD ES+1
LPN 37
CHTL *
SBN CH
NJN CON1 IF MORE CHANNEL INSTRUCTIONS TO MODIFY
LDD ES+1 RESERVE CHANNEL
RCHAN
LDN 10 SELECT MODE II CONNECT
RJM IFN
LDD ES+4 OUTPUT CONNECT CODE
LPC 7000 SAVE CONNECT CODE
STD FC
OAN CH+40
LCN 0 TIME OUT CONNECT
CON3 EJM CON4,CH IF CONNECT RESPONSE RECEIVED
SBN 1
NJN CON3 IF NOT TIMED OUT
LDN EFTM *FUNCTION TIMEOUT* ERROR
* LJM ERR PROCESS ERROR
ERR SPACE 4,10
** ERR - ERROR PROCESSOR.
*
* ENTRY (A) = ERROR CODE.
* (ES+1) = CHANNEL (RESERVED).
*
* EXIT (FET+6) SET WITH ERROR STATUS.
*
* CALLS WSB.
*
* MACROS DCHAN, NFA.
ERR STM ERRA+1 STORE ERROR CODE
IJM ERR1,CH IF CHANNEL INACTIVE
DCN CH+40
ERR1 LDD FC SET FUNCTION CODE
STM ERRA+4
NFA BF,R STORE SECOND BUFFER POINT WORD
ADN 1
CWM ERRA,ON
ERR2 LDD ES+1 RELEASE CHANNEL
DCHAN
LDA IR+3 STORE FILE PARAMETER WORD
ADN FPW2
CWD F6
RJM WSB CLEAR STATUS BLOCK INTERLOCK (IF SET)
LDC CECF CHANGE REQUEST TO *CHANNEL ERROR*
ERRC EQU *-1
* LDC CECF+4000 REQUEUE FILE ON READY DROP
STD BS+4
LJM CEC PROCESS HARDWARE ERROR / REQUEUE FILE
ERRA CON EOHE
CON 0 ERROR CODE
CON 0
ERRB CON 0 PP NUMBER
FCN SPACE 4,10
** FCN - ISSUE FUNCTION TO EQUIPMENT.
*
* ENTRY (A) = FUNCTION CODE.
*
* EXIT FUNCTION COMPLETED.
* IF THE FUNCTION IS NOT ACCEPTED AND A FUNCTION
* TIMEOUT OCCURS, EXIT IS MADE TO *ERR*.
*
* USES FC, T6.
*
* CALLS ERR, GST.
FCN3 RJM GST GET 6681 AND EQUIPMENT STATUS
ZJN FCNX IF NO ERRORS RETURN
LDN ERJM REJECT/TRANSMISSION PARITY ERROR
UJN FCN2 PROCESS ERROR
FCN SUBR ENTRY/EXIT
FAN CH ISSUE FUNCTION
STD FC SAVE FUNCTION
LCN 0 SET TIMEOUT LIMIT
FCN1 IJM FCN3,CH IF FUNCTION ACCEPTED
SBN 1
NJN FCN1 IF NOT TIMED OUT
LDN EFTM *FUNCTION TIMEOUT*
FCN2 LJM ERR PROCESS ERROR
FCP SPACE 4,10
** FCP - FIND 6/8 LINE COINCIDENT POINT.
*
* ENTRY (EQ) = EST ORDINAL.
* (ES - ES+4) = EST ENTRY.
*
* EXIT (T3) = SINGLE LINE SPACE INDICATOR.
* BIT 6 SET IN (ES) IF PAPER ALIGNMENT CHECK REQUIRED.
* PRINTER AT 6/8 LINE COINCIDENT POINT.
*
* CALLS FCN, GMS, WNB.
*
* MACROS SFA.
FCP SUBR ENTRY/EXIT
LDN 6 SET SINGLE SPACE LIMIT
STD T3
RJM WNB WAIT NOT BUSY
LDN 30 DESELECT AUTO EJECT
RJM FCN
RJM GMS GET MAINTENANCE STATUS
LPN 2
NJN FCP3 IF PFC ERROR
LDD FG CHECK FOR PFC SIZE CHANGE
SHN 10-3 LAST PFC BIT
LMD ES COMPARE WITH CURRENT PFC
SHN 21-10
PJN FCP0 IF PAPER SIZE HAS NOT CHANGED
LDD ES
LPC 7677 SET USER PFC FLAG
LMC 500 CHANGE LAST PFC BIT
STD ES
FCP0 LDD ES CHECK FOR USER PFC
SHN 21-6
MJN FCP2 IF USER FORMS CONTROL
LDN 61 SKIP TO CHANNEL 9
FCP1 RJM FCN
RJM WNB WAIT NOT BUSY
FCP2 LDD ST CHECK STATUS
SHN 21-13
MJP FCPX IF 6-8 LINE COINCIDENT
SOD T3
ZJN FCP4 IF SINGLE SPACE LIMIT
LDN 1 SELECT SINGLE SPACE
UJN FCP1 ISSUE FUNCTION
FCP3 LDD ES SET PAPER ALIGNMENT CHECK
LPC 7677
LMD HN
STD ES
LDD ST CHECK EQUIPMENT READY
LPN 1
NJN FCP2 IF NOT ERROR 3 (READY DROP)
FCP4 SFA EST,EQ STORE EST ENTRY
ADK EQDE
CWD ES
LJM LPI1 SET *PFC ERROR*
GMS SPACE 4,10
** GMS - GET MAINTENANCE STATUS.
*
* EXIT (A) = PFC STATUS.
* (T2) = MAINTENANCE STATUS.
*
* CALLS FCN.
GMS SUBR ENTRY/EXIT
LDN 65 SELECT MAINTENANCE STATUS MODE
RJM FCN
LDD ST SAVE MAINTENANCE STATUS
STD T2
LDN 66 CLEAR MAINTENANCE STATUS MODE
RJM FCN
LDD T2 EXTRACT PFC STATUS
SHN 6+3
LPN 3
UJN GMSX RETURN
GST SPACE 4,10
** GST - GET STATUS OF 6681 AND EQUIPMENT.
*
* EXIT (A) = BITS 0 - 2 OF 6681 STATUS.
* (CS) = 6681 STATUS.
* (ST) = EQUIPMENT STATUS.
* IF FUNCTION 65 WAS PREVIOUSLY ISSUED,
* (ST) WILL CONTAIN THE MAINTENANCE STATUS.
*
* CALLS RST.
GST SUBR ENTRY/EXIT
LDN 13 GET EQUIPMENT STATUS
RJM RST
LDN 12 GET CONVERTER STATUS
RJM RST
LDD CS CHECK CONVERTER STATUS
LPN 7
UJN GSTX RETURN
IFN SPACE 4,10
** IFN - ISSUE FUNCTION TO CONVERTER.
*
* ENTRY (A) = FUNCTION CODE/100.
*
* EXIT (T1) = FUNCTION CODE.
* CHANNEL ACTIVE.
*
* USES T1, FC.
*
* CALLS ERR.
IFN2 ACN CH
IFN SUBR ENTRY/EXIT
SHN 6
FAN CH ISSUE FUNCTION
STD T1 SAVE FUNCTION CODE
LDN 6
IFN1 IJM IFN2,CH IF FUNCTION ACCEPTED
SBN 1
NJN IFN1 IF NOT TIMED OUT
LDD T1
STD FC
LDN EFTM *FUNCTION TIMEOUT* ERROR
LJM ERR PROCESS ERROR
LPI SPACE 4,10
** LPI - LOAD PFC IMAGE.
*
* ENTRY (A) = FUNCTION CODE FOR 6/8 LPI.
* (T5) = LENGTH OF PFC IMAGE.
*
* EXIT (A) = VALUE ON RETURN FROM *SBF*.
* TO *ERR* IF ERROR.
*
* USES FC.
*
* CALLS ERR, FCN, GST, GMS, IFN, SBF.
LPI5 LDN 13 SELECT EXTENDED ARRAY MODE
RJM FCN
RJM SBF DETERMINE LINE LIMIT FOR PAGE
LPI SUBR ENTRY/EXIT
RJM FCN ISSUE FUNCTION
LDN 14 CLEAR EXTENDED ARRAY MODE
RJM FCN
LDN 24 SELECT ABNORMAL *EOP* INTERRUPT
RJM FCN
LDN 16 OUTPUT IMAGE ARRAY
RJM IFN
LDD T5 WORD COUNT
OAM BFMS,CH
LPIA EQU *-1
NJN LPI3 IF INCOMPLETE DATA TRANSFER
FJM *,CH
DCN CH+40
RJM GST GET 6681 AND EQUIPMENT STATUS
NJN LPI4 IF ERROR
RJM GMS GET MAINTENANCE STATUS
ZJN LPI5 IF NO ERROR
* ENTERED HERE FROM *FCP*.
LPI1 LDD T2 SET MAINTENANCE STATUS
STD FC
LDN EPFC *PFC ERROR*
LPI2 LJM ERR PROCESS ERROR
LPI3 STD CS STORE NUMBER OF UNTRANSFERED BYTES
LDN EITM *INCOMPLETE TRANSFER*
UJN LPI2 PROCESS ERROR
LPI4 LDN ERJM REJECT/TRANSMISSION PARITY ERROR
UJN LPI2 PROCESS ERROR
PCP SPACE 4,10
** PCP - PROCESS CHANNEL PARITY.
*
* ENTRY (A) = RECOVERY FLAG.
* (T1) = FUNCTION CODE.
*
* EXIT TO *ERR2* IF UNRECOVERED ERROR.
*
* USES CM - CM+4.
*
* CALLS CEC, PDF.
PCP SUBR ENTRY/EXIT
SHN 14
LMM EQSB+CMCP FORM RETRY COUNT + RECOVERY FLAG
SHN 6
STD CM+2
LDN ECLE SET *I* DISPLAY MESSAGE CODE
STD CM
LDN ECRE SET DAYFILE MESSAGE CODE
STD CM+1
LDM ERRB SET PP NUMBER
STD CM+3
LDD T1 SET FUNCTION CODE
STD CM+4
NFA BF,R STORE SECOND BUFFER POINT WORD
ADN 1
CWD CM
LDD CM+2
LPN 1
NJN PCP1 IF UNRECOVERED ERROR
STM EQSB+CMCP SET NUMBER OF TRIES TO ZERO
LDC PCPX SET RETURN ADDRESS
STM PDFA
LJM PDF1 ISSUE ERROR MESSAGE
PCP1 LJM ERR2 PROCESS UNRECOVERED ERROR
RAD SPACE 4,10
** RAD - RELEASE AND DISCONNECT.
*
* ENTRY (ES+1) = CHANNEL (RESERVED).
*
* EXIT CHANNEL RELEASED.
*
* CALLS FCN.
*
* MACROS DCHAN.
RAD SUBR ENTRY/EXIT
LDN 0 CLEAR AND DISCONNECT
RJM FCN
LDD ES+1
DCHAN
UJN RADX RETURN
RST SPACE 4,15
** RST - READ STATUS.
*
* ENTRY (A) = 12 IF REQUESTING CONVERTER STATUS.
* = 13 IF REQUESTING EQUIPMENT STATUS.
*
* EXIT (CS) = CONVERTER STATUS IF REQUESTED.
* (ST) = EQUIPMENT STATUS IF REQUESTED.
*
* USES CM, T4.
*
* CALLS IFN, PCP.
RST2 AOM EQSB+CMCP ADVANCE RETRY COUNT
SBN CHPR
MJN RST1 IF NOT AT RETRY LIMIT
LDN 1
RST3 RJM PCP PROCESS PARITY ERROR
RST SUBR ENTRY/EXIT
STD CM
SBN 12 SET STATUS INDEX
STD T4
RST1 LDD CM ISSUE CONVERTER FUNCTION
RJM IFN
IAN CH+40 INPUT STATUS
DCN CH+40
ERRNZ CS+1-ST CODE DEPENDS ON VALUE
STM CS,T4
SFM RST2,CH IF CHANNEL PARITY ERROR
LDM EQSB+CMCP
ZJN RSTX IF NO PREVIOUS ERROR
LDN 0
UJN RST3 PROCESS RECOVERED PARITY ERROR
SBF SPACE 4,10
** SBF - SEARCH PFC ARRAY FOR BOTTOM OF FORM.
*
* ENTRY (T5) = LENGTH OF PFC ARRAY.
* (LPIA) = FWA OF ARRAY.
*
* EXIT (A) = NUMBER OF LINES TO BOTTOM OF FORM.
* = 0 IF FORMAT CHANNEL 12 UNDEFINED.
*
* USES T1, T2, T4.
SBF2 LDD T4 (A) = LINE COUNT TO BOTTOM OF FORM
SBF SUBR ENTRY/EXIT
LDM LPIA
STD T1 SET FWA OF ARRAY
ADD T5
STD T2 SET END OF ARRAY
LDN 1
STD T4
SBF1 LDI T1 CHECK UPPER CHARACTER
SHN -6
LMN 12D
ZJN SBF2 IF BOTTOM OF FORM (FORMAT CHANNEL 12)
AOD T4
LDI T1 CHECK LOWER CHARACTER
LPN 77
LMN 12D
ZJN SBF2 IF BOTTOM OF FORM
AOD T4
AOD T1 ADVANCE ARRAY ADDRESS
LMD T2
NJN SBF1 IF NOT END OF ARRAY
* LDN 0
UJN SBFX RETURN
WNB SPACE 4,10
** WNB - WAIT NOT BUSY.
*
* USES T6.
*
* CALLS ERR, GST.
WNB SUBR ENTRY/EXIT
LDN 14
STM WNBA SET COUNTER
WNB1 LDD TH
STD T6
WNB2 RJM GST GET EQUIPMENT STATUS
LDD ST CHECK STATUS
LPN 3
LMN 1
ZJN WNBX IF NOT BUSY AND READY
DELAY
SOD T6 INCREMENT COUNTER
NJN WNB2 LOOP
SOM WNBA
NJN WNB1 LOOP
LDD ST CHECK FOR READY DROP
LPN 1
LMN 1
ZJN WNB3 IF NOT READY DROP
SHN 13-0
RAM ERRC
LDN ENRD
STM ERRA
LDN ECBM
WNB3 LMN ECBM *CONTROLLER HUNG BUSY*
LJM ERR PROCESS ERROR
WNBA CON 14 CAUSE MINIMUM DELAY OF 750 MS
TCHS SPACE 4,10
** TCHS - CHANNEL TABLE.
* TABLE CONTAINS THE ADDRESSES OF ALL INSTRUCTIONS WHICH
* REFERENCE THE EQUIPMENT CHANNEL.
TCHS CHTB
USE LITERALS
OPFC EQU *+5 LOAD ADDRESS FOR *3BF*
PFCO SPACE 4,10
** PFCO - PFC IMAGE ARRAY OVERLAY TABLE. EACH ENTRY
* CONSIST OF TWO WORDS. THE FIRST IS THE SPACING
* CODE(SC PARAMETER) CHARACTER AND THE SECOND WORD
* IS THE OVERLAY NAME CONTAINNING THE SPECIFIED
* PFC IMAGE ARRAY.
*
* FOR PRINTERS WHICH PRINT 8 LINES PER INCH ON SHORT PAPER,
* 100B IS ADDED TO THE SPACING CODE SPECIFIED IN THE FET,
* ALLOWING THE CORRECT PFC TO BE LOADED WHILE SPECIFYING THE
* SAME SPACING CODE FOR EITHER SIZE PAPER. THUS, IF SC IS THE
* SPACING CODE FOR LONG PAPER, SC+100B IS THE SPACING CODE FOR
* SHORT PAPER.
PFCO TABL 0,BA
* TABL 1,BA (EQUIVALENT TO DEFAULT)
TABL 2,BB
TABL 100,BC
* TABL 101,BC (EQUIVALENT TO DEFAULT)
TABL 102,BD
PFCOL EQU *-PFCO END OF OVERLAY TABLE.
ERRPL *-BFMS
TTL QAP/3BB/5BA PFC IMAGE ARRAY TABLE.
TITLE DEFAULT 580 PFC IMAGE ARRAY.
QUAL 5BA
IDENT 5BA,PFCX 580 PFC IMAGE ARRAY
*COMMENT QAP - 580 PFC IMAGE ARRAY.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
PFC SPACE 4,10
ORG BFMS-7
PFC SUBR ENTRY/EXIT
LDC TPF6L SET LENGTH OF 6 LPI ARRAY
STD T7
ADN TPF8L-TPF6L (A) = LENGTH OF 8 LPI ARRAY
UJN PFCX EXIT
TPFC SPACE 4,10
* 8 LINES PER INCH ARRAY.
TPFC BSS 0
TPF8 DPFC 1,6,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 12D,0,0,0
DPFC 1,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 12D,0,0,9D
DPFC 17,0
TPF8L EQU *-TPF8
* 6 LINES PER INCH ARRAY.
TPF6 DPFC 1,6,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,12D
DPFC 0,0,1,0
DPFC 0,2,0,0
DPFC 3,0,0,4
DPFC 0,0,5,0
DPFC 0,2,0,0
DPFC 3,0,0,4
DPFC 0,0,5,0
DPFC 0,2,0,0
DPFC 3,0,0,4
DPFC 0,0,5,0
DPFC 0,2,0,0
DPFC 3,0,0,4
DPFC 0,0,5,0
DPFC 0,2,0,0
DPFC 3,0,0,4
DPFC 0,0,5,0
DPFC 0,12D,0,9D
DPFC 17,0
TPF6L EQU *-TPF6
ERRNZ TPFC-BFMS
TTL QAP/3BB/5BB PFC IMAGE ARRAY TABLE.
TITLE ALTERNATE 580 PFC IMAGE ARRAY.
QUAL 5BB
IDENT 5BB,PFCX ALTERNATE 580 PFC IMAGE ARRAY
*COMMENT QAP - ALTERNATE 580 PFC IMAGE ARRAY.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
PFC SPACE 4,10
ORG BFMS-7
PFC SUBR ENTRY/EXIT
LDC TPF6L SET LENGTH OF 6 LPI ARRAY
STD T7
ADN TPF8L-TPF6L (A) = LENGTH OF 8 LPI ARRAY
UJN PFCX EXIT
TPFC SPACE 4,10
* 8 LINES PER INCH ARRAY.
TPFC BSS 0
TPF8 DPFC 1,6,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 7,0,0,0
DPFC 8D,0,0,0
DPFC 10D,0,0,0
DPFC 11D,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 7,0,0,0
DPFC 8D,0,0,0
DPFC 10D,0,0,0
DPFC 11D,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 12D,0,0,0
DPFC 1,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 7,0,0,0
DPFC 8D,0,0,0
DPFC 10D,0,0,0
DPFC 11D,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 7,0,0,0
DPFC 8D,0,0,0
DPFC 10D,0,0,0
DPFC 11D,0,0,0
DPFC 2,0,0,0
DPFC 3,0,0,0
DPFC 4,0,0,0
DPFC 5,0,0,0
DPFC 12D,0,0,9D
DPFC 17,0
TPF8L EQU *-TPF8
* 6 LINES PER INCH ARRAY.
TPF6 DPFC 1,6,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,7
DPFC 0,0,8D,0
DPFC 0,10D,0,0
DPFC 11D,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,7
DPFC 0,0,8D,0
DPFC 0,10D,0,0
DPFC 11D,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,12D
DPFC 0,0,1,0
DPFC 0,2,0,0
DPFC 3,0,0,4
DPFC 0,0,5,0
DPFC 0,7,0,0
DPFC 8D,0,0,10D
DPFC 0,0,11D,0
DPFC 0,2,0,0
DPFC 3,0,0,4
DPFC 0,0,5,0
DPFC 0,7,0,0
DPFC 8D,0,0,10D
DPFC 0,0,11D,0
DPFC 0,2,0,0
DPFC 3,0,0,4
DPFC 0,0,5,0
DPFC 0,12D,0,9D
DPFC 17,0
TPF6L EQU *-TPF6
ERRNZ TPFC-BFMS
TTL QAP/3BB/5BC PFC IMAGE ARRAY TABLE.
TITLE DEFAULT 580 PFC IMAGE ARRAY FOR SHORT PAPER.
QUAL 5BC
IDENT 5BC,PFCX 580 PFC IMAGE ARRAY FOR SHORT PAPER
*COMMENT QAP - 580 PFC IMAGE ARRAY FOR SHORT PAPER.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
PFC SPACE 4,10
ORG BFMS-7
PFC SUBR ENTRY/EXIT
LDC TPF6L SET LENGTH OF 6 LPI ARRAY
STD T7
ADN TPF8L-TPF6L (A) = LENGTH OF 8 LPI ARRAY
UJN PFCX EXIT
TPFC SPACE 4,10
* 8 LINES PER INCH ARRAY.
TPFC BSS 0
TPF8 DPFC 1,6,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,2
DPFC 0,12D,0,0
DPFC 1,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,0
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,2
DPFC 0,12D,0,9D
DPFC 17,0
TPF8L EQU *-TPF8
* 6 LINES PER INCH ARRAY.
TPF6 DPFC 1,6,2,0
DPFC 3,0,4,0
DPFC 0,5,0,2
DPFC 0,3,0,4
DPFC 0,0,5,0
DPFC 2,0,3,0
DPFC 4,0,0,5
DPFC 0,2,0,3
DPFC 0,4,0,0
DPFC 5,0,2,0
DPFC 3,0,4,0
DPFC 0,5,0,2
DPFC 12D,0,0,1
DPFC 0,2,0,3
DPFC 0,4,0,0
DPFC 5,0,2,0
DPFC 3,0,4,0
DPFC 0,5,0,2
DPFC 0,3,0,4
DPFC 0,0,5,0
DPFC 2,0,3,0
DPFC 4,0,0,5
DPFC 0,2,0,3
DPFC 0,4,0,0
DPFC 5,0,2,12D
DPFC 0,9D,17,0
TPF6L EQU *-TPF6
ERRNZ TPFC-BFMS
TTL QAP/3BB/5BD PFC IMAGE ARRAY TABLE.
TITLE ALTERNATE 580 PFC IMAGE ARRAY FOR SHORT PAPER.
QUAL 5BD
IDENT 5BD,PFCX ALTERNATE 580 PFC IMAGE FOR SHORT PAPER
*COMMENT QAP - ALTERNATE 580 PFC IMAGE, SHORT PAPER
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
PFC SPACE 4,10
ORG BFMS-7
PFC SUBR ENTRY/EXIT
LDC TPF6L SET LENGTH OF 6 LPI ARRAY
STD T7
ADN TPF8L-TPF6L (A) = LENGTH OF 8 LPI ARRAY
UJN PFCX EXIT
TPFC SPACE 4,10
* 8 LINES PER INCH ARRAY.
TPFC BSS 0
TPF8 DPFC 1,6,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,7
DPFC 0,0,8D,0
DPFC 0,10D,0,0
DPFC 11D,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,7
DPFC 0,0,8D,0
DPFC 0,10D,0,0
DPFC 11D,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,7
DPFC 0,12D,0,0
DPFC 1,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,7
DPFC 0,0,8D,0
DPFC 0,10D,0,0
DPFC 11D,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,7
DPFC 0,0,8D,0
DPFC 0,10D,0,0
DPFC 11D,0,0,2
DPFC 0,0,3,0
DPFC 0,4,0,0
DPFC 5,0,0,7
DPFC 0,12D,0,9D
DPFC 17,0
TPF8L EQU *-TPF8
* 6 LINES PER INCH ARRAY.
TPF6 DPFC 1,6,2,0
DPFC 3,0,4,0
DPFC 0,5,0,7
DPFC 0,8D,0,10D
DPFC 0,0,11D,0
DPFC 2,0,3,0
DPFC 4,0,0,5
DPFC 0,7,0,8D
DPFC 0,10D,0,0
DPFC 11D,0,2,0
DPFC 3,0,4,0
DPFC 0,5,0,7
DPFC 12D,0,0,1
DPFC 0,2,0,3
DPFC 0,4,0,0
DPFC 5,0,7,0
DPFC 8D,0,10D,0
DPFC 0,11D,0,2
DPFC 0,3,0,4
DPFC 0,0,5,0
DPFC 7,0,8D,0
DPFC 10D,0,0,11D
DPFC 0,2,0,3
DPFC 0,4,0,0
DPFC 5,0,7,12D
DPFC 0,9D,17,0
TPF6L EQU *-TPF6
ERRNZ TPFC-BFMS
TTL QAP/3BC - GENERATE LACE CARD.
TITLE
QUAL PHD
IDENT 3BC,PHDX GENERATE LACE CARD
*COMMENT QAP - GENERATE LACE CARD.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
SPACE 4
*** *PHD* GENERATES A LACE CARD TO PROVIDE A READABLE FORM OF
* IDENTIFICATION AS THE FIRST CARD OF A PUNCH DECK. THE
* NAME ON THE LACE CARD WILL NORMALLY BE THE USER INDEX HASH
* FOLLOWED BY THE JSN. IN THE CASE OF AN *SYOT* FILE OR A FILE
* OWNED BY USER INDEX 0 OR 377777B, THE NAME WILL BE THE UJN.
SPACE 4
** ENTRY CONDITIONS.
*
*
* (BS - BS+4) = FILE NAME FROM FET.
* (FT - LM+1) = FET BUFFER POINTERS.
SPACE 4
** EXIT CONDITIONS.
*
*
* 20B WORDS OF BINARY PUNCH DATA RETURNED TO THE CM BUFFER
* STARTING AT *OUT*.
TITLE MAIN ROUTINE.
PHD SPACE 4
** PHD - MAIN ROUTINE.
ORG OVL
PHD SUBR ENTRY/EXIT
* SET DATA FOR CARD IMAGE.
LDD BS+4 CHECK REQUEST
LMC PLEF
NJN PHD1 IF NOT USER LIMIT EXCEEDED
LDC 1030
STD BS+4
LJM PHD2 GENERATE PUNCH DATA
* GENERATE LACE CARD FROM USER INDEX HASH AND JSN.
PHD1 SFA QFT,FO GENERATE USER INDEX HASH
ADK JSNQ
CRD CN
ADN ENTQ-JSNQ GET DISK ADDRESS OF FILE
CRD T5
ADN SCLQ-ENTQ GET ORIGIN TYPE OF FILE
CRD CM
LDD CM
LPN 77
LMK SYOT
NJN PHD1.1 IF NOT *SYOT* FILE
AOM PHDB USE UJN FOR LACE CARD NAME
PHD1.1 LDD CN+2 SET USER INDEX FOR HASH GENERATION
LPN 77
STD T1
SHN 14
LMD CN+3
STD T2
ZJN PHD1.2 IF FILE OWNED BY USER INDEX ZERO
LMC 377777
NJN PHD1.3 IF FILE IS NOT OWNED BY USER INDEX 377777B
PHD1.2 AOM PHDB USE UJN FOR LACE CARD NAME
PHD1.3 LDD CN SET JSN IN LACE CARD IMAGE
STM PHDA+2
LDD CN+1
STM PHDA+3
RJM GBN GENERATE BANNER NAME
LDD T1 SET USER INDEX HASH IN LACE CARD IMAGE
STM PHDA
LDD T2
STM PHDA+1
* GENERATE LACE CARD FROM UJN (*SYOT* FILE OR FILE OWNED BY
* USER INDEX 0 OR 377777B).
PHDB LDN 0
* LDN (NONZERO) (FILE *SYOT* OR OWNED BY UI 0 OR 377777B)
ZJN PHD2 IF UJN NOT TO BE USED AS LACE CARD NAME
SETMS IO
LDN 0 DO NOT VERIFY FILE NAME
RJM RSS
NJN PHD2 IF ERROR IN SYSTEM SECTOR
ENDMS
LDD MA SET UJN AS LACE CARD NAME
CWM JNSS,ON
SBN 1
CRM PHDA,ON
LDM PHDA+3 ZERO FILL LACE CARD NAME
SCN 77
STM PHDA+3
* GENERATE PUNCH DATA.
PHD2 LDC BUFA SET BUFFER ADDRESS
STD T7
LDC PHDA SET BYTE ADDRESS FOR PUNCH DATA
STD T5
LDN 0 CLEAR CHARACTER INDEX
STD T6
PHD3 LDI T5 SHIFT BYTE
SHN 6
STI T5
SHN -14 LETTER INDEX = 9D * CHARACTER
STD T1
SHN 3
ADD T1
STD T1
LDN 0 CLEAR BYTE COUNT
STD T2
LDD T1 CHECK LETTER INDEX
ADC -TLTRL
MJN PHD4 IF IN TABLE
LDN 0 CLEAR INDEX
STD T1
PHD4 LDM TLTR,T1 STORE LETTER BYTE
STI T7
AOD T7 ADVANCE BUFFER
AOD T1 ADVANCE LETTER INDEX
AOD T2 ADVANCE BYTE COUNT
LMN 11
NJN PHD4 IF NOT END OF LETTER
LDC 4001 INSERT SEPARATOR BETWEEN LETTERS
STI T7
AOD T7
AOD T6 ADVANCE CHARACTER COUNT
LMN 10
ZJN PHD6 IF LACE CARD COMPLETE
LMN 10
LPN 1
NJN PHD5 IF SECOND CHARACTER IN BYTE NOT PROCESSED
AOD T5 ADVANCE BYTE
PHD5 LJM PHD3 LOOP
* RETURN PUNCH DATA TO CM BUFFER.
PHD6 RJM CIB CHECK INPUT BUFFER
ZJN PHD9 IF BUFFER FULL
PJN PHD7 IF NO ERROR
ABORT ERBA * QAP - BUFFER ARGUMENT ERROR.*
PHD7 STD T1 SET WORD COUNT
SBN 20
MJN PHD8 IF LESS THAN 20B WORDS
LDN 20 SET NUMBER OF WORDS TO WRITE
STD T1
PHD8 LDC BUF
RJM WBB WRITE BINARY BUFFER
LDN ZERL UPDATE IN
CRD CM
LDD IN
STD CM+3
LDD IN+1
STD CM+4
LDA IR+3 STORE *IN*
ADN 2
CWD CM
PHD9 LJM PHDX RETURN
PHDA DATA C* LIMIT *
TLTR SPACE 4
** TLTR - TABLE OF LETTERS.
* EACH ENTRY IS 9D BYTES LONG.
TLTR BSS 0
CON 4001,4001,4001,4001,4001 (INCORRECT CHARACTERS)
CON 4001,4001,4001,4001
CON 4175,4375,4641,5441,5041 *A*
CON 5441,4641,4375,4175
CON 5775,5775,5105,5105,5105 *B*
CON 5105,5105,5775,4671
CON 4771,5775,5005,5005,5005 *C*
CON 5005,5005,5415,4411
CON 5775,5775,5005,5005,5005 *D*
CON 5005,5005,5775,4771
CON 5775,5775,5105,5105,5105 *E*
CON 5105,5105,5105,5105
CON 5775,5775,5101,5101,5101 *F*
CON 5101,5101,5101,5101
CON 4771,5775,5005,5005,5005 *G*
CON 5025,5025,5435,4435
CON 5775,5775,4101,4101,4101 *H*
CON 4101,4101,5775,5775
CON 5005,5005,5005,5775,5775 *I*
CON 5775,5005,5005,5005
CON 5011,5015,5005,5005,5775 *J*
CON 5771,5001,5001,5001
CON 5775,5775,4041,4141,4121 *K*
CON 4231,4615,5405,5001
CON 5775,5775,4005,4005,4005 *L*
CON 4005,4005,4005,4005
CON 5775,5775,4401,4201,4101 *M*
CON 4201,4401,5775,5775
CON 5775,5775,4201,4101,4041 *N*
CON 4021,4011,5775,5775
CON 4771,5775,5015,5025,5045 *O*
CON 5105,5205,5775,4771
CON 5775,5775,5101,5101,5101 *P*
CON 5101,5101,5701,4601
CON 4771,5775,5005,5025,5035 *Q*
CON 5015,5005,5775,4771
CON 5775,5775,5141,5161,5121 *R*
CON 5111,5111,5705,4605
CON 4411,5415,5605,5305,5145 *S*
CON 5065,5035,5415,4401
CON 5401,5001,5001,5775,5775 *T*
CON 5775,5001,5001,5401
CON 5771,5775,4005,4005,4005 *U*
CON 4005,4005,5775,5771
CON 5741,5761,4031,4011,4005 *V*
CON 4011,4031,5761,5741
CON 5775,5775,4015,4021,4041 *W*
CON 4021,4015,5775,5775
CON 5015,5435,4661,4341,4101 *X*
CON 4341,4661,5435,5015
CON 5001,5401,4601,4375,4175 *Y*
CON 4375,4601,5401,5001
CON 5405,5455,5075,5065,5145 *Z*
CON 5345,5645,5415,5015
CON 5775,5775,5005,5005,5005 *0*
CON 5005,5005,5775,5775
CON 4405,4405,5005,5005,5775 *1*
CON 5775,4005,4005,4005
CON 5415,5435,5065,5145,5105 *2*
CON 5205,5605,5405,4005
CON 5105,5105,5105,5105,5105 *3*
CON 5105,5105,5775,5775
CON 5741,5741,4041,4041,4041 *4*
CON 5775,5775,4041,4041
CON 5705,5705,5105,5105,5105 *5*
CON 5105,5105,5175,5071
CON 5771,5775,4045,4045,4045 *6*
CON 4045,4045,4075,4031
CON 5001,5005,5015,5031,5061 *7*
CON 5141,5301,5601,5401
CON 4671,5775,5105,5105,5105 *8*
CON 5105,5105,5775,4671
CON 4601,5701,5101,5101,5101 *9*
CON 5101,5101,5775,4775
TLTRL EQU *-TLTR
SPACE 4,10
* COMMON DECKS.
*CALL COMPGBN
*CALL COMPRSS
BUF SPACE 4
** BUF - ASSEMBLY BUFFER.
BUF CON 7777
CON 4001
BUFA BSS 0
BUFL EQU 8D*10D 8 LETTERS AT 10D BYTES/LETTER
ERRNG EPFW-BUFA-BUFL BUFFER OVERFLOWS INTO *EPFW*
EJECT
TTL QAP/3BD - PROCESS OPERATOR REQUEST.
QUAL POR
IDENT 3BD,PORX PROCESS OPERATOR REQUEST
*COMMENT QAP - PROCESS OPERATOR REQUEST.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
SPACE 4
*** *POR* PROCESSES SPECIAL OPERATOR REQUESTS THAT ARE
* CUMBERSOME FOR 1CD TO PERFORM.
SPACE 4
** ENTRY CONDITIONS.
*
*
* (EQ) = EST ORDINAL OF PRINTER.
* (FP - FP+4) = WORD 5 OF FET.
* (BS - BS+4) = FIRST WORD OF FET.
* (FT - FT+1) = *FIRST* POINTER.
* (IN - IN+1) = *IN* POINTER.
* (OT - OT+1) = *OUT* POINTER.
* (LM - LM+1) = *LIMIT* POINTER.
SPACE 4
** EXIT CONDITIONS.
*
*
* FET AND *CIO* REQUEST SET UP TO REPOSITION PRINT FILE.
TITLE MAIN PROGRAM.
** POR - MAIN ROUTINE.
ORG OVL
POR SUBR ENTRY/EXIT
NFA BF,R READ BUFFER POINT WORD
CRD ES
ADN 1 READ REPEAT COUNT
CRD CM
LDD ES+4 SET REQUEST PARAMETER
SHN -6
NJN POR1 IF PARAMETER GIVEN
LDN 1 SET DEFAULT COUNT
POR1 STD T6
STD T4
LDD ES+4 EXTRACT REQUEST CODE
LPN 77
STD T5
LDD CM+4
SHN 6
LMN CPHP SET DRIVER CONTINUE RESPONSE
STD ES+4
LDD BS+3 CLEAR LEVEL NUMBER
SCN 77
STD BS+3
LDM TOPF,T5 PROCESS REQUEST
STD T1
LJM 0,T1
TOPF SPACE 4
** TOPF - TABLE OF OPERATOR REQUESTS PROCESSORS.
* INDEXED BY REQUEST CODE. (DEFINED IN COMSBIO)
* ONE WORD ENTRY IN FORMAT -
*
*T 12/ ADDR
* ADDR = ADDRESS OF REQUEST PROCESSOR.
TOPF INDEX
INDEX BKPO,BKP BACKSPACE PRUS
INDEX BKRO,BKR BACKSPACE RECORDS
INDEX BKFO,BKF BACKSPACE FILES
INDEX SKPO,SKP SKIP PRUS
INDEX SKRO,SKR SKIP RECORDS
INDEX SKFO,SKF SKIP FILES
INDEX LNLP,LNL LOCATE NEXT LINE
INDEX LCBP,LCB LOAD CENTRAL BUFFER
INDEX FPRE TABLE TERMINATOR
TITLE REQUEST PROCESSORS.
BKF SPACE 4
** BKF - BACKSPACE FILES.
BKF BSS 0
LDN 74 SET LEVEL 17
RAD BS+3
UJN BKR PROCESS SKIP
BKP SPACE 4
** BKP - BACKSPACE PRUS.
BKP BSS 0
RJM COB CHECK OUTPUT BUFFER
SHN -6
RAD T4
LDN LNLP-CPHP SET NEXT FUNCTION
RAD ES+4
LDN 44
UJN BKR1 PROCESS *BKSPRU*
BKR SPACE 4
** BKR - BACKSPACE RECORDS.
BKR BSS 0
LDC 640 SET *SKIPB* REQUEST
BKR1 LJM SKR1
SKF SPACE 4
** SKF - SKIP FILES.
SKF BSS 0
LDN 74 SET LEVEL 17
RAD BS+3
LJM SKR PROCESS SKIP
SKP SPACE 4
** SKP - SKIP PRUS.
SKP BSS 0
LDN LNLP-CPHP SET NEXT FUNCTION
RAD ES+4
RJM COB CHECK OUTPUT BUFFER
STD T3
ADN 77
SHN -6 CONVERT TO SECTOR COUNT
SBD T6
MJN SKP2 IF SKIP OUT OF BUFFER
SHN 6
SBD T3 REMOVE WORD COUNT
LMC -0
ADD OT+1
STD CM+4 FORM *OUT* POINTER
SHN -14
ADD OT
STD CM+3
SBD LM CHECK FOR WRAP AROUND
SHN 14
ADD CM+4
SBD LM+1
MJN SKP1 IF NO WRAP AROUND
ADD FT+1
STD CM+4
SHN -14 RESET *OUT* POINTER
ADD FT
STD CM+3
SKP1 LDC BCAX
UJN SKP4 SET FINAL TRANSFER AND BUFFER STATUS
SKP2 LMC -0 SET SKIP COUNT
STD T4
RJM ECB EMPTY BUFFER
LDD LM
SBD FT
SHN 14 FIND BUFFER SIZE
ADD LM+1
SBD FT+1
SHN -6 BUFFER SIZE IN PRUS
SBD T4
PJN SKP3 IF SKIP LESS THAN BUFFER
RAD T4 SKIP ONLY TO FULL BUFFER
SKP3 LDD T4
SHN 6
RAD CM+4 SET *OUT* TO PROPER NUMBER OF SECTORS
SHN -14
RAD CM+3
LDN LCBP-LNLP SET NEXT FUNCTION
RAD ES+4
LDC 60S12+SKR3
SKP4 STM PDFA SET FINAL TRANSFER
SHN -14 SET BUFFER STATUS
SHN 3
STD BS+4
LDA IR+3 STORE BUFFER STATUS
CWD BS
ADN 3 STORE *OUT* POINTER
CWD CM
UJN SKR2
SKR SPACE 4
** SKR - SKIP RECORDS.
SKR BSS 0
LDC 240 SET *SKIPR* REQUEST
SKR1 STD BS+4
RJM ECB EMPTY BUFFER
LDC SKR3
STM PDFA SET EXIT FOR CIO CALL
LDD T4
SHN 6 SET SKIP COUNT IN CIO CALL
RAD IR+3
SHN -14
STD IR+2
LDA IR+3,M STORE CIO FUNCTION CODE
CWD BS
SKR2 NFA BF,R SEND DRIVER CONTINUE
CWD ES
SFA EST,EQ RESTORE EST ENTRY
ADK EQDE
CRD ES
LDD T6
STD CM+2
LDD T5
LJM PDF2 EXIT TO MESSAGE PROCESSOR WITH REQUEST
SKR3 LJM CIO CALL *CIO*
LCB SPACE 4,10
** LCB - LOAD CENTRAL BUFFER.
LCB BSS 0
RJM ECB EMPTY BUFFER
LCB1 LDN LNLP-CPHP SET NEXT FUNCTION
RAD ES+4
LDC 600 SET *CIO* FUNCTION TO *READEI*
STD BS+4
LDA IR+3 STORE BUFFER STATUS
CWD BS
NFA BF,R STORE DRIVER FUNCTION
CWD ES
UJN SKR3 CALL *CIO*
LNL SPACE 4,10
** LNL - LOCATE NEXT LINE.
LNL BSS 0
LDN 35 SET LENGTH OF LINE + 1 WORD
STD T4
RJM COB CHECK OUTPUT BUFFER
SBD T4
MJN LCB1 IF NOT 1 LINE AND 1 WORD
LDN 1 SET WORD COUNT FOR READ
STD T3
LNL1 LDN CM READ WORD FROM CENTRAL BUFFER
RJM RBB
LDD CM+4
ZJN LNL2 IF END OF LINE FOUND
SOD T4
NJN LNL1 IF NOT MAXIMUM LINE LENGTH
LNL2 LDN ZERL
CRD CM
LDD OT SETUP *OUT* POINTER
STD CM+3
LDD OT+1
STD CM+4
LDC 600 SET *CIO* FUNCTION TO *READEI*
STD BS+4
LDA IR+3 STORE *OUT* POINTER
CWD BS STORE BUFFER STATUS
ADN 3
CWD CM
NFA BF,R SEND DRIVER CONTINUE
CWD ES
LJM BCAX EXIT
TTL QAP/3BE - CHANNEL ERROR CLEANUP.
TITLE
QUAL CEC
IDENT 3BE,CECX CHANNEL ERROR CLEANUP
*COMMENT QAP - CHANNEL ERROR CLEANUP.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
CEC SPACE 4
*** *CEC* CLEANS UP AFTER REPEATED CHANNEL ERRORS.
* OUTPUT FILES ARE REQUEUED. ANY TRACKS ASSIGNED TO INPUT
* FILES ARE DROPPED. THE FAULTY EQUIPMENT IS TURNED OFF.
* ERROR LOG MESSAGES ARE ISSUED.
* *CEC* ALSO REQUEUES FILES FOR RERUN REQUESTS.
CEC SPACE 4,10
** ENTRY CONDITIONS.
*
*
* (BS+4) = *CECF* IF CHANNEL ERROR.
* = *RQFF* IF RERUN REQUEST.
* = *CECF* + 4000B IF PRINTER READY DROP.
*
* (BF) = BUFFER POINT ADDRESS.
* (EQ) = EST ORDINAL.
* (FA) = FNT ADDRESS.
* (FP - FP+4) = FILE PARAMETERS.
CEC SPACE 4,10
** EXIT CONDITIONS.
*
*
* IF CHANNEL ERROR -
* OUTPUT FILES REQUEUED.
* INPUT FILE TRACKS DROPPED.
* EQUIPMENT TURNED OFF.
* IF RERUN REQUEST -
* OUTPUT FILE REQUEUED.
TITLE MAIN ROUTINE.
** CEC - MAIN ROUTINE.
ORG OVL
CEC SUBR ENTRY/EXIT
LDD BS+4 CHECK FOR RERUN REQUEST
LMC CECF
NJN CEC0 IF NOT CONTROLLER HUNG BUSY
* TURN EQUIPMENT OFF.
LDD EQ
STD CM+1
LDN OFES SET OFF STATUS
STD CM+2
MONITOR SEQM SET EQUIPMENT PARAMETER
* SEND ERROR LOG MESSAGES.
CEC0 LDD BS+4 CHECK FOR PRINTER READY DROP
LPC 4000
RAD BS+4
SHN 0-14
ZJN CEC1 IF NOT PRINTER READY DROP
LDN CEC6-CEC2
CEC1 ADC CEC2 SET RETURN ADDRESS
STM PDFA
LJM PDF1 ISSUE ERROR LOG MESSAGE
CEC2 LDD BS+4 CHECK FOR RERUN REQUEST
LMC CECF
ZJN CEC3 IF CHANNEL ERROR
LJM CEC6 RERUN REQUEST
CEC3 LDD CP STORE CONTROL POINT MESSAGE
ADN MS2W
CWM CECA,TR
NFA BF,R READ SECOND BUFFER POINT WORD
ADN 1
CRD CM
LDN EOHE *OFF - CHECK ERRLOG*
STD CM
NFA BF,R STORE MESSAGE CODE
ADN 1
CWD CM
LDN 0 CLEAR RETRY FIELD
STD CM+2
LDN EEOM-ERRF ISSUE ERROR LOG AND BML MESSAGES
RJM IBE
LDN ZERL SELECT *EATM* AND ENTER EVENT OPTION
CRD CM
LDN ELAE ERROR LOG ALERT
STD CM+4
MONITOR EATM
LDD FA
ZJN CEC5 IF NO FNT
NFA FA,R
CRD CM
LDD CM+4 CHECK FOR INPUT FILE TYPE
SHN -6
LMN LOFT
NJN CEC6 IF NOT INPUT FILE
* DROP INPUT FILE.
CEC5 LDN 60 *UNLOAD* FILE
STD BS+4
LDA IR+3 WRITE FET+0
CWD BS
LDN 0 CLEAR UNUSED BYTE
STD IR+2
LJM CIO CALL *CIO*
* REQUEUE OUTPUT FILE.
CEC6 NFA FA,R READ FILE NAME
CRM DSPB,ON
LDC DSPB+4 CLEAR *DSP* PARAMETER BLOCK
STD T1
CEC7 LDN 0
STI T1
AOD T1
LMC DSPB+DSPBL*5
NJN CEC7 IF NOT END OF PARAMETER BLOCK
LDK FRRC/10000+FREP/10000 SET REP. COUNT, ERROR RETURN
STM DSPB+1*5+3
LDK FRPR+FRCS SET PRIORITY AND CENTRAL SITE FLAGS
STM DSPB+1*5+4
LDN 1 SET PRIORITY FLAG IN PRIORITY FIELD
STM DSPB+3*5+3
NFA BF,R FETCH REPEAT COUNT
CRD CM
LDD CM+4 SET REPEAT COUNT
SHN -6
STM DSPB+4*5+3
LDD BS+4 CHECK FOR RERUN REQUEST
LMC CECF
ZJN CEC8 IF CHANNEL ERROR
LDD CM+2 SET OPERATOR SELECTED PRIORITY
UJN CEC9 SET SELECTED PRIORITY
CEC8 LCN 0
CEC9 STM DSPB+3*5+4
LDD FA SET FNT ADDRESS
STM DSPB+4*5+4
LDN DSPBL WRITE *DSP* PARAMETER BLOCK
STD T1
ADN QAPO-1
STD T2
RJM VCA VALIDATE CENTRAL ADDRESS
LDA IR+3
ADN QAPO
CWM DSPB,T1
LDN QAPO SET *DSP* PARAMETER BLOCK ADDRESS
RAD IR+4
SHN -14
RAD IR+3
LDN 0 CLEAR UNUSED BYTE
STD IR+2
EXECUTE DSP,*
LJM CPR LOAD PP ROUTINE
CECA DATA C+$REQUEST *I* DISPLAY.+
SPACE 4,10
OVERFLOW OVL
DSPB SPACE 4,10
** DSPB - *DSP* PARAMETER BLOCK BUFFER.
DSPB EQU * *DSP* PARAMETER BLOCK BUFFER FWA
ERRNG 7777-DSPB-DSPBL*5-1 CHECK FOR OVERFLOW
TTL QAP/3BF - RELOAD 580 PFC MEMORY.
TITLE
QUAL PFC
IDENT 3BF,PFCX RELOAD 580 PFC MEMORY
*COMMENT QAP - RELOAD 580 PFC MEMORY.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
PFC SPACE 4,10
*** *PFC* LOADS A USER SUPPLIED IMAGE TO 580 PFC MEMORY.
SPACE 4,10
** ENTRY CONDITIONS.
*
* (BF) = BUFFER POINT ADDRESS.
* (EQ) = EST ORDINAL.
* (BS+4) = REQUEST.
* (IR+3 - IR+4) = FET ADDRESS.
* (OT - OT+1) = OUT POINTER.
* (ES - ES+4) = EST ENTRY.
* (FP - FP+4) = FILE PARAMETER WORD (FET+5).
* (F6 - F6+4) = FILE PARAMETER WORD (FET+6).
SPACE 4,10
** EXIT CONDITIONS.
*
* TO *TPF* IF USER NOT VALIDATED FOR *CBIO* PRIVILEGES.
* *BCAX* IF USER PFC IMAGE SUCCESSFULLY LOADED.
* *TPF1* IF ERROR IN USER PFC IMAGE.
TITLE MAIN ROUTINE.
** PFC - MAIN ROUTINE.
ORG /LPM/OPFC
PFC SUBR ENTRY/EXIT
LDD F6+2 CHECK USER VALIDATION
LPN 1
NJN PFC1 IF USER VALIDATED FOR SPECIAL PRIVILEGES
LDC PFCA CHANGE MESSAGE
STM TPFA
LJM TPF TERMINATE PRINT FILE
PFC1 LDN 2 NUMBER OF USER IMAGES TO BE PROCESSED
STD NI
LDC 210 READ UP 136D BYTES TO EOL
STM RCBA
LDD ES CHECK FOR PFC PRINTER
SHN 21-7
MJN PFC2 IF PFC PRINTER
LJM SKL SKIP LINES
* READ USER PFC ARRAY.
PFC2 LDC BUF READ CODED BUFFER
STD BA
RJM RCB
RJM CAD CONVERT ASCII TO DISPLAY
LDC BFMS SET ADDRESS FOR ASSEMBLY
STD T1
STD LA
LDN 0
STI T1
AOD BA ASSEMBLE CHARACTER STRING
RJM ACS
LDM -1,BA CHECK FOR CONTINUATION LINE
LPN 77
STD T7 SAVE 6/8 LPI DESIGNATOR
LMN 1RC
NJN PFC3 IF NO CONTINUATION LINE
LDD T1 SAVE END OF ASSEMBLY
STD T5
SOD BA READ SECOND LINE
RJM RCB
RJM CAD CONVERT ASCII TO DISPLAY
LDD T5 RESTORE ASSEMBLY ADDRESS
STD T1
AOD BA APPEND SECOND LINE
RJM ACS
PFC3 LDD T7 CHECK FOR 6/8 LPI
LMN 1R6
ZJN PFC4 IF 6 LPI
LDN 17-16
PFC4 ADN 16 SET FUNCTION CODE FOR 6 LPI
STD T7
LDI T1
ZJN PFC5 IF END OF ARRAY ON BYTE BOUNDARY
AOD T1
PFC5 LDD T1 SET LENGTH OF ARRAY
SBD LA
STD T5
SBM PFCB-16,T7
MJN PFC7 IF ARRAY NOT TOO LONG
PFC6 LJM ERR PROCESS ERROR
* VALIDATE USER PFC ARRAY.
PFC7 SOD T1
LDI T1 CHECK LAST CHARACTER
LPN 77
LMN 1R
NJN PFC8 IF NO BLANK PADDING
LCN 1R CLEAR BLANK CHARACTER
RAI T1
PFC8 LDI T1 CHECK LAST BYTE
LPN 77
NJN PFC9 IF TWO CHARACTERS
LDI T1 CHECK FOR END OF ARRAY
SHN -6
PFC9 LMN 1RO
NJN PFC6 IF NOT 17B
LDI LA CHECK START OF IMAGE
SHN -6
LMN 1RA
NJN PFC6 IF NOT TOP OF FORM
RJM CPI CHECK PFC IMAGE
LDD T2 NUMBER OF OCCURENCES OF TOP OF FORM
SBN 2
NJN PFC10 IF NOT 2 PAGE IMAGE
LDD FG CHECK PAPER SIZE
LPN 10
SHN 1-3
ADD T7
STD T3
LDM PFCB-16,T3 CHECK LENGTH OF ARRAY
SBN 1
STD T3
LMD T5
NJN PFC10 IF NOT SAME LENGTH AS SYSTEM ARRAY
SOD T3 CHECK LOCATION OF SECOND PAGE TOP OF FORM
SHN -1 DIVIDE BY 2
RAD LA
LDI LA
SHN -6
LMN 1RA
ZJN PFC11 IF SAME AS STANDARD PFC IMAGE
PFC10 LDD ES SET USER FORMS CONTROL INDICATOR
LPC 7677
LMD HN
STD ES
SFA EST,EQ STORE EST ENTRY
ADK EQDE
CWD ES
PFC11 RJM /LPM/CON CONNECT EQUIPMENT
RJM /LPM/WNB WAIT NOT BUSY
LDD T7 LOAD PFC MEMORY
RJM /LPM/LPI
RJM /LPM/RAD RELEASE AND DISCONNECT
AOD FP+3 ADVANCE COUNT OF *V* LINES
RJM UFP UPDATE FILE PARAMETERS
SOD NI
NJN PFC13 IF TWO *V* LINES NOT PROCESSED
PFC12 LJM BCAX EXIT
PFC13 LDA OT CHECK NEXT LINE
CRD CM
LDD F6+2
LPN 4
NJN PFC17 IF 8/12 ASCII FILE
LDD CM
SHN -6
LMN 1RV
NJN PFC12 IF NOT ANOTHER *V* LINE
LDD CM CHECK FOR V(6,8 OR C)
LPN 77
LMN 1R6
NJN PFC15 IF NOT 6 LPI
PFC14 LJM PFC2 LOOP FOR NEXT *V* LINE
PFC15 LMN 1R8&1R6
ZJN PFC14 IF 8 LPI
LMN 1RC&1R8
ZJN PFC14 IF 8 LPI ACROSS TWO LINES
PFC16 LJM SKL SKIP LINE
PFC17 LDD CM
LMC 126
NJN PFC12 IF NOT ASCII *V*
LDD CM+1
SBN 66 ASCII *6*
ZJN PFC14 IF 6 LPI
SBN 70-66 ASCII *8* - ASCII *6*
ZJN PFC14 IF 8 LPI
SBN 103-70 ASCII *C* - ASCII *8*
ZJN PFC14 IF 8 LPI ACROSS TWO LINES
UJN PFC16 SKIP LINE
PFCA DATA C* - USER ACCESS NOT VALID.*
BSSZ PFCA+3*5-*
PFCB CON /5BA/TPF6L+1,/5BA/TPF8L+1,/5BC/TPF6L+1,/5BC/TPF8L+1
CAD SPACE 4,15
** CAD - CONVERT ASCII TO DISPLAY.
*
* ENTRY (BA) = BUFFER ADDRESS.
* T8AD = FWA OF *COMT8AD.*
*
* EXIT CONVERSION IS TERMINATED BY A ZERO BYTE.
*
* USES T1, T2.
*
* CALLS T8AD.
CAD10 STI T3 STORE EOL BYTE
CAD SUBR ENTRY/EXIT
LDD F6+2
LPN 4
ZJN CADX IF NOT 8/12 ASCII FILE
LDD BA
STD T2 SET PP BUFFER ADDRESS
STD T3
LDI T2
ZJN CADX IF EOL
CAD1 LDI T2
CAD2 ZJN CAD10 IF END OF LINE
SBN 40
MJN CAD3 IF CHAR .LT. 40
STD T1
ADC -140+40
MJN CAD5 IF 40 .LT. CHAR .LE. 137
ZJN CAD3 IF CHAR .EQ. 140
SBN 173-140
PJN CAD3 IF CHAR .GE. 173
LDD T1
SBN 40
UJN CAD4 CONVERT CHARACTER
CAD3 LDN 12 CONVERT TO INCORRECT CHARACTER
CAD4 STD T1
CAD5 LDM T8AD,T1 CONVERT TO DISPLAY CODE
SHN 6 STORE UPPER CHARACTER
STI T3
AOD T2 INCREMENT OLD BYTE ADDRESS
LDI T2
NJN CAD6 IF NOT EOL
AOD T3
LDN 0
UJN CAD2 STORE EOL BYTE
CAD6 SBN 40
MJN CAD7 IF CHAR .LT. 40
STD T1
ADC -140+40
MJN CAD9 IF 40 .LT. CHAR .LE. 137
ZJN CAD7 IF CHAR .EQ. 140
SBN 173-140
PJN CAD7 IF CHAR .GE. 173
LDD T1
SBN 40
UJN CAD8 CONVERT CHARACTER
CAD7 LDN 12 CONVERT TO INCORRECT CHARACTER
CAD8 STD T1
CAD9 LDM T8AD,T1 CONVERT TO DISPLAY CODE
RAI T3 STORE LOWER CHARACTER
AOD T2 INCREMENT OLD BYTE ADDRESS
AOD T3 INCREMENT NEW BYTE ADDRESS
LJM CAD1 LOOP TO END OF LINE
TITLE SUBROUTINES.
CPI SPACE 4,10
** CPI - CHECK PFC IMAGE.
*
* ENTRY (T1) = END OF PFC IMAGE.
* (LA) = START OF PFC IMAGE.
*
* EXIT (T2) = NUMBER OF OCCURENCES OF TOP OF FORM.
* IF ERRORS ARE DETECTED EXIT IS MADE TO *ERR*.
*
* CALLS ERR.
CPI1 LDI T1 CHECK LOWER CHARACTER
LPN 77
SBN 1RA
NJN CPI2 IF NOT *A*
AOD T2 ADVANCE CHANNEL 1 COUNT
UJN CPI3 CHECK UPPER CHARACTER
CPI2 SBN 1RO-1RA CHECK RANGE OF CHARACTER
MJN CPI3 IF VALID CHANNEL
SBN 1R -1RO CHECK FOR BLANK
NJN ERR IF INCORRECT CHARACTER
LCN 1R REPLACE BLANK WITH *00*
RAI T1
CPI3 LDI T1 CHECK UPPER CHARACTER
SHN -6
SBN 1RA
NJN CPI4 IF NOT *A*
AOD T2 ADVANCE CHANNEL 1 COUNT
UJN CPI5 CHECK NEXT BYTE
CPI4 SBN 1RO-1RA CHECK RANGE OF CHARACTER
MJN CPI5 IF VALID CHANNEL
SBN 1R -1RO CHECK FOR BLANK
NJN ERR IF INCORRECT CHARACTER
LCN 1R REPLACE BLANK WITH *00*
SHN 6
RAI T1
CPI5 SOD T1 CHECK IF ALL CHARACTERS VERIFIED
SBD LA
PJN CPI1 IF MORE CHARACTERS TO CHECK
CPI SUBR ENTRY/EXIT
LDN 0 CLEAR TOP OF FORMS COUNTER
STD T2
LDI T1 CHECK END OF ARRAY
LPN 77
NJN CPI3 IF LOWER CHARACTER PRESENT
UJN CPI5 SKIP END OF ARRAY CHECK
ERR SPACE 4,10
** ERR - ERROR ROUTINE.
ERR LDA IR+3 FETCH *OUT* POINTER
ADN 3
CRD CM
LDA CM+3 READ START OF *V* LINE
CRD T1
LDD F6+2
LPN 4
NJN ERR1 IF 8/12 ASCII FILE
LDD T1 REPLACE *V* CHARACTER WITH *-*
LPN 77
LMC 2L--
UJN ERR2 STORE START OF LINE IN ERROR
ERR1 LDN 55 REPLACE ASCII *V* WITH ASCII *-*
ERR2 STD T1
LDA CM+3 STORE START OF LINE IN ERROR
CWD T1
LDD OT SET *IN* TO END OF LINE IN ERROR
STD CM+3
LDD OT+1
STD CM+4
LJM TPF1 TERMINATE PRINT FILE
SKL SPACE 4,10
** SKL - SKIP LINES.
*
* CALLS CAD, RCB, UFP.
SKL LDC BUF READ CODED BUFFER
STD BA
RJM RCB
RJM CAD CONVERT ASCII TO DISPLAY CODE
LDI BA
LPN 77
LMN 1RC
NJN SKL1 IF NOT CONTINUATION LINE
LDD BA READ SECOND LINE
RJM RCB
SKL1 SOD NI DECREMENT IMAGE COUNT
ZJN SKL4 IF LIMIT REACHED
LDA OT
CRD CM
LDD F6+2
LPN 4
ZJN SKL2 IF NOT 8/12 ASCII FILE
LDD CM
LMC 126 ASCII *V*
UJN SKL3 CHECK FOR ANOTHER *V* LINE
SKL2 LDD CM
SHN -6
LMN 1RV
SKL3 NJN SKL4 IF NOT ANOTHER *V* LINE
LJM SKL LOOP FOR ANOTHER *V* LINE
SKL4 RJM UFP UPDATE FILE POINTERS
LJM PFC12 EXIT
UFP SPACE 4,10
** UFP - UPDATE FILE POINTERS.
*
* EXIT FET POINTERS UPDATED.
UFP SUBR ENTRY/EXIT
LDN ZERL
CRD CM
LDD OT SET *OUT* POINTER
STD CM+3
LDD OT+1
STD CM+4
LDA IR+3 STORE *OUT* POINTER
ADN 3
CWD CM
ADN 5-3 WRITE FILE PARAMETER WORD
CWD FP
UJN UFPX RETURN
SPACE 4,10
** COMMON DECKS.
*CALL COMPRCB
*CALL COMT8AD
BUF EQU * WORKING BUFFER
ERRPL BUF+214-BFMS LINE BUFFER OVERFLOWS ASSEMBLY BUFFER
TTL QAP/3BG - GENERATE BANNER PAGE.
TITLE
QUAL GBP
IDENT 3BG,GBPX GENERATE BANNER PAGE
*COMMENT QAP - GENERATE BANNER PAGE.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
SPACE 4,10
*** GBP - GENERATE BANNER PAGE DATA.
*
* C. A. LACEY. 76/10/15.
* R. A. JAPS 77/03/10.
* D. R. HILGREN. 79/01/15.
* P. D. HAAS. 83/03/07.
SPACE 4,10
*** *3BG* GENERATES THE BANNER PAGE FOR A JOB WHICH IS
* BEING PRINTED. THE BANNER CONSISTS OF SYSTEM INFORMATION
* AND THE JOB SEQUENCE NUMBER (JSN) IN FORMATTED CHARACTERS.
*
* *3BG* HAS THE CAPABILITY TO RETURN A PORTION OF THE
* BANNER PAGE TO THE CM BUFFER. THIS WILL ALLOW A PROGRAM
* TO GENERATE A BANNER PAGE WITH A SERIES OF *QAP* CALLS.
SPACE 4,10
*** ENTRY CONDITIONS.
*
*
* (FO) = QFT ORDINAL.
* (CI) = CONTROL INFORMATION.
* 1/S, 11/ WCNT
* S = 1, IF SYSTEM SECTOR INFORMATION NOT NEEDED.
* WCNT = NUMBER OF CM WORDS ALREADY RETURNED.
* (WC) = 8/12 ASCII PRINT FILE FLAG IF BATCHIO CALL.
* (ES - ES+4) = PRINTER EST ENTRY (*BATCHIO* CALL ONLY).
* (ES) = PAGE SIZE. (NON-*BATCHIO* CALL).
* (FT - FT+1) = FIRST POINTER.
* (IN - IN+1) = IN POINTER.
* (OT - OT+1) = OUT POINTER.
* (LM - LM+1) = LIMIT POINTER.
SPACE 4,10
*** EXIT CONDITIONS.
*
*
* (CI) = UPDATED CONTROL INFORMATION.
* (T1) = 1030 IF ALL BANNER PAGE DATA WRITTEN TO CM BUFFER.
* (T1) = 20 IF MORE BANNER PAGE DATA TO BE RETURNED.
* BANNER PAGE RETURNED TO CM BUFFER.
* *IN* POINTER UPDATED IN FET.
SPACE 4,10
** COMMON DECKS.
*CALL COMSMLS
MACROS SPACE 4,10
** LINE - GENERATE 60 BITS OF DISPLAY CODE WITH EOL.
*
* LINE CHARS
*
* ENTRY *CHARS* = 1 - 8 CHARACTER STRING TO FILL 60 BITS.
LINE MACRO C
.1 MICRO 1,, C COUNT CHARACTERS IN EXPRESSION
.1 MICCNT .1
.1 DECMIC .1
VFD 48/".1"L_C,12/0
LINE ENDM
SCLASS SPACE 4,15
** SCLASS - DEFINE SERVICE CLASS TABLE.
*
* SCLASS NM,MN,DF,ST,TX
*
* ENTRY *NM* = SERVICE CLASS NAME.
* *MN* = TWO CHARACTER MNEMONIC.
* *DF* = DAYFILE MESSAGE CHARACTER.
* *ST* = SHORT TEXT FOR *QFTLIST*.
* *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
*
* NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
* THIS MACRO.
PURGMAC SCLASS
SCLASS MACRO NM,MN,DF,ST,TX
.SCL RMT
INDEX NM,(=Z*TX_.*)
.SCL RMT
SCLASS ENDM
SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
*CALL COMSSCD
SPACE 4,10
**** DIRECT CELL USAGE.
CI EQU FP CONTROL INFORMATION
BG EQU FP+1 BANNER GENERATION FLAGS
SS EQU EQ SYSTEM SECTOR INFORMATION STATUS
WC EQU FP+2 WORD COUNT
BC EQU FP+3 NUMBER OF WORDS LEFT IN CM BUFFER
LC EQU FC LINE COUNT
****
TITLE MAIN ROUTINE.
GBP SPACE 4,10
** GBP - MAIN ROUTINE.
ORG OVL
GBP SUBR ENTRY/EXIT
RJM PRS PRESET OVERLAY
RJM RID READ JOB IDENTIFICATION
LDC BUFP LWA OF BUFFER
STD T7
LDN LCN1 SET NUMBER OF LINES IN HEADER
RJM WAB
NJN GBP1 IF WRITE NOT COMPLETE
LDC 4000 SET SYSTEM SECTOR INFORMATION NOT NEEDED
GBPA EQU *-1
* LDC 0 (*SYOT* FILE OR FILE OWNED BY UI 377777)
STM GBPE
** FORMAT JOB NAME.
GBP1 LDC BUF SET BUFFER
STD T7
LDN 0 CLEAR LINE COUNT
STD T6
GBP2 LDN 0 CLEAR SPACE COUNT
STD T2
GBP3 LDC 2R SPACE OUT LINE
STI T7
AOD T7 ADVANCE BUFFER
AOD T2 ADVANCE SPACE COUNT
LMN 3
NJN GBP3 IF NOT FINISHED SPACING
RJM STL STORE LINE
AOD T6 ADVANCE LINE COUNT
LMN LCN2
NJN GBP2 LOOP FOR 16 LINES
LDN LCN2 WRITE CENTRAL BUFFER
RJM WAB
NJN GBP5 IF WRITE NOT COMPLETE
GBP4 LDC 4000
STM GBPE
GBP5 RJM APS ADVANCE TO PAGE SEPARATION
* DESELECT AUTO PAGE EJECT AND (TRY TO) SELECT 8 LPI.
LDC BUF
STD T7
LDC BUFV TRANSFER TO OUTPUT BUFFER
GBPB EQU *-1
* LDC BUFW (ELECTRONIC VERTICAL FORMAT UNIT)
* LDC BUFY (NON-IMPACT PRINTER)
STD T1
LJM GBP6 GENERATE PAGE SEPARATION
GBPC EQU *-1
* LJM GBP7 (ELECTRONIC VERTICAL FORMAT UNIT)
* LJM GBP9 (NON-IMPACT PRINTER)
GBP6 LDI T1
STI T7
AOD T7
AOD T1
LMC BUFW
NJN GBP6 IF TRANSFER NOT COMPLETE
** BANNER PAGE SEPARATION.
GBP7 LDI T1
STI T7
AOD T7
AOD T1
LDI T1
STI T7
AOD T7
LDN 57D
STD T2
GBP8 LDM BUFX-BUFW-1,T1 STORE SEPARATOR CHARACTERS
STI T7
AOD T7
SOD T2
NJN GBP8 IF LINE NOT COMPLETE
STI T7
AOD T7
AOD T1
LMC BUFX
NJN GBP7 IF NOT END OF DATA
LDN BUFY-BUFX
GBPF EQU *-1
* LDN BUFU-BUFX (ELECTRONIC VERTICAL FORMAT UNIT)
RAD T1
GBP9 LMC BUFZ
GBPG EQU *-1
* LMC BUFU (NOT LAST BANNER PAGE)
ZJN GBP9.1 IF TRANSFER COMPLETE
LDI T1
STI T7
AOD T7
AOD T1
UJN GBP9 CONTINUE TRANSFER
GBP9.1 LDN LCN3 WRITE BANNER PAGE SEPARATION
GBPD EQU *-1
* LDN LCN3-LCN4 (NON-IMPACT PRINTER)
RJM WAB
* SET EXIT CONDITIONS AND UPDATE *IN* POINTER.
ZJN GBP10 IF END OF BANNER PAGE ENCOUNTERED
LDC 20&1030
GBP10 LMC 1030
STD T1
LDD WC SET CONTROL INFORMATION
ADC 0
* ADC 4000 (SYSTEM SECTOR INFO NO LONGER NEEDED)
GBPE EQU *-1
STD CI
LDN ZERL UDPATE IN
CRD CM
LDD IN
STD CM+3
LDD IN+1
STD CM+4
LDA IR+3 STORE IN POINTER
ADN 2
CWD CM
LJM GBPX RETURN
TITLE SUBROUTINES.
APS SPACE 4,10
** APS - ADVANCE TO PAGE SEPARATION.
*
* ENTRY (APSB) = NUMBER OF BLANK LINES TO WRITE.
*
* EXIT BLANK LINES WRITTEN (IF NOT *BATCHIO* CALL).
*
* USES T7.
*
* CALLS WAB.
APS SUBR ENTRY/EXIT
APSA UJN APSX IF *BATCHIO* OR SKIP TO END OF FORM WORKS
* PSN IF NON-*BATCHIO* CALL NEEDING LINES SKIP
LDN ZERL
CRM BUF,ON BLANK LINE TO ASSEMBLY BUFFER
LDC 2R0 DOUBLE SPACE
STM BUF
APS1 LDC 0
APSB EQU *-1
ZJN APSX IF NO MORE TO WRITE
SBN 2 DOUBLE SPACED LINE
PJN APS2 IF ROOM FOR DOUBLE SPACED LINE
LDC 2R SET SINGLE SPACED LINE
STM BUF
LDN 0 END OF LINES
APS2 STM APSB DECREMENT LINE COUNT
LDC BUF+5 LWA+1 OF BUFFER
STD T7
LDN 1
RJM WAB WRITE BLOCK
UJN APS1 ADVANCE AGAIN
STL SPACE 4,10
** STL - STORE LINE.
*
* ENTRY (T7) = BUFFER ADDRESS.
* (CM - CM+4) = BANNER NAME
*
* EXIT (T7) ADVANCED.
*
* USES T1 - T5.
STL SUBR ENTRY/EXIT
LDN 0 CLEAR CHARACTER INDEX
STD T5
STL1 LDD T5 SET BYTE ADDRESS
SHN -1
ADN CM
STD T2
LDI T2 SET UPPER CHARACTER
SHN -6
STD T1
LDD T5
LPN 1
ZJN STL2 IF UPPER CHARACTER
LDI T2 SET LOWER CHARACTER
LPN 77
STD T1
STL2 LDD T1 CHECK CHARACTER
SBN 1R+
MJN STL3 IF LETTER LEGAL
LDN 0 CLEAR LETTER
STD T1
STL3 LDD T1 LETTER INDEX = CHARACTER * 20 + LINE
SHN 4
ADD T6
STD T2
LDM TBAN,T2 SET LETTER BYTE
STD T2
LDN 0 CLEAR BIT COUNT
STD T3
STL4 LDN 1R SET UPPER = SPACE
SHN 6
STI T7
LDD T2 SHIFT BYTE
SHN 1
STD T2
SHN 5
PJN STL5 IF NO LETTER
LDD T1 SET LETTER
SHN 6
STI T7
STL5 LDN 1R SET LOWER = SPACE
RAI T7
LDD T2 SHIFT BYTE
SHN 1
STD T2
SHN 5
PJN STL6 IF SPACE
LDI T7 SET LETTER
SCN 77
ADD T1
STI T7
STL6 AOD T7 ADVANCE BUFFER
AOD T3 ADVANCE BIT COUNT
LMN 6
NJN STL4 LOOP FOR 12 BITS
LDC 2R STORE 2 SPACES
STI T7
AOD T7
AOD T5 ADVANCE CHARACTER COUNT
LMN 10
ZJN STL7 IF 8 CHARACTERS STORED
LJM STL1 LOOP
STL7 STI T7 TERMINATE LINE (LAST BYTE OF CM WORD)
AOD T7
LJM STLX RETURN
WAB SPACE 4,20
** WAB - WRITE ASCII BUFFER.
*
* ENTRY (A) = NUMBER OF LINES TO WRITE.
* (BUF) = ASSEMBLY BUFFER FOR BANNER PAGE.
* (LBUF) = ASSEMBLY BUFFER FOR 8/12 ASCII LINE.
* (BC) = NUMBER OF WORDS LEFT IN BUFFER.
* (WC) = CURRENT CM WORD COUNT.
* (CI) = NUMBER OF CM WORDS TO SKIP.
* (T7) = LWA+1 OF PP BUFFER.
*
* EXIT (A) = 0 IF END OF PP BUFFER ENCOUNTERED.
* (BC) = NUMBER OF WORDS LEFT IN BUFFER.
* (WC) = CURRENT WORD COUNT.
*
* USES LC, T1 - T7.
*
* CALLS DV5, WDB.
WAB8 RJM WDB WRITE DATA BUFFER
WAB SUBR ENTRY/EXIT
WABA UJN WAB8 WRITE DATA BUFFER
* PSN (8/12 ASCII PRINT FILE)
STD LC SAVE LINE COUNT
LDC BUF
STD T2
SBN 1
STD T1
LDC LBUF DEFINE ASSEMBLY BUFFER ADDRESS
STD T5
WAB1 LDN 5 LOCATE EOL
RAD T1
LDI T1
NJN WAB1 IF NOT EOL
AOD T1 SET START OF NEXT LINE
STD T4
WAB2 SOD T1 FIND LAST BYTE OF DATA
SBD T2
PJN WAB3 IF NOT EMPTY LINE
AOD T1
LDC 2R
STI T1
WAB3 LDI T1
ZJN WAB2 IF STILL EOL BYTE
LPN 77
NJN WAB4 IF LAST CHARACTER NOT PART OF EOL
LDN 1R
RAI T1
WAB4 AOD T1
LDD T5 SET ASSEMBLY BUFFER ADDRESS
STD T3
WAB5 LDI T2 UNPACK DATA BYTE
SHN 14
STD T6
SHN -14
STD T7
LDM TDA8,T6 CONVERT UPPER CHARACTER
STI T3
AOD T3 ADVANCE ASSEMBLY BUFFER ADDRESS
LDM TDA8,T7 CONVERT LOWER CHARACTER
STI T3
AOD T3 ADVANCE ASSEMBLY BUFFER ADDRESS
AOD T2
LMD T1
NJN WAB5 IF EOL NOT REACHED
LDD T3 SET END OF ASCII LINE
STM WABB
ADN 1
SBD T5 DETERMINE CM WORD COUNT OF LINE
RJM DV5
STD T7 SET LWA OF BUFFER FOR *WDB*
SHN 2
ADD T5
RAD T7
LDN ZERL ENSURE EOL ON CM WORD BOUNDARY
CRM *,ON
WABB EQU *-1
RJM WDB WRITE DATA BUFFER
ZJN WAB7 IF ENTIRE LINE WRITTEN
WAB6 LJM WABX RETURN
WAB7 SOD LC DECREMENT LINE COUNT
ZJN WAB6 IF REQUEST SATISFIED
LDD T4 RESET POINTERS TO START OF NEXT LINE
STD T2
SBN 1
STD T1
LJM WAB1 PROCESS NEXT LINE
WDB SPACE 4,20
** WDB - WRITE BUFFER DATA.
*
* ENTRY (BC) = NUMBER OF WORDS LEFT IN BUFFER.
* (WC) = CURRENT CM WORD COUNT.
* (CI) = NUMBER OF WORDS TO SKIP.
* (T7) = LWA+1 OF PP BUFFER.
*
* EXIT (A) = 0 IF END OF PP BUFFER.
* (BC) = NUMBER OF WORDS LEFT IN BUFFER.
* (WC) = CURRENT CM WORD COUNT.
*
* USES T1, T2, T6, T7.
*
* CALLS WBB.
WDB4 AOD WC
LDN 5 ADVANCE BUFFER ADDRESS
RAD T2
SBD T7
MJN WDB1 IF NOT END OF PP BUFFER
WDB5 LDD T7
WDB SUBR ENTRY/EXIT
LDD BC
ZJN WDB5 IF CM BUFFER FULL
LDC BUF
WDBA EQU *-1
* LDC LBUF (8/12 ASCII PRINT FILE)
STD T2
WDB1 LDD WC
SBD CI
MJN WDB4 IF WORD TO BE SKIPPED
LDN 0
STD T1
LDD T2 SAVE FWA OF DATA TO BE WRITTEN
STD T6
WDB2 LDD BC
ZJN WDB3 IF CM BUFFER FULL
SOD BC DECREMENT WORDS REMAINING IN BUFFER
AOD WC ADVANCE WORD COUNT
AOD T1 ADVANCE NUMBER OF WORDS TO WRITE
LDN 5 ADVANCE TO NEXT WORD
RAD T2
SBD T7
MJN WDB2 IF NOT END OF BUFFER
LDN 0 SET END OF BUFFER ENCOUNTERED
STD T7
WDB3 LDD T6 WRITE BINARY BUFFER
RJM WBB
UJN WDB5 RETURN
SPACE 4,10
** COMMON DECKS.
RND$ EQU 1 SELECT ROUNDING FOR *DV5*
*CALL COMPDV5
TLTR SPACE 4,10
** TBAN - TABLE OF BANNER LETTERS.
*
* EACH LETTER IS DESCRIBED BY 16 DATA BYTES.
* EACH BIT CORRESPONDS TO A PRINT COLUMN. (THERE ARE 12
* COLUMNS/LETTER). IF THE BIT IS SET, STORE THE LETTER.
*CALL COMTBAN
TDA8 SPACE 4,10
** TDA8 - CONVERSION TABLE.
TDA8 BSS 0
*CALL COMTDA8
SPACE 4,10
** BUF - ASSEMBLY BUFFER.
BUFV LINE Q DESELECT AUTO PAGE EJECT
LINE T SELECT 8 LINES PER INCH
BUFW DATA 4H2 M SKIP TO BOTTOM OF FORM BEFORE PRINT
DATA 4H W
DATA 4H M
DATA 4H W
DATA 4H M
BUFX DATA 2HWM
CON 0
DATA 2HMW
CON 0
DATA 2HWM
CON 0
DATA 2HMW
CON 0
DATA 2HWM
BUFY LINE S DESELECT 8 LINES PER INCH
BUFU LINE 2 SKIP TO BOTTOM OF FORM
LINE R SELECT AUTO EJECT
BUFZ BSS 0
LCN3 EQU 12 LINE COUNT FOR PAGE SEPARATION
.LC SET BUFZ-BUFY
LCN4 EQU .LC/5 LINE COUNT FOR POSITIONING 2ND PAGE
BUF BSS 0
LINE Q DESELECT AUTO EJECT
BUFQ LINE 3 SKIP TO FORMAT CHANNEL 6
BUFS LINE R RESELECT AUTO PAGE EJECT
BUFT LINE 0
LINE 0
BUFA DATA 20H0
DATA 20HOPERATING SYSTEM =
BUFB DATA 10H
BUFC DATA 10H
DATA 10H"DATE"
DATA 10H PRINTED =
BUFD DATA 10H
BUFE DATA 10H
LINE
DATA 20H0
DATA 16HUJN =
BUFG DATA 10H
DATA 14H FAMILY =
BUFH DATA 10H
DATA 20H JOB ORIGIN =
BUFI DATA 20H
LINE
DATA 20H
DATA 16HCREATING JSN =
BUFJ DATA 10H
DATA 14H USER NAME =
BUFK DATA 10H
DATA 20H SERVICE CLASS =
BUFM DATA 30H
LINE
DATA 70H
BUFN DATA 20H ACCESS LEVEL =
BUFO DATA 20H
LINE
LINE 0
LINE 0
BUFP BSS 0
LCN1 EQU 13 LINE COUNT FOR HEADER INFORMATION
BUFL EQU 120D/2*16D CHARACTERS PER LINE * LINES
LBUF EQU BUF+BUFL ASSEMBLY BUFFER FOR 8/12 ASCII LINE
LBUFL EQU LBUF+120D+5 LWA OF ASSEMBLY BUFFER
ERRPL LBUFL-10000 BUFFER WRAPS PP MEMORY
SLC SPACE 4,10
** ACTUAL PRINT LINE COUNTS FOR PORTIONS OF BANNER PAGE.
*
* THEIR PURPOSE IS TO DEFINE THE SIZE OF THE DIFFERENT
* SEGMENTS OF THE BANNER PAGE ACTUALLY PRINTED ON ONE PAGE.
* IF LAYOUT CHANGES THESE CONSTANTS MAY NEED ADJUSTMENT.
HDLC EQU LCN1-2+6 HEADER LINE COUNT
LCN2 EQU 20 BLOCK LETTER LINE COUNT
BLLC EQU LCN2
PSLC EQU 0 PAGE SEPARATOR NOT COUNTED FOR NOW
MPBL EQU HDLC+BLLC+PSLC MINIMUM PAGE SIZE FOR BLOCK LETTERS
TITLE SUBROUTINES THAT MAY BE OVERLAID.
BFF SPACE 4,10
** BFF - BLANK FILL FIELD.
*
* BLANK FILL FROM SPECIFIED POINT TO START OF DATA.
*
* ENTRY (A) = BEGINNING OF BUFFER.
* (T1) = BUFFER ADDRESS TO START BLANK FILL.
*
* USES T1.
BFF2 LPN 77 CHECK LOWER CHARACTER
NJN BFFX IF NOT ZERO CHARACTER
LDN 1R
RAI T1
BFF SUBR ENTRY/EXIT
STM BFFA
BFF1 SOD T1 DECREMENT ADDRESS
LMC **
BFFA EQU *-1
ZJN BFFX IF BEGINNING OF BUFFER
LDI T1
NJN BFF2 IF NOT ZERO WORD
LDC 2R
STI T1
UJN BFF1 LOOP
RID SPACE 4,20
** RID - READ IDENTIFICATION DATA.
*
* ENTRY (FO) = QFT ORDINAL.
* (SS) = SYSTEM SECTOR INFORMATION STATUS.
* (T3) = SERVICE CLASS / ORIGIN TYPE.
* (T5) = EST ORDINAL OF PRINT FILE RESIDENCE.
* (T6) = FIRST TRACK OF FILE.
* (T7) = 0.
*
* EXIT (BUFG) = *UJN* ASSOCIATED WITH PRINT FILE.
* (BUFK) = USER NAME OF JOB THAT CREATED OUTPUT.
* (CM - CM+4) = BANNER NAME.
*
* USES T1, T2, CM - CM+4.
*
* CALLS BFF, GBN, RDS.
*
* MACROS ENDMS, SETMS, SFA.
RID SUBR ENTRY/EXIT
LDD SS
SHN 21-13
MJN RID1 IF SYSTEM SECTOR READ NOT NEEDED
SETMS IO
LDC BFMS READ SYSTEM SECTOR
RJM RDS
RID1 MJP RID4 IF SYSTEM SECTOR NOT READ
ENDMS
LDN 3
STD T1
RID3 LDM ACSS,T1 MOVE CREATION USER NAME
STM BUFK,T1
LDM JNSS,T1 MOVE USER JOB NAME
STM BUFG,T1
LDM FMSS,T1 MOVE FAMILY NAME
STM BUFH,T1
SOD T1
PJN RID3 IF MORE TO MOVE
LDM BUFG+4
SCN 77
ADN 1R ADD BLANK
STM BUFG+4
LDM BUFK+3 CLEAR TRAILING INFORMATION IN FIELD
SCN 77
STM BUFK+3
LDM BUFH+3
SCN 77
STM BUFH+3
LDM CJSS SET CREATING *JSN*
STM BUFJ
LDM CJSS+1
STM BUFJ+1
RID4 LDC BUFK+4 BLANK FILL USER NAME
STD T1
SBN 5
RJM BFF
LDC BUFG+4 BLANK FILL USER JOB NAME
STD T1
SBN 5
RJM BFF
LDC BUFH+4 BLANK FILL FAMILY NAME
STD T1
SBN 5
RJM BFF
SFA QFT,FO
ADK JSNQ
CRD CM
LDD T3
LPN 77
LMK SYOT
ZJN RID6 IF *SYOT* ORIGIN
LDD CM+2 SET USER INDEX
LPN 77
STD T1
SHN 14
LMD CM+3
STD T2
ZJN RID6 IF OWNER UI IS ZERO
LMC 377777
ZJN RID6 IF OWNER UI IS 377777
LDD CM SET CREATION *JSN*
STD CM+2
LDD CM+1
STD CM+3
RJM GBN GENERATE BANNER NAME
LDD T1
STD CM
LDD T2
STD CM+1
RID5 LJM RIDX RETURN
RID6 LDD MA SET USER JOB NAME
CWM JNSS,ON
SBN 1
CRD CM
LDN 0
STM GBPA
STD CM+4
LDD CM+3
SCN 77
STD CM+3
UJN RID5 RETURN
SPACE 4,10
** COMMON DECKS THAT MAY BE OVERLAID.
*CALL COMPGBN
SPACE 4,10
ERRNG BFMS-* SYSTEM SECTOR OVERLAYS CODE
PRS SPACE 4,20
** PRS - PRESET OVERLAY.
*
* ENTRY (BF) = 0 IF NOT *BATCHIO* CALL.
*
* EXIT (T3) = SERVICE CLASS / ORIGIN TYPE.
* (T5) = EST ORDINAL OF PRINT FILE RESIDENCE.
* (T6) = FIRST TRACK OF FILE.
* (T7) = 0.
* (WC) = 0.
* (SS) = (CI).
* (BC) = NUMBER OF FREE WORDS IN CM BUFFER.
*
* IF NOT *BATCHIO* CALL,
* *BUFQ* CHANNEL 6 SKIP (*3*) CHANGED TO PAGE EJECT.
*
* IF END OF FORM SKIP NOT AVAILABLE,
* (APSB) = LINES TO SKIP TO REACH END OF FORM.
* *BUFW* END OF FORM SKIP (*2*) CHANGED TO SINGLE SPACE.
*
* USES T4, CM - CM+4.
*
* CALLS BFF, CIB, MCS.
*
* MACROS SFA.
PRS SUBR ENTRY/EXIT
LDD BF
NJN PRS1 IF *BATCHIO*
RJM PNB PRESET NON-*BATCHIO* BANNER PAGE
UJN PRS4 GO CLEAR CURRENT WORD COUNT
PRS1 LDN IPPL SET DEFAULT PRINT DENSITY
CRD CM
LDD CM+2
SHN -4
LPN 17
LMN PDSD
ZJN PRS1.1 IF SIX LINES PER INCH
LDM PRSA SET EIGHT LINES PER INCH
STM BUFY
PRS1.1 LDD WC
ZJN PRS2 IF NOT 8/12 ASCII PRINT FILE
LDN PSNI
STM WABA
LDC LBUF
STM WDBA
PRS2 LDD ES CHECK EQUIPMENT TYPE
SHN 21-7
PJN PRS4 IF NOT PFC PRINTER
LDN 1R -1R0 ADJUST PAGE REGISTRATION
PRS3 SHN 6
RAM BUFA
PRS4 LDN 0 CLEAR CURRENT WORD COUNT
STD WC
LDD CI SET CONTROL INFORMATION
STD SS
LPC 3777
STD CI
RJM CIB CHECK INPUT BUFFER
STD BC SAVE NUMBER OF WORDS IN BUFFER
LDN TIML GET SYSTEM TIME AND DATE
CRM BUFE,ON
ADK DTEL-TIML-1
CRM BUFD,ON
ADK SVNL-DTEL-1 READ VERSION NAME
CRM BUFB,ON
CRM BUFC,ON
LDC BUFC+5 SET BUFFER POINTER
STD T1
LDC BUFB BEGINNING OF BUFFER
RJM BFF BLANK FILL FIELD
SFA QFT,FO
ADN INSQ GET PARAMETERS FROM QFT ENTRY
CRD CM
ADN SCLQ-INSQ
CRD T3
SBN SCLQ-ENTQ
CRD T5
LDD T3 SET JOB ORIGIN NAME IN HEADER
LPN 77
STD T1
SBN MXOT
MJN PRS5 IF VALID ORIGIN TYPE
LDN SYOT DEFAULT TO SYSTEM
STD T1
PRS5 LDM TOTN,T1 SET ADDRESS
STD T1
LDC BUFI MOVE NAME TO BUFFER
RJM MCS
LDD T3 SET SERVICE CLASS NAME IN HEADER
SHN -6
STD T1
SBN MXJC
MJN PRS6 IF VALID SERVICE CLASS
LDN SYSC DEFAULT TO SYSTEM
STD T1
PRS6 LDM TSCN,T1 SET ADDRESS
STD T1
LDC BUFM MOVE NAME TO BUFFER
RJM MCS
LDD CM+3 SET ACCESS LEVEL NAME IN HEADER
SHN -3
LPN 7
STD T1
SHN 2 SET ADDRESS OF NAME
ADC TALN
RAD T1
LDN SSML CHECK SECURITY MODE
CRD CM
LDD CM
LPN 7
NJN PRS8 IF SECURE SYSTEM
LDC BUFN
STD T1
ADN BUFO-BUFN
STD T2
PRS7 LDC 2R CLEAR REFERENCE TO ACCESS LEVEL
STI T1
AOD T1
LMD T2
NJN PRS7 IF NOT END OF BUFFER
* LDN 0
UJN PRS9 CLEAR SECTOR NUMBER
PRS8 LDC BUFO MOVE NAME TO BUFFER
RJM MCS
LDN 0 CLEAR SECTOR NUMBER
PRS9 STD T7
LDD ET
LMK NPDT
NJN PRS10 IF NOT NON-IMPACT PRINTER
LDK BUFY-BUFV
RAM GBPB
LDK GBP9-GBP6 MODIFY MAIN ROUTINE TO SKIP SEPARATION
RAM GBPC
LCN LCN3-LCN4
RAM GBPD
PRS10 LJM PRSX RETURN
PRSA LINE T
PNB SPACE 4,15
** PNB - PRESET NON-*BATCHIO* BANNER PAGE.
*
* ENTRY (ES) = 0, IF SKIP TO BOTTOM OF FORM IS SUPPORTED.
* = PAGE SIZE, IF NO SKIP TO BOTTOM OF FORM.
* (BG) = ELECTRONIC VERTICAL FORMAT UNIT, NOT FIRST
* BANNER AND NOT LAST BANNER FLAGS.
*
* EXIT BANNER PAGE ALTERATIONS COMPLETE FOR NON-*BATCHIO*
* PRINTERS WHICH DO NOT HANDLE BOTTOM OF FORM, OR HAVE
* ELECTRONIC VERTICAL FORMAT UNITS. ALTERATIONS ARE
* ALSO MADE WHEN REQUIRED FOR FORMAT CONTROL DIFFERENCES
* BETWEEN PAGES OF MULTIPLE BANNER PAGE SETS.
PNB SUBR ENTRY/EXIT
LDC 3R 1 STORE PAGE EJECT INSTEAD OF FORMAT 6
STM BUFQ
SHN 6 CLEAR SECOND SKIP TO BOTTOM OF FORM
STM BUFU
LDD ES GET PAGE SIZE
ZJN PNB1 IF NO PAGE ALTERATIONS NECESSARY
SBN MPBL SUBTRACT NUMBER OF LINES TO BE USED
STM APSB SET LINES REMAINING BEFORE SEPARATOR
LDK PSNI ENSURE LINES ARE SKIPPED
STM APSA
LDC 2R CLEAR SKIP TO BOTTOM OF FORM CODE
STM BUFW
PNB1 LDD BG
SHN 21-12
PJN PNB2 IF NOT ELECTRONIC VERTICAL FORMAT UNIT
LDK BUFW-BUFV DISABLE AUTO EJECT DESELECT, 8 LPI SELECT
RAM GBPB
LDK GBP7-GBP6
RAM GBPC
LDK BUFU-BUFY DISABLE 8 LPI DESELECT
RAM GBPF
LDC 2R
STM BUFQ ELIMINATE FIRST TOP OF FORM
STM BUFS ELIMINATE AUTO PAGE EJECT RESELECTION
STM BUFT ADJUST FOR EXTRA LINE
PNB2 LDD BG
SHN 21-11
PJN PNB3 IF FIRST BANNER PAGE
LDC 2R DROP AUTO EJECT DESELECT, ADJUST SPACING
STM BUF
STM BUFQ
STM BUFA
PNB3 LDD BG
SHN 21-10
PJN PNB4 IF LAST BANNER PAGE
LDK BUFU-BUFZ DISABLE BOTTOM OF FORM SKIP AFTER BANNER
RAM GBPG
PNB4 UJP PNBX RETURN
MCS SPACE 4,10
** MCS - MOVE CHARACTER STRING TO BUFFER.
*
* ENTRY (A) = BUFFER ADDRESS.
* (T1) = ADDRESS OF CHARACTER STRING.
*
* USES T1, T2.
MCS1 AOD T1 ADVANCE ADDRESSES
AOD T2
MCS2 LDI T1
ZJN MCSX IF END OF STRING
STI T2
LPN 77
NJN MCS1 IF NOT END OF STRING
LDN 1R
RAI T2 BLANK FILL
MCS SUBR ENTRY/EXIT
STD T2
UJN MCS2 MOVE CHARACTER STRING
TALN SPACE 4,10
** TALN - TABLE OF ACCESS LEVEL NAMES.
TALN BSS 0
DATA 8H"ALM0"
CON 0
DATA 8H"ALM1"
CON 0
DATA 8H"ALM2"
CON 0
DATA 8H"ALM3"
CON 0
DATA 8H"ALM4"
CON 0
DATA 8H"ALM5"
CON 0
DATA 8H"ALM6"
CON 0
DATA 8H"ALM7"
CON 0
TOTN SPACE 4,10
** TOTN - TABLE OF ORIGIN TYPE NAMES.
TOTN INDEX
INDEX SYOT,(=Z*SYSTEM.*)
INDEX BCOT,(=Z*BATCH.*)
INDEX RBOT,(=Z*REMOTE.*)
INDEX IAOT,(=Z*INTERACTIVE.*)
INDEX MXOT
TSCN SPACE 4,10
** TSCN - TABLE OF SERVICE CLASS NAMES.
TSCN INDEX
LIST D
.SCL HERE
LIST *
INDEX MXJC
SPACE 4,10
USE LITERALS
OVERFLOW OVL
SPACE 4
TTL QAP - QUEUE AUXILLARY PROCESSOR.
END