IDENT QDSPLAY,FWA,QDSPLAY ABS ENTRY QDSPLAY ENTRY RFL= ENTRY SSJ= SYSCOM B1 DEFINE (B1) = 1 SST TITLE QDSPLAY - QUEUED FILE DISPLAY. SPACE 4,10 *COMMENT QDSPLAY - QUEUED FILE DISPLAY. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 ***** QDSPLAY - DISPLAY QUEUED FILE. * * C. P. GERR. 81/12/01. SPACE 4,10 *** *QDSPLAY* IS AN *L* DISPLAY UTILITY INITIATED * BY A CONSOLE OPERATOR (VIA *DSD*) WHICH DISPLAYS * PORTIONS OF A QUEUED FILE. SPACE 4,10 *** COMMAND FORMAT. * * * QDSPLAY(JSN) * * JSN = JOB SEQUENCE NUMBER OF QUEUED FILE. * * ONLY INPUT, PRINT, TERMINAL WAIT, PUNCH AND PLOT TYPE FILES * ARE DISPLAYED. SPACE 4,10 *** DAYFILE MESSAGES. * * THESE MESSAGES ARE ISSUED TO THE JOB AND SYSTEM DAYFILES. * * * USER ACCESS NOT VALID.* * CALLING JOB WAS NOT SYSTEM ORIGIN. * * * INCORRECT JSN.* * JSN WAS GREATER THAN 4 CHARACTERS OR LESS THAN 3 * CHARACTERS. * * * ARGUMENT ERROR.* * JSN WAS NOT ENTERED IN THE COMMAND CALL OR * MORE THAN ONE PARAMETER WAS ENTERED. * * * JSN XXXX NOT FOUND.* * JSN XXXX WAS NOT FOUND IN INPUT, PRINT, PLOT, TERMINAL * WAIT OR PUNCH QUEUE. *XXXX* IS REPLACED BY JSN. * * * CANNOT ACCESS L-DISPLAY.* * *DSD* DETECTED AN ERROR CONDITION WHEN INPUT WAS * ENTERED VIA THE *L* DISPLAY. * SPACE 4,10 *** *L* DISPLAY ERROR MESSAGES. * * THESE MESSAGES ARE ISSUED THROUGH THE *L* DISPLAY. * * *NO DAYFILE FOUND.* * DAYFILE FOR JOB DOES NOT EXIST. * * *UNRECOGNIZABLE DIRECTIVE.* * INCORRECT COMMAND WAS ENTERED VIA *L* DISPLAY. * * *DIRECTIVE NOT ALLOWED.* * A SKIP COMMAND WAS ENTERED WHEN *SS* OR *HELP* DATA * WAS DISPLAYED OR *L* DISPLAY FORMAT WAS IN OCTAL * MODE. * * *INCORRECT SKIP COUNT.* * AN ASTERISK WAS PRESENT ON A SKIP LINE, SKIP PAGE, OR * SKIP RECORD BACKWARD COMMAND OR THE SKIP COUNT WAS * GREATER THAN 377777B OR THE SKIP COUNT WAS NOT * NUMERIC. * * *EXCESS PARAMETERS.* * A SECOND PARAMETER WAS SPECIFIED ON A COMMAND WHICH * WAS NOT A SKIP COMMAND. * * *SYSTEM ABORT.* * A SYSTEM ERROR WAS ENCOUNTERED. SPACE 4,10 *** *L* DISPLAY INFORMATIVE MESSAGES. * * THESE MESSAGES ARE ISSUED THROUGH THE *L* DISPLAY. * * *DROP PROCESSED.* * A DROP COMMAND WAS ENTERED VIA *L* DISPLAY. * THE FILE HAS BEEN REMOVED FROM THE QUEUE AND THE * UTILITY HAS TERMINATED. * * *END PROCESSED.* * AN END COMMAND WAS ENTERED VIA *L* DISPLAY. * THE FILE HAS BEEN RETURNED TO THE QUEUE AND THE * UTILITY HAS TERMINATED. SPACE 4,10 *** *L* DISPLAY COMMANDS. * * THE FOLLOWING ARE LEGAL COMMANDS TO BE ENTERED BY THE * OPERATOR THROUGH THE *L* DISPLAY. * * L.HELP. LIST *L* DISPLAY DIRECTIVES FOR *QDSPLAY* * UTILITY. * * L.DROP. DROP THE FILE FROM THE QUEUE AND TERMINATE * UTILITY. * * L.END. RETURN THE FILE TO THE QUEUE AND TERMINATE * UTILITY. * * L.LINE. SET FILE DISPLAY MODE TO LINE FORMAT. * (MODE DOES NOT APPLY TO SYSTEM SECTOR * DISPLAY WHICH IS ALWAYS IN OCTAL DISPLAY * FORMAT.) * * L.OCTAL. SET FILE DISPLAY MODE TO OCTAL FORMAT. * * L.SS. DISPLAY FROM BEGINNING OF SYSTEM SECTOR * IN OCTAL FORMAT. * * L.*. RETURN FROM *HELP* OR *SS* DISPLAY TO * DISPLAY FILE AT PREVIOUS POSITION * (IGNORED IF ALREADY DISPLAYING FILE). * * L.BACK. RETURN FROM *HELP* OR *SS* DISPLAY TO * DISPLAY FILE AT PREVIOUS POSITION * (IGNORED IF ALREADY DISPLAYING FILE). * * L.+. ADVANCE DISPLAY FORWARD TO NEXT SCREEN * OF DATA. CIRCULAR ADVANCE IS DONE FOR * SYSTEM SECTOR DISPLAY. * * L.-. PAGE BACKWARD TO PREVIOUS SCREEN OF DATA. * COMMAND IS VALID ONLY FOR HELP DISPLAY. * * L.BOI. POSITION FILE TO BEGINNING OF INFORMATION * AND DISPLAY DATA. * * L.DAY. POSITION FILE TO DAYFILE RECORD AND * DISPLAY DATA (MEANINGFUL FOR SOME PRINT * FILES). * * L.SL. SKIP 1 OR N LINES FORWARD IN FILE AND * L.SL,N. DISPLAY DATA. A LINE IS BASED ON 14D WORD * MAXIMUM PRINT LINE SIZE. SKIP PREMATURELY * STOPS ON EOR/EOF/EOI. COMMAND IS ALLOWED * ONLY WHEN DISPLAYING DATA IN LINE FORMAT. * COMMAND IS NOT ALLOWED UNDER *HELP* OR * *SS* DISPLAY. * * L.SP. SKIP 1 OR N PAGES FORWARD IN FILE AND * L.SP,N. DISPLAY DATA. A PAGE IS BASED ON * CARRIAGE CONTROL 1 AS FIRST CHARACTER * OF LINE. SKIP PREMATURELY STOPS ON * EOR/EOF/EOI. COMMAND IS ALLOWED ONLY * WHEN DISPLAYING DATA IN LINE FORMAT. * COMMAND IS NOT ALLOWED UNDER *HELP* OR * *SS* DISPLAY. * * L.SR. SKIP 1 OR N RECORDS OR TO END OF * L.SR,N. INFORMATION (N=* OPTION) IN FILE AND * L.SR,*. DISPLAY DATA. SKIP PREMATURELY STOPS AT * EOI. COMMAND IS NOT ALLOWED UNDER *HELP* * OR *SS* DISPLAY. * * L.BR. SKIP 1 OR N RECORDS BACKWARD IN FILE AND * L.BR,N. DISPLAY DATA. SKIP PREMATURELY STOPS * AT BOI. COMMAND IS NOT ALLOWED UNDER * *HELP* OR *SS* DISPLAY. * * SKIP LINE/PAGE/RECORD COUNTS ARE ASSUMED DECIMAL BUT * POST-RADIX B OR D CAN BE SPECIFIED. MAXIMUM SKIP COUNT * ACCEPTED IS 377777B. TITLE ASSEMBLY CONSTANTS. SPACE 4,10 **** ASSEMBLY CONSTANTS. CNCI EQU 4 NO COMMAND INPUT (*DSD* RETURN STATUS) DLSZ EQU 6 NUMBER OF WORDS PER LINE ON *L* DISPLAY ERML EQU 3 ERROR MESSAGE LENGTH MLLD EQU 18 MAXIMUM NUMBER OF LINES ON *L* DISPLAY PLSZ EQU 14 PRINTER LINE SIZE LBHRL EQU 6 *L* DISPLAY HEADER LENGTH LBUFL EQU LDSY-LBHRL LENGTH OF *L* DISPLAY BUFFER QBUFL EQU 701B QUEUED BUFFER SIZE ERRNG 1000B-QBUFL PREVENT BUFFER AHEAD SBUFL EQU 100B LENGTH OF SYSTEM SECTOR BUFFER WBUFL EQU LBUFL LENGTH OF WORKING BUFFER XCDT EQU 1 X - COORDINATE FOR *L* DISPLAY YCDT EQU 2 Y - COORDINATE FOR *L* DISPLAY LCOMU SET LCOM/2+1 INPUT BUFFER PACKED LLBF EQU LBUFL/5 *L* DISPLAY BUFFER FOR OCTAL MODE MLLB MIN LLBF,MLLD *L* DISPLAY BUFFER FOR OCTAL MODE **** SPACE 4,10 ** COMMON DECKS. *CALL COMCMAC *CALL COMCCMD *CALL COMCDCM *CALL COMCDCP *CALL COMSDSP *CALL COMSEVT *CALL COMSIOQ *CALL COMSJIO *CALL COMSQAC *CALL COMSSSD *CALL COMSSSE IOSS. EQU IOSS-BFMS-2 *CALL COMSSSJ TITLE DATA STORAGE. ORG 111B FWA BSS 0 SPACE 4,10 ** DATA STORAGE. BLNS DATA 8C BLANK LINES DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C DATA 8C CLDF CON HLPA CURRENT *L* DISPLAY FWA DFLG CON 0 RANDOM ADDRESS OF DAYFILE ERIB CON 0 ENTIRE RECORD IN BUFFER FLAG FETA CON 0 FET ADDRESS SCNT CON 0 SKIP COUNT STAT CON SHLP FILE STATUS PSTT CON SBOI PREVIOUS FILE STATUS MODE CON 0 FILE DISPLAY MODE (O=LINE, 1=OCTAL) SPACE 4,10 ** TMLD - TABLE OF MESSAGES TO *L* DISPLAY. TMLD BSS 0 LOC 0 DATA C* * DRPM DATA C*DROP PROCESSED. * EABT DATA C*SYSTEM ABORT. * EDNA DATA C*DIRECTIVE NOT ALLOWED. * EEPS DATA C*EXCESS PARAMETERS. * EISC DATA C*INCORRECT SKIP COUNT. * ENDF DATA C*NO DAYFILE FOUND. * ENDM DATA C*END PROCESSED. * EUND DATA C*UNRECOGNIZABLE DIRECTIVE. * EVOH DATA C*VALID ONLY FOR HELP DISPLAY.* LOC *O TVST SPACE 4,10 ** TVST - TABLE OF VALID STATUSES. * * THIS TABLE CONSISTS OF A VALUE TO BE DISPLAYED * IN THE HEADER FOR FILE STATUS. * DUE TO CODE REQUIREMENTS, THIS TABLE MUST BE MAINTAINED * IN THE FOLLOWING ORDER AND LOCATION POSITIONS. TVST BSS 0 LOC 0 SHLP DATA L* = .* *HELP* STATUS ERRNZ SHLP CODE DEPENDS UPON VALUE BEING 0 SSYS DATA L* = SS. * SYSTEM SECTOR STATUS ERRNZ SSYS-1 CODE DEPENDS UPON VALUE BEING 1 SBOI DATA L* = BOI.* BEGINNING OF INFORMATION STATUS SBOR DATA L* = BOR.* BEGINNING OF RECORD STATUS SMID DATA L* = .* MIDDLE OF RECORD STATUS SEOI DATA L* = EOI.* END OF INFORMATION STATUS SEOF DATA L* = EOF.* END OF FILE STATUS SEOR DATA L* = EOR.* END OF RECORD STATUS LOC *O SPACE 4,10 ** *QAC* PARAMETER BLOCK. QACPB BSS 0 QACR VFD 50/0,9/GTFC,1/0 REQUEST PREFIX PORTION VFD 36/0,6/GTLB-5,18/0 VFD 60/0 VFD 60/0 VFD 60/0 QACS VFD 60/0 SELECTION CRITERIA PORTION VFD 60/0 VFD 36/0,12/DLSF,12/JSSF+ZPSF VFD 12/INQQ,48/0 VFD 18/0,18/3H***,24/0 VFD 60/0 VFD 60/0 QACF VFD 60/0 *GET* FUNCTION PORTION VFD 60/0 VFD 60/0 VFD 60/0 SPACE 4,10 ** *ROUTE* PARAMETER BLOCK. ROPB BSSZ EPBL .R BSS 0 ORG ROPB+1 VFD 42/0,18/FREB EXTENDED BLOCK PRESENT ORG ROPB+7 VFD 42/0,18/EFRQ SPECIAL REQUEUE OPERATION FLAG ORG .R SPACE 4,10 ** *ROLLOUT* PARAMETER BLOCK. ROLB VFD 30/0,18/LINE,12/0 SPACE 4,10 ** *REPRIEVE* PARAMETER BLOCK. RPB BSS 0 VFD 36/0,12/RPBL,12/0 VFD 30/0,30/RPV BSSZ 27B RPBL EQU *-RPB SPACE 4,10 ** *SSJ=* PARAMETER BLOCK. SSJ= BSS 0 VFD 48/0,12/IRSI BSSZ SSJL-1 SPACE 4,5 ** *L* DISPLAY BUFFER HEADER. LBHR DATA C* QDSPLAY. JSN = $$$$. QFT = ++++. IC = --. STATUS = , .* .LBHRL EQU *-LBHR *L* DISPLAY HEADER LENGTH ERRNZ .LBHRL-LBHRL *LBHRL* NEEDS TO BE REDEFINED SPACE 4,10 ** FET DEFINITIONS. CON 0 SAVE PREVIOUS *IN* FOR QUEUED FILE CON 0 SAVE PREVIOUS *OUT* FOR QUEUED FILE Q RFILEB QBUF,QBUFL,(FET=9) QUEUED FILE FET CON 0 SAVE PREVIOUS *IN* FOR SYSTEM SECTOR FILE CON 0 SAVE PREVIOUS *OUT* FOR SYSTEM SECTOR FILE S FILEB SBUF,SBUFL+1,(FET=7) SYSTEM SECTOR FET TITLE MAIN PROGRAM. QDSPLAY SPACE 4,10 ** QDSPLAY - MAIN PROGRAM LOOP. * * CALLS BLD, CMP, EFP, ILD, OLD, PRS, SEM. QDSPLAY BSS 0 ENTRY RJ PRS EXECUTE PRESET * EXECUTE LOOP TO PROCESS COMMAND. QDS1 RJ EFP EXECUTE FUNCTION PROCESSOR ZR X2,QDS2 IF DISPLAY NOT TO BE REBUILT RJ BLD BUILD *L* DISPLAY QDS2 RJ OLD OUTPUT *L* DISPLAY DATA. RJ ILD INPUT *L* DISPLAY DATA. RJ CMP COMMAND PROCESSOR ZR B2,QDS1 IF NO ERROR IN COMMAND RJ SEM PROCESS ERROR EQ QDS2 UPDATE *L* DISPLAY TITLE FUNCTION PROCESSORS. ADV SPACE 4,20 ** ADV - ADVANCE DISPLAY FORWARD. * * *ADV* ADVANCES THE *L* DISPLAY TO DISPLAY NEXT PORTION OF * DATA. ADVANCE IS CIRCULAR FOR SYSTEM SECTOR. * * EXIT (X2) = FET ADDRESS OF QUEUED FILE IF FILE STATUS IS * NOT *SS*. * (X2) = FET ADDRESS OF SYSTEM SECTOR IF FILE STATUS * IS *SS*. * (B2) = 0 (NO ERROR), IF *HELP* DISPLAY STATUS. * * USES X - 2, 3, 4, 6, 7. * A - 2, 3, 4, 6, 7. * B - 2, 3, 5. * * CALLS RNR. ADV2 SB5 SEOI LT B3,B5,ADVX IF NOT EOR/EOF/EOI SX6 SBOR BEGINNING OF RECORD STATUS RJ RNR READ NEW RECORD ADV SUBR ENTRY/EXIT SA2 STAT GET FILE STATUS SB2 B0 NO ERROR SB3 X2 SX2 S SET SYSTEM SECTOR FET EQ B3,B1,ADV1 IF *SS* STATUS PRESENT SX2 Q SET QUEUED FILE FET SX6 SMID SET FILE STATUS SA6 STAT ADV1 SA3 X2-2 GET PREVIOUS *IN* SA4 A3+B1 GET PREVIOUS *OUT* BX6 X3 LX7 X4 SA6 X2+2 RESET TO ADVANCED FET POINTERS IX3 X3-X4 COMPARE *IN* AND *OUT* SA7 A6+1 NZ X3,ADVX IF *IN* .NE. *OUT* NE B3,B1,ADV2 IF NOT *SS* DISPLAY SX7 SBUF SET *OUT* SA7 A7 SX6 SBUF+77B SET *IN* SA6 A6 EQ ADVX RETURN BOI SPACE 4,15 ** BOI - BEGINNING OF FILE FUNCTION PROCESSOR. * * *BOI* DISPLAYS THE BEGINNING OF THE QUEUED FILE ON THE *L* * DISPLAY. * * EXIT (X2) = FET ADDRESS OF QUEUED FILE. * * USES X - 1, 2, 6, 7. * A - 1, 7. * * CALLS RNR. BOI SUBR ENTRY/EXIT SA1 STAT GET FILE STATUS SX2 Q SX6 SBOI SET BEGINNING OF INFORMATION STATUS SX7 B1 SET RANDOM READ IN FET TO BOI BX1 X1-X6 ZR X1,BOIX IF AT BOI SA7 Q+6 RJ RNR READ NEXT RECORD EQ BOIX RETURN DAY SPACE 4,15 ** DAY - *DAYFILE* FUNCTION PROCESSOR. * * *DAY* DISPLAYS THE DAYFILE PORTION OF THE FILE IF THE * DAYFILE EXISTS. * * EXIT (X2) = 0, IF DAYFILE NOT FOUND AND HELP STATUS. * (X2) = FET ADDRESS OF QUEUED FILE OR SYSTEM SECTOR, * IF DAYFILE NOT FOUND AND NOT HELP STATUS. * (X2) = FET ADDRESS OF QUEUED FILE IF DAYFILE FOUND. * (B2) = ERROR MESSAGE ADDRESS, IF NO DAYFILE FOUND. * * USES X - 1, 2, 6, 7. * A - 1, 2, 7. * B - 2. * * CALLS HLP, RNR. DAY SUBR ENTRY/EXIT SA2 DFLG GET DAYFILE ADDRESS SB2 ENDF *NO DAYFILE FOUND.* ZR X2,DAY1 IF NO DAYFILE FOUND BX7 X2 SET RANDOM ADDRESS OF DAYFILE IN FET SA7 Q+6 SX6 SBOR SET BEGINNING OF RECORD STATUS RJ RNR READ NEW RECORD SB2 B0+ INDICATE NO ERROR EQ DAYX RETURN * REBUILD PROPER DISPLAY WITH ERROR MESSAGE. DAY1 SA1 STAT GET FILE STATUS SX6 SHLP CHECK IF HELP STATUS BX6 X1-X6 NZ X6,DAY2 IF NOT HELP STATUS RJ HLP FORMAT HELP DISPLAY EQ DAYX RETURN DAY2 SX6 SSYS CHECK IF SYSTEM SECTOR STATUS SX2 S SET SYSTEM SECTOR FET BX6 X1-X6 ZR X6,DAYX IF SYSTEM SECTOR STATUS SX2 Q SET QUEUED FILE STATUS EQ DAYX RETURN DRP SPACE 4,10 ** DRP - *DROP* FUNCTION PROCESSOR. * * *DRP* DROPS THE FILE FROM THE QUEUE AND TERMINATES UTILITY. * * USES B - 2. * * CALLS DLD. * * MACROS ENDRUN, RETURN. DRP SUBR ENTRY/EXIT SB2 DRPM DISPLAY *DROP PROCESSED.* MESSAGE RJ DLD DROP *L* DISPLAY RETURN Q,R ENDRUN END SPACE 4,10 ** END - *END* FUNCTION PROCESSOR. * * *END* RETURNS THE FILE TO THE QUEUE AND TERMINATES THE * UTILITY. * * USES B - 2. * * CALLS DLD. * * MACROS ENDRUN, ROUTE. END SUBR ENTRY/EXIT SB2 ENDM DISPLAY *END PROCESSED.* MESSAGE RJ DLD DROP *L* DISPLAY ROUTE ROPB,R RETURN FILE TO QUEUE ENDRUN HLP SPACE 4,15 ** HLP - *HELP* FUNCTION PROCESSOR. * * *HLP* MOVES *HELP* DISPLAY DATA TO *L* DISPLAY. * * ENTRY (CMPB) = FWA OF PAGE TO DISPLAY. * (B2) = MESSAGE ORDINAL FOR TABLE OF MESSAGES. * * EXIT (B2) = 0 (NO ERR0R). * (X2) = 0 (*L* DISPLAY DATA NEED NOT BE REBUILT). * * USES X - 1, 2, 3, 5, 6, 7. * A - 1, 5, 6, 7. * B - 2, 3, 4, 6. * * CALLS COI, FLB. * * MACROS MOVE. HLP SUBR ENTRY/EXIT SA5 CLDF GET CURRENT SCREEN FWA SX2 TMLD+B2 SET MESSAGE MOVE ERML,X2,X5+HLMA-HLPA RJ COI CONVERT OPERATOR INPUT SX2 IBUF SET INPUT LINE MOVE LCOMU,X2,X5+HLIA-HLPA SET INPUT LINE SX1 X5 FWA DATA TO FORMAT SX6 X1+HLPAL-1 LWA DATA TO FORMAT MX2 0 INDICATE *L* DISPLAY SX3 B1+ INDICATE LINE MODE SB2 LBUF FWA *L* DISPLAY BUFFER SB3 XCDT X - COORDINATE OF DISPLAY SB4 YCDT Y - COORDINATE OF DISPLAY SB6 LBUF+LBUFL LWA *L* DISPLAY BUFFER RJ FLB FORMAT DATA FOR *L* DISPLAY SA1 STAT GET FILE STATUS SX6 SHLP SET *HELP* STATUS SA6 A1 SB3 X1 SX2 B0 PREVENT *L* DISPLAY BUILD FROM FILE SB2 B0 SET NO ERROR LE B3,B1,HLPX IF *SS* OR *HELP* STATUS SX7 X1+ SAVE PREVIOUS FILE STATUS SA7 PSTT EQ HLPX RETURN HLPA BSS 0 *L* DISPLAY HELP PAGE 1 DATA 50HQDSPLAY COMMANDS PAGE DATA 10H 1 OF 2 DATA C* * DATA 34C COMMAND DESCRIPTION DATA C* * DATA 50H BACK RETURN FROM HELP/SS TO PREVIOUS FILE DI DATA 10HSPLAY. DATA 49C BOI POSITION FILE TO BOI AND DISPLAY DATA. DATA 50H DAY POSITION PRINT FILE TO DAYFILE AND DISP DATA 10HLAY DATA. DATA 46C DROP DROP FILE FROM QUEUE AND TERMINATE. DATA C* * DATA 46C END RETURN FILE TO QUEUE AND TERMINATE. DATA 50H HELP LIST L DISPLAY COMMANDS FOR QDSPLAY UTI DATA 10HLITY. DATA 48C LINE SET FILE DISPLAY MODE TO LINE FORMAT. DATA 49C OCTAL SET FILE DISPLAY MODE TO OCTAL FORMAT. DATA C* * DATA 50H SS DISPLAY IN OCTAL FROM BEGINNING OF SYST DATA 10HEM SECTOR. DATA 50C + PAGE DISPLAY FORWARD (CIRCULAR FOR SS). DATA 48C - PAGE DISPLAY BACKWARD. DATA C* * HLMA DATA C* * HLIA DATA C* * CON 0 END OF HELP PAGE 1 DISPLAY HLPAL EQU *-HLPA LENGTH OF PAGE 1 DISPLAY HLPB BSS 0 *L* DISPLAY HELP PAGE 2 DATA 50HQDSPLAY COMMANDS PAGE DATA 10H 2 OF 2 DATA C* * DATA 34C COMMAND DESCRIPTION DATA C* * DATA 50H SL SKIP 1 LINE FORWARD IN FILE AND DISPLAY DATA 10H DATA. DATA 50H SL,N SKIP N LINES FORWARD IN FILE AND DISPLA DATA 10HY DATA. DATA 50H SP SKIP 1 PAGE FORWARD IN FILE AND DISPLAY DATA 10H DATA. DATA 50H SP,N SKIP N PAGES FORWARD IN FILE AND DISPLA DATA 10HY DATA. DATA 50H SR SKIP 1 RECORD FORWARD IN FILE AND DISPL DATA 10HAY DATA. DATA C* * DATA 50H SR,N SKIP N RECORDS FORWARD IN FILE AND DISP DATA 10HLAY DATA. DATA 31C SR,* SKIP TO EOI IN FILE. DATA 50H BR SKIP 1 RECORD BACKWARD IN FILE AND DISP DATA 10HLAY DATA. DATA 50H BR,N SKIP N RECORDS BACKWARD IN FILE AND DIS DATA 10HPLAY DATA. DATA 20C DATA 20C DATA 20C DATA 20C HLMB DATA C* * HLIB DATA C* * CON 0 END OF HELP PAGE 2 DISPLAY HLPBL EQU *-HLPB LENGTH OF PAGE 2 DISPLAY ERRNZ HLPAL-HLPBL PAGE LENGTHS MUST BE EQUAL ERRNZ HLMA-HLPA-HLMB+HLPB MESSAGE OFFSETS MUST BE THE SAME ERRNZ HLIA-HLPA-HLIB+HLPB INPUT OFFSETS MUST BE THE SAME LNE SPACE 4,15 ** LNE - SET *L* DISPLAY FORMAT TO LINE MODE. * * *LNE* SETS LINE MODE FORMAT FOR THE *L* DISPLAY. * * EXIT (B2) = 0 (NO ERROR). * (X2) = 0, IF *HELP* STATUS. * (X2) = SYSTEM SECTOR FET, IF *SS* STATUS. * (X2) = QUEUED FET, IF NOT *HELP* OR *SS* STATUS. * * USES X - 2, 6. * A - 2, 6. * B - 2, 3. * * CALLS HLP. LNE SUBR ENTRY/EXIT SA2 STAT GET FILE STATUS SB2 B0 NO ERROR SX6 B0 SET *L* DISPLAY FORMAT TO LINE MODE SA6 MODE SB3 X2 SX2 B0 DO NOT REBUILD *L* DISPLAY NE B3,B0,LNE1 IF NOT HELP STATUS RJ HLP REBUILD HELP DISPLAY WITH *LINE* ECHOED EQ LNEX RETURN LNE1 NE B3,B1,LNE2 IF NOT *SS* STATUS SX2 S SET SYSTEM SECTOR FET EQ LNEX RETURN LNE2 SX2 Q SET QUEUED FILE FET EQ LNEX RETURN OCT SPACE 4,15 ** OCT - SETS THE *L* DISPLAY FORMAT TO OCTAL MODE. * * *OCT* SETS OCTAL MODE FORMAT FOR THE *L* DISPLAY. * * EXIT (B2) = 0 (NO ERROR). * (X2) = 0, IF *HELP* STATUS. * (X2) = SYSTEM SECTOR FET, IF *SS* STATUS. * (X2) = QUEUED FET, IF NOT *HELP* OR *SS* STATUS. * * USES X - 2, 6. * A - 2, 6. * B - 2, 3. * * CALLS HLP. OCT SUBR ENTRY/EXIT SX6 B1 SET *L* DISPLAY FORMAT TO OCTAL MODE SA6 MODE SB2 B0 NO ERROR SA2 STAT GET FILE STATUS SB3 X2 SX2 B0 DO NOT REBUILD *L* DISPLAY NE B3,B0,OCT1 IF NOT HELP STATUS RJ HLP REBUILD HELP DISPLAY WITH *OCTAL* ECHOED EQ OCTX RETURN OCT1 NE B3,B1,OCT2 IF NOT *SS* STATUS SX2 S SET SYSTEM SECTOR FET EQ OCTX RETURN OCT2 SX2 Q SET QUEUED FILE FET EQ OCTX RETURN SLF SPACE 4,10 ** SLF - SKIP LINES FORWARD. * * *SLF* SKIPS LINES FORWARD. * * EXIT (X2) = FET ADDRESS OF QUEUED FILE. * (B2) = 0 (NO ERROR). * * USES X - 1, 5, 6. * A - 5, 6. * B - 2. * * MACROS READC. SLF SUBR ENTRY/EXIT SA5 SCNT GET SKIP COUNT SX6 SMID SET FILE STATUS TO MIDDLE OF RECORD SA6 STAT SLF1 READC Q,WBUF,PLSZ SB2 B0+ INDICATE NO ERROR NG X1,SLFX IF EOF/EOI SX1 X1-WBUF ZR X1,SLFX IF EOR (NO DATA) SX5 X5-1 DECREMENT SKIP COUNT NZ X5,SLF1 IF MORE LINES TO SKIP EQ SLFX RETURN SPF SPACE 4,10 ** SPF - SKIP PAGES FORWARD. * * *SPF* SKIPS PAGES FORWARD. * * EXIT (X2) = FET ADDRESS OF QUEUED FILE. * (B2) = 0 (NO ERROR). * * USES X - 0, 1, 3, 4, 5, 6, 7. * A - 1, 3, 4, 5, 6, 7. * B - 2. * * MACROS READC. SPF SUBR ENTRY/EXIT SA5 SCNT GET SKIP COUNT SX6 SMID SET MIDDLE OF RECORD FILE STATUS SA6 STAT SX0 B1+ INDICATE TOP OF FIRST PAGE SPF1 SA3 Q+2 GET *IN* BX6 X3 SA4 A3+B1 GET *OUT* BX7 X4 SA6 Q-2 SAVE PREVIOUS *IN* SA7 A6+B1 SAVE PREVIOUS *OUT* READC Q,WBUF,PLSZ SB2 B0+ INDICATE NO ERROR NG X1,SPFX IF EOF/EOI SX1 X1-WBUF ZR X1,SPFX IF EOR (WITH NO DATA) MX3 6 CHECK LINE FOR CARRIAGE CONTROL SA1 WBUF BX1 X3*X1 LX1 6 SX1 X1-1R1 BX1 X1+X0 SX0 B0+ INDICATE NOT TOP OF FIRST PAGE NZ X1,SPF1 IF TOP OF FIRST PAGE OR NOT PAGE EJECT 1 SX5 X5-1 DECREMENT SKIP COUNT NZ X5,SPF1 IF MORE PAGES TO SKIP SA1 Q-2 GET PREVIOUS *IN* SA3 A1+B1 GET PREVIOUS *OUT* BX6 X1 SA6 Q+2 SET *IN* AND *OUT* IN FET BX7 X3 SA7 A6+B1 EQ SPFX RETURN SRB SPACE 4,15 ** SRB - SKIP RECORDS BACKWARD. * * *SRB* SKIP RECORDS BACKWARD. * * EXIT (X2) = FET ADDRESS OF QUEUED FILE, IF FILE STATUS IS * NOT BOI. * (X2) = 0, IF FILE STATUS IS BOI. * * USES X - 0, 1, 2, 3, 4, 6. * A - 1, 3, 6. * B - 2. * * CALLS RNR. * * MACROS SKIPB. SRB SUBR ENTRY/EXIT SA3 STAT GET FILE STATUS SB2 B0+ NO ERROR SX2 X3-SBOI ZR X2,SRBX IF FILE DISPLAY IS AT BOI SX6 QBUF SET *IN* = *OUT* = *FIRST* (EMPTY BUFFER) SA6 Q+2 SA1 SCNT GET SKIP COUNT SA6 Q+3 SX4 X3-SEOF SX2 X3-SBOR ZR X4,SRB1 IF FILE DISPLAY AT EOF NZ X2,SRB2 IF FILE DISPLAY NOT AT BOR SRB1 SX4 X1+B1 NG X4,SRB2 IF FILE COUNT ALREADY AT MAXIMUM SX1 X1+B1 SKIP EXTRA RECORD SRB2 SKIPB Q,X1,R SA3 X2 MX0 -6 AX3 3 BX1 -X0*X3 SX1 X1-5 SX6 SBOI ZR X1,SRB3 IF FILE IS AT BOI SX6 SBOR BEGINNING RECORD STATUS SRB3 RJ RNR READ NEW RECORD EQ SRBX RETURN SRF SPACE 4,15 ** SRF - SKIP RECORDS FORWARD. * * *SRF* SKIPS RECORDS FORWARD. * * EXIT (X2) = 0, IF STATUS = EOI. * (B2) = 0, IF STATUS = EOI. * (X2) = FET ADDRESS OF QUEUED FILE, IF STATUS NOT EOI. * * USES X - 1, 2, 3, 4, 6. * A - 1, 3, 4, 6. * B - 2, 3. * * CALLS RNR. * * MACROS SKIPF. SRF SUBR ENTRY/EXIT SA3 STAT GET STATUS SX2 B0 DISPLAY WILL NOT BE REBUILT SB2 B0 NO ERROR SB3 X3-SEOI ZR B3,SRFX IF STATUS IS EOI SX6 QBUF SET *IN* = *OUT* = *FIRST* (EMPTY BUFFER) SA6 Q+2 SA6 A6+B1 SA1 SCNT GET SKIP COUNT BX3 X1 LX3 59-17 SA4 Q LX4 59-4 NG X3,SRF1 IF SKIP COUNT = 777777B (* OPTION) PL X4,SRF1 IF NOT EOR/EOF/EOI IN FET SX1 X1-1 DECREMENT SKIP COUNT ZR X1,SRF2 IF SKIP COUNT = 0 SRF1 SKIPF Q,X1,R SKIP RECORDS SRF2 SX6 SBOR BEGINNING OF RECORD STATUS RJ RNR READ NEW RECORD EQ SRFX RETURN SSP SPACE 4,10 ** SSP - *SYSTEM SECTOR* FUNCTION PROCESSOR. * * *SSP* DISPLAYS THE SYSTEM SECTOR PORTION OF THE QUEUED FILE. * * EXIT (X2) = FET ADDRESS FOR SYSTEM SECTOR BUFFER. * * USES X - 1, 2, 6, 7. * A - 1, 6, 7. * B - 3. SSP SUBR ENTRY/EXIT. SX6 SBUF SA6 S+3 SET *OUT* = *FIRST* SX7 SBUF+77B SA1 STAT GET FILE STATUS SA7 A6-B1 SET *IN* SB3 X1 SX7 SSYS SET *SS* FILE STATUS BX6 X1 SET PREVIOUS FILE STATUS SA7 A1 SX2 S LE B3,B1,SSPX IF *SS* OR *HELP* STATUS SA6 PSTT EQ SSPX RETURN TOG SPACE 4,15 ** TOG - TOGGLE BACK TO FILE DISPLAY. * * *TOG* - TOGGLES THE DISPLAY TO THE PREVIOUS FILE DISPLAY * IF *HELP* OR *SYSTEM SECTOR* IS CURRENTLY BEING DISPLAYED. * * EXIT (B2) = 0 (NO ERROR). * (X2) = 0, IF FILE STATUS IS NOT *SS* OR *HELP*. * (X2) = FET ADDRESS OF QUEUED FILE IF FILE STATUS IS * *SS* OR *HELP*. * * USES X - 1, 2, 3, 6. * A - 1, 3, 6. * B - 2, 3. TOG SUBR ENTRY/EXIT SA1 STAT GET FILE STATUS SB3 X1 SB2 B0 NO ERROR SA3 PSTT GET PREVIOUS STATUS SX2 B0 DISPLAY WILL NOT BE REBUILT BX6 X3 SET PREVIOUS FILE STATUS GT B3,B1,TOGX IF NOT *SS* OR *HELP* STATUS SX2 Q SA6 A1+ EQ TOGX RETURN TITLE SUBROUTINES. BLD SPACE 4,15 ** BLD - BUILD *L* DISPLAY DATA. * * *BLD* BUILDS THE *L* DISPLAY FOR QUEUED FILE OR * SYSTEM SECTOR DATA. * * ENTRY (X2) = FET ADDRESS. * (B2) = MESSAGE ADDRESS. * * USES X - 1, 2, 3, 4, 5, 6, 7. * A - 1, 2, 3, 4, 6, 7. * B - 2, 3, 4, 6. * * CALLS COI, FLB, FOD, RQF, TLD. * * MACROS MOVE. BLD1 RJ FOD FORMAT OCTAL DATA BLD2 BX5 X6 SAVE FILE STATUS SA2 BLDA GET MESSAGE ORDINAL SX2 TMLD+X2 SET MESSAGE ADDRESS MOVE ERML,X2,B6 SET MESSAGE IN MESSAGE LINE RJ COI CONVERT OPERATOR INPUT SX2 IBUF ECHO INPUT MOVE LCOMU,X2,B6+ERML SB6 B6+ERML+LCOMU RESET LWA OF WORKING BUFFER BX6 X5 RESTORE FILE STATUS SA1 STAT GET LAST FILE STATUS SB4 X6-SEOI SB3 X1+ EQ B3,B1,BLD4 IF *SS* STATUS NG B4,BLD4 IF NOT EOR/EOF/EOI ENCOUNTERED LE B4,B1,BLD3 IF EOF/EOI ENCOUNTERED SB4 SBOR GT B3,B4,BLD3 IF NOT AT BOI/BOR SA1 ERIB NZ X1,BLD4 IF ENTIRE RECORD IN BUFFER BLD3 SA6 STAT SAVE FILE STATUS BLD4 SA1 STAT GET FILE STATUS SA1 TVST+X1 SET STATUS IN HEADER BX6 X1 SA6 WBHR+5 SX1 WBHR FWA OF DATA TO FORMAT SX6 B6-B1 LWA DATA TO FORMAT MX2 0 INDICATE *L* DISPLAY SX3 B1+ SET MODE FOR *FLB* SB2 LBUF FWA *L* DISPLAY BUFFER SB3 XCDT X - COORDINATE OF DISPLAY SB4 YCDT Y - COORDINATE OF DISPLAY SB6 LBUF+LBUFL LWA+1 *L* DISPLAY BUFFER RJ FLB FORMAT DATA FOR *L* DISPLAY SA2 FETA GET FET ADDRESS SA1 X2-2 GET PREVIOUS *IN* SA3 X2+2 GET CURRENT *IN* BX6 X1 LX7 X3 SA6 A3 SWITCH *IN* POINTERS SA7 A1 SA1 A1+B1 GET PREVIOUS *OUT* SA3 A3+B1 GET CURRENT *OUT* BX6 X1 LX7 X3 SA6 A3 SWITCH *OUT* POINTERS SA7 A1 BLD SUBR ENTRY/EXIT SX6 B2+ SAVE MESSAGE ORDINAL SA6 BLDA RJ RQF READ QUEUED FILE TO BUFFER AHEAD BX7 X2 SAVE FET ADDRESS SA3 X2+2 GET *IN* BX6 X3 SA7 FETA SA4 A3+B1 GET *OUT* BX7 X4 SA6 X2-2 SAVE PREVIOUS *IN* SA1 STAT GET FILE STATUS SA7 A6+B1 SAVE PREVIOUS *OUT* SB3 X1 EQ B3,B1,BLD1 IF STATUS IS *SS* SA3 MODE NZ X3,BLD1 IF IN OCTAL MODE RJ TLD TRANSFER LINES OF DATA EQ BLD2 UPDATE FILE STATUS BLDA BSS 1 MESSAGE ORDINAL IN TABLE CMP SPACE 4,15 ** CMP - COMMAND FUNCTION PROCESSOR. * * *CMP* PROCESSES EACH INPUT DIRECTIVE AND SETS SKIP COUNTS. * * EXIT (B5) = ADDRESS OF FUNCTION PROCESSOR, IF NO ERROR. * (B2) = 0, IF NO ERROR IN DIRECTIVE INPUT. * (B2) = ERROR MESSAGE ADDRESS, IF ERROR. * * USES X - 0, 1, 2, 3, 4, 5, 6. * A - 1, 3, 4, 6. * B - 2, 3, 4, 5, 6, 7. * * CALLS DXB, PGD, POP, USB. CMP6 SB5 B4+ SET PROCESSOR ADDRESS CMP SUBR ENTRY/EXIT SA1 STAT CHECK IF HELP STATUS SB2 SHLP SB4 X1+ NE B2,B4,CMP1 IF NOT HELP STATUS * CHECK FOR PAGING COMMAND. SX1 CLDF POINTER TO FWA *L* DISPLAY SX2 CMPA PAGE TABLE MX0 6 MASK FOR PAGING CHARACTER SA3 IBUF COMMAND BUFFER BX3 X0*X3 GET PAGING CHARACTER SX4 B1+ INDICATE *L* DISPLAY RJ PGD PAGE *L* DISPLAY NZ X4,CMP1 IF ILLEGAL PAGING SB2 B0+ INDICATE NO ERROR SB5 HLP PAGE HELP DISPLAY EQ CMPX RETURN * CHECK FOR NON HELP PAGING COMMAND. CMP1 SB2 IBUF *L* DISPLAY INPUT DIRECTIVE SB3 B0+ SET DISPLAY CODE FOR *USB* RJ USB UNPACK STRING BUFFER RJ POP GET FIRST PARAMETER BX2 X1 SEPARATOR SB2 EUND *UNRECOGNIZABLE DIRECTIVE.* MX0 36 COMMAND MASK SA1 TCOM TABLE OF COMMANDS NZ X6,CMP2 IF PARAMETER - NOT PAGING COMMAND SB2 EVOH SX3 1R- IX3 X3-X2 ZR X3,CMPX IF MINUS SIGN ENTERED SB2 EUND RESET ERROR MESSAGE SX3 1R+ CHECK FOR PAGING COMMAND IX3 X3-X2 NZ X3,CMPX IF NOT *+* SB5 X1 SET PROCESSOR ADDRESS SB2 B0 INDICATE NO ERROR EQ CMPX RETURN * CHECK FOR REMAINING COMMANDS. CMP2 SA1 A1+B1 READ NEXT ENTRY IN COMMAND TABLE ZR X1,CMPX IF END OF TABLE (INCORRECT COMMAND) BX3 X1-X6 BX3 X0*X3 NZ X3,CMP2 IF MATCH NOT FOUND BX6 X1 SAVE TABLE ENTRY SA6 CMPB SB2 B0 NO ERROR SB4 X1 SAVE ADDRESS OF ROUTINE FROM TABLE LX1 0-18 SX6 B1+ SAVE SKIP COUNT BX6 X6*X1 SA6 SCNT ZR B6,CMP6 IF NO MORE PARAMETERS LT B5,CMP6 IF PARAMETER BUFFER NOT EXHAUSTED * CHECK FOR SECOND PARAMETER. SX5 B4+ SAVE ADDRESS OF ROUTINE FROM TABLE RJ POP GET SECOND PARAMETER SB5 X5 RESTORE ADDRESS OF ROUTINE FROM TABLE SA1 SCNT GET SKIP COUNT IX2 X6+X1 ZR X2,CMPX IF NO SECOND PARAMETER AND NOT SKIP * PROCESS SECOND PARAMETER. SB2 EEPS *EXCESS PARAMETER ON DIRECTIVE.* NZ X1,CMP4 IF SKIP COMMAND NZ X6,CMPX IF SECOND PARAMETER AND NOT SKIP COMMAND CMP4 SB2 EDNA *DIRECTIVE NOT ALLOWED.* SA4 STAT SA3 MODE SX2 1R* SB4 X4 LX2 -6 LE B4,B1,CMPX IF *SS* OR *HELP* STATUS NZ X3,CMPX IF OCTAL MODE SB2 B0 MX0 36 MASK FOR PARAMETER ZR X6,CMPX IF NO SECOND PARAMETER ON SKIP BX2 X6-X2 BX2 X0*X2 ZR X2,CMP5 IF ASTERISK IN SKIP COUNT SB6 B5 SAVE FUNCTION ROUTINE ADDRESS SB7 B1 BX5 X6 SET WORD TO CONVERT RJ DXB CONVERT TO BINARY SB5 B6 RESTORE FUNCTION ROUTINE ADDRESS SB2 EISC *INCORRECT SKIP COUNT.* MX0 43 NZ X4,CMPX IF ERROR ZR X6,CMPX IF ZERO SKIP COUNT BX3 X0*X6 NZ X3,CMPX IF SKIP COUNT EXCEEDS 377777B SB2 B0 NO ERROR SA6 SCNT SAVE SKIP COUNT EQ CMPX EXIT CMP5 SA1 CMPB GET COMMAND TABLE ENTRY BACK LX1 59-19 MX6 18 LX6 18 SA6 SCNT NG X1,CMPX IF SKIP DIRECTIVE ALLOWS ASTERISK SB2 EISC *INCORRECT SKIP COUNT.* EQ CMPX EXIT CMPA SPACE 4,5 ** CMPA - PAGE TABLE. CMPA PAGT HLPA,HLMA,HLIA LEFT SCREEN PAGE 1 PAGT HLPB,HLMB,HLIB LEFT SCREEN PAGE 2 PAGT * PGD HERE REMOTE BLOCK FROM *COMCDCP* CMPB BSS 1 COMMAND TABLE ENTRY TCOM SPACE 4,10 ** TCOM - TABLE OF COMMANDS. * *T, 36/ COMMAND,4/0,1/A,1/SK,18/ADDR * * (A) = 1, IF ASTERISK ALLOWED AS SECOND PARAMETER. * * (SK) = 1, IF SKIP COUNT ALLOWED. * * ADDR = ADDRESS OF ROUTINE FOR COMMAND. TCOM BSS 0 VFD 36/1L+,6/0,18/ADV VFD 36/0LBACK,6/0,18/TOG VFD 36/0LBOI,6/0,18/BOI VFD 36/0LDAY,6/0,18/DAY VFD 36/0LDROP,6/0,18/DRP VFD 36/0LEND,6/0,18/END VFD 36/0LHELP,6/0,18/HLP VFD 36/0LLINE,6/0,18/LNE VFD 36/0LOCTAL,6/0,18/OCT VFD 36/0LSL,5/0,1/1,18/SLF VFD 36/0LSP,5/0,1/1,18/SPF VFD 36/0LBR,5/0,1/1,18/SRB VFD 36/0LSR,4/0,1/1,1/1,18/SRF VFD 36/0LSS,6/0,18/SSP VFD 36/1L*,6/0,18/TOG CON 0 END OF TABLE COI SPACE 4,20 ** COI - CONVERT OPERATOR INPUT. * * *COI* CONVERTS THE OPERATOR *L* DISPLAY INPUT BY CHANGING * ALL ZERO BYTES TO BLANKS, AND INSURING THAT A ZERO BYTE * TERMINATOR EXISTS IN THE LAST WORD OF THE INPUT LINE. * * ENTRY IBUF = FWA INPUT BUFFER. * * EXIT (IBUF) = INPUT BUFFER, BLANK FILLED, ZERO BYTE * TERMINATED. * * USES X - 0, 1, 6. * A - 1, 6. * B - 2. * * CALLS ZTB. COI SUBR ENTRY/EXIT SB2 LCOMU-1 OPERATOR INPUT LINE LENGTH SA1 IBUF-1 FIRST WORD-1 OF OPERATOR INPUT COI1 SA1 A1+1 NEXT WORD TO CONVERT ZR B2,COIX IF ALL WORDS CONVERTED RJ ZTB CONVERT ALL ZERO BYTES TO BLANKS SA6 A1 REPLACE IN *IBUF* SB2 B2-B1 DECREMENT NUMBER OF WORDS TO CONVERT EQ COI1 CONVERT NEXT WORD DCM SPACE 4,10 ** DCM - DETERMINE CHARACTER MODE. * * EXIT (B4) = 0 IF ASCII MODE. * (A0) = NUMBER OF WORDS TO READ PER LINE. * * USES X - 1, 3. * A - 0, 1, 3. * B - 4. DCM2 SB4 1 DISPLAY CODE SA0 DLSZ DCM SUBR SA1 STAT CHECK DISPLAY STATUS AX1 1 ZR X1,DCM2 IF HELP OR SYSTEM SECTOR SA1 DFLG CHECK IF DISPLAYING DAYFILE ZR X1,DCM1 IF NO DAYFILE SA3 Q+6 AX3 30 IX1 X3-X1 SX3 B1 IX1 X1-X3 PL X1,DCM2 IF DISPLAYING DAYFILE DCM1 SA1 SBUF+IOSS./5+SCLQ GET INTERNAL CHARACTERISTICS MX3 -3 AX1 12 BX1 -X3*X1 SB4 X1-ASIC NZ B4,DCM2 IF NOT ASCII SA0 DLSZ*2 EQ DCMX RETURN DLD SPACE 4,10 ** DLD - DROP *L* DISPLAY. * * *DLD* DROPS THE *L* DISPLAY. * * ENTRY (B2) = *L* DISPLAY MESSAGE ORDINAL. * * USES X - 1, 2. * A - 1. * * CALLS BLD, HLP, OLD. * * MACROS DSDINP. DLD SUBR ENTRY/EXIT SA1 STAT CHECK FOR HELP STATUS SX2 SHLP BX2 X2-X1 ZR X2,DLD1 IF HELP STATUS SX2 SSYS CHECK FOR SYSTEM SECTOR STATUS BX2 X2-X1 ZR X2,DLD2 IF SYSTEM SECTOR STATUS SX2 Q SET FOR QUEUED FILE STATUS EQ DLD3 BUILD DISPLAY * BUILD DISPLAY FOR HELP STATUS. DLD1 RJ HLP BUILD HELP DISPLAY EQ DLD4 OUTPUT DISPLAY * BUILD ALL NON-HELP DISPLAYS. DLD2 SX2 S SET SYSTEM SECTOR FET DLD3 RJ BLD BUILD *L* DISPLAY DLD4 RJ OLD OUTPUT *L* DISPLAY DSDINP IPW,C EQ DLDX RETURN EFP SPACE 4,10 ** EFP - EXECUTE FUNCTION PROCESSOR. * * ENTRY (B5) = SUBROUTINE ADDRESS. * * EXIT TO SUBROUTINE WITH RETURN ADDRESS SET. * * USES X - 2, 7. * A - 2, 7. EFP SUBR ENTRY SA2 EFPX SET RETURN ADDRESS BX7 X2 SA7 B5 JP B5+1 JUMP TO SUBROUTINE FOD SPACE 4,15 ** FOD - FORMAT OCTAL DATA. * * *FOD* FORMATS OCTAL DATA AND STORES IT IN *WBUF*. * * EXIT (X6) = FILE STATUS. * (B6) = LWA+1 CONVERTED DATA. * * USES X - ALL. * A - 0, 1, 6, 7. * B - 2, 5, 6, 7. * * CALLS DCM, RSC, WOD, ZTB. * * MACROS MOVE, READW. FOD SUBR ENTRY/EXIT READW X2,OBUF,MLLB SX6 X1+2+SEOI SB5 OBUF NG X1,FOD1 IF EOF/EOI SX6 SEOR NZ X1,FOD1 IF EOR SX6 B0+ FOD1 SA6 FODA SAVE FILE STATUS EQ B5,B6,FODX IF NO DATA IN WORKING BUFFER RJ DCM DETERMINE CHARACTER MODE SB2 12 SHIFT COUNT SA0 WBUF WORKING BUFFER FOD2 SA1 B5 GET NEXT WORD SB5 B5+B1 RJ WOD CONVERT WORD TO OCTAL DISPLAY CODE MX0 24 BX1 X0*X6 SET FIRST WORD IN BUFFER LX0 -24 BX2 X0*X6 LX0 -12 BX3 X0*X7 SET THIRD WORD IN BUFFER LX2 -12 BX1 X2+X1 MX0 12 BX4 X0*X7 LX7 -36 BX5 X0*X7 LX0 12 BX2 X0*X6 SET SECOND WORD IN BUFFER BX2 X2+X4 LX2 36 BX4 X0*X7 BX2 X2+X4 LX3 12 BX3 X3+X5 SX4 2R SET BLANKS IN EACH WORD BX7 X3+X4 LX4 12 BX2 X2+X4 LX4 12 BX6 X1+X4 LX4 12 SA6 A0 SA0 A0+B1 BX7 X7+X4 LX4 12 BX6 X2+X4 SA6 A0 SA7 A0+B1 SA1 B5-B1 SA0 A0+2 RJ RSC REMOVE SPECIAL CHARACTERS BX1 X7 SET ENTRY TO *ZTB* RJ ZTB CONVERT ZERO BYTES TO BLANKS SA6 A0+ SA0 A0+B1 BX7 X7-X7 SET END OF LINE SA7 A0 SA0 A0+B1 NE B5,B6,FOD2 IF MORE WORDS TO TRANSFER SB7 OBUF SB5 MLLB MAXIMUM NUMBER OF LINES ON *L* DISPLAY SB7 B6-B7 NUMBER OF LINES OF DATA ON *L* DISPLAY SB5 B5-B7 NUMBER OF LINES TO BLANK PAD SB6 A0 RESET LWA+1 OF BUFFER MOVE B5,BLNS,B6 FILL BUFFER WITH BLANK LINES SB6 B6+B5 RESET LWA+1 OF *WBUF* SA1 FODA RESTORE FILE STATUS BX6 X1 EQ FODX RETURN FODA BSS 1 FILE STATUS SAVE AREA ILD SPACE 4,15 ** ILD - INPUT *L* DISPLAY. * * *ILD* WILL ROLLOUT UNTIL A COMMAND IS ENTERED VIA THE *L* * DISPLAY. IF *DSD* RETURNS AN ERROR CONDITION AFTER AN INPUT * COMMAND IS ISSUED, *ILD* WILL ISSUE A MESSAGE TO THE SYSTEM * DAYFILE AND TERMINATE. * * USES X - 0, 1, 2. * A - 1. * B - 3. * * MACROS DSDINP, ENDRUN, MESSAGE, ROLLOUT, ROUTE. ILD SUBR ENTRY/EXIT ILD1 DSDINP IPW REQUEST INPUT FROM OPERATOR SA1 IPW MX0 -12 BX1 -X0*X1 AX1 1 IGNORE COMPLETION BIT SX2 X1-CNCI SB3 X1 ZR X2,ILD2 IF COMMAND NOT ENTERED LT B3,B1,ILDX IF NO SYSTEM ERROR ROUTE ROPB,R RETURN FILE TO QUEUE MESSAGE (=C* CANNOT ACCESS L-DISPLAY*),0,R ENDRUN ILD2 ROLLOUT ROLB WAIT FOR *L* DISPLAY INPUT EQ ILD1 CHECK *L* DISPLAY INPUT OLD SPACE 4,10 ** OLD - OUTPUT *L* DISPLAY DATA. * * MACROS DSDOUT. OLD SUBR ENTRY/EXIT DSDOUT LFWA EQ OLDX RETURN RNR SPACE 4,15 ** RNR - READ NEW RECORD. * * *RNR* READS A NEW RECORD INTO THE QUEUED FILE BUFFER. * * ENTRY (X6) = STATUS (*BOR* OR BOI). * * EXIT (X2) = FET ADDRESS OF QUEUED FILE. * * USES X - 1, 6. * A - 1, 6. * * MACROS READ. RNR SUBR ENTRY/EXIT SA6 STAT SET FILE STATUS SX6 QBUF RESET *IN* AND *OUT* FOR EMPTY BUFFER SA6 Q+2 SA6 Q+3 READ Q,R SA1 Q CHECK FOR EOR/EOF/EOI BX6 X6-X6 INDICATE RECORD EXCEEDS BUFFER LX1 59-4 SA6 ERIB PL X1,RNRX IF NOT EOR/EOF/EOI LX1 59-3-59+4 NG X1,RNRX IF EOF/EOI SX6 B1 INDICATE ENTIRE DATA RECORD WITHIN BUFFER SA6 A6+ EQ RNRX RETURN RQF SPACE 4,10 ** RQF - READ QUEUED FILE. * * *RQF* READS THE QUEUED FILE INTO THE CIO BUFFER. * * ENTRY (X2) = FET ADDRESS OF FILE. * * USES X - 1, 3, 4, 5. * A - 1, 3, 4. * * MACROS READ. RQF SUBR ENTRY/EXIT SA4 X2 LX4 59-4 NG X4,RQFX IF EOR/EOF/EOI SA1 A4+1 GET *FIRST* SA3 A1+1 GET *IN* SA4 A3+B1 GET *OUT* IX5 X3-X4 NUMBER OF WORDS IN BUFFER (*IN*-*OUT*) PL X5,RQF1 IF *IN* .GE. *OUT* SA3 A4+1 GET *LIMIT* IX3 X3-X1 *LIMIT* - *FIRST* IX5 X3+X5 NUMBER OF WORDS IN BUFFER RQF1 SX5 X5-LBUFL *L* DISPLAY BUFFER LENGTH PL X5,RQFX IF NUMBER OF WORDS .GE. *LBUFL* READ X2,R EQ RQFX RETURN RPV SPACE 4,10 ** RPV - REPRIEVE PROCESSOR. * * *RPV* DISPLAYS *SYSTEM ABORT.* MESSAGE AND CLEARS *L* * DISPLAY. * * USES B - 2. * * CALLS DLD. * * MACROS REPRIEVE, ROUTE. RPV BSS 0 ENTRY SB2 EABT DISPLAY *SYSTEM ABORT.* MESSAGE RJ DLD DROP *L* DISPLAY ROUTE ROPB,R RETURN FILE TO QUEUE REPRIEVE RPB,RESET,0 RESET ERROR FLAG RSC SPACE 4,10 ** RSC - REMOVE SPECIAL CHARACTERS. * * *RSC* REMOVES SPECIAL CHARACTERS 60B THROUGH 77B FROM * DISPLAY CODE. * * ENTRY (X1) = DISPLAY CODE WORD. * (B4) = 0 IF ASCII MODE. * (B2) = SHIFT COUNT FOR CONVERTED ASCII CHARACTERS. * * EXIT (X4) = LAST BYTE IF ASCII MODE. * (X7) = CONVERTED DISPLAY CODE WORD. * * USES X - 0, 1, 2, 3, 4, 7. * A - 1, 4. * B - 3. RSC1 BX7 X7-X7 MX0 5 MX3 -12 RSC2 LX1 12 BX4 -X3*X1 GET CHARACTER ZR X4,RSC6 IF ZERO BYTE SB3 X4-173B PL B3,RSC3 IF SPECIAL CHARACTER SB3 B3-140B+173B GT B3,RSC5 IF LOWER CASE SB3 B3-133B+140B PL B3,RSC3 IF SPECIAL CHARACTER SB3 B3-100B+133B GT B3,RSC5 IF UPPER CASE SX4 X4-47B PL X4,RSC4 IF DISPLAYABLE SPECIAL CHARACTER RSC3 SX4 B0+ RSC4 MX2 -3 BX2 -X2*X4 CHARACTER NUMBER 0..7 AX4 3 WORD NUMBER LX2 1 CREATE SHIFT COUNT SB3 X2 LX2 1 SA4 X4+RSCC GET WORD SB3 B3+X2 LX4 B3 SB3 X4 RSC5 SX4 B3 MX2 -6 BX4 -X2*X4 GET REPLACEMENT CHARACTER BX7 X7+X4 INSERT NEW CHARACTER RSC6 LX0 1 LX7 B2 MX2 -12 RESET MASK NG X0,RSC2 IF MORE TO PROCESS LX7 -B2 RSC SUBR ENTRY/EXIT ZR B4,RSC1 IF ASCII MODE SA4 RSCA 40404040404040404040 BX3 X4*X1 BX7 X1 RETURN ORIGINAL DISPLAY CODE WORD LX1 1 BX4 X4*X1 BX4 X4*X3 BX3 X4 ZR X4,RSCX IF NO SPECIAL CHARACTERS * BUILD CHARACTER MASK. LX3 -1 BX4 X3+X4 LX3 -1 BX4 X3+X4 BX3 X4 LX4 -3 BX3 X4+X3 FINAL CHARACTER MASK SA1 RSCB BX1 X3*X1 SAVE BLANK IN SPECIAL CHARACTER POSITIONS BX4 -X3*X7 CLEAR OUT SPECIAL CHARACTERS BX7 X4+X1 STORE BLANKS IN DISPLAY CODE WORD EQ RSCX RETURN RSCA DATA 40404040404040404040B RSCB DATA 10H RSCC DATA 10H()*+,-. DATA 10H0123456 / DATA 10H89 = 7 DATA 10H SEM SPACE 4,15 ** SEM - SET ERROR MESSAGE. * * *SEM* FORMATS THE APPROPRIATE SCREEN WITH THE ERROR MESSAGE * SET INTO THE DISPLAY. * * ENTRY (B2) = ERROR MESSAGE ORDINAL. * * EXIT *LBUF* RESET WITH ERROR MESSAGE. * * USES X - 1, 2. * A - 1. * * CALLS BLD, HLP. SEM2 SX2 S SET SYSTEM SECTOR FET SEM3 RJ BLD BUILD *L* DISPLAY SEM SUBR ENTRY/EXIT SA1 STAT CHECK FOR HELP STATUS SX2 SHLP BX2 X2-X1 NZ X2,SEM1 IF NOT HELP STATUS RJ HLP FORMAT HELP SCREEN EQ SEMX RETURN SEM1 SX2 SSYS CHECK FOR SYSTEM SECTOR STATUS BX1 X2-X1 ZR X1,SEM2 IF SYSTEM SECTOR SX2 Q SET QUEUED FILE FET EQ SEM3 FORMAT SCREEN TLD SPACE 4,20 ** TLD - TRANSFER LINES OF DATA. * * *TLD* TRANSFERS LINES OF DATA TO THE *L* DISPLAY WORKING * BUFFER. * * ENTRY (X2) = FET ADDRESS OF FILE. * * EXIT (X6) = STATUS, IF EOR/EOF/EOI ENCOUNTERED. * (X6) = 0, IF NOT EOR/EOF/EOI. * (B6) = LWA+1 OF DATA IN WBUF. * * USES X - 0, 1, 3, 4, 5, 6, 7. * A - 1, 3, 6, 7. * B - 2, 5, 6, 7. * * CALLS DCM, RSC. * * MACROS MOVE, READC. TLD7 SB7 B5+ SB2 6 TLD8 EQ B5,B6,TLD11 IF ALL WORDS CONVERTED SA1 B5+ CONVERT FIRST 5 CHARACTERS RJ RSC REMOVE SPECIAL CHARACTERS LX7 30 SB5 B5+B1 ZR X4,TLD9 IF END OF LINE EQ B5,B6,TLD10 IF END OF BUFFER BX5 X7 SAVE FIRST 5 CHARACTERS SA1 B5 CONVERT SECOND 5 CHARACTERS RJ RSC REMOVE SPECIAL CHARACTERS SB5 B5+1 BX7 X7+X5 NZ X4,TLD9 IF NOT END OF LINE MX5 -12 BX5 -X5*X7 ZR X5,TLD9 IF 12-ZERO BIT LINE TERMINATOR SA7 B7 SB7 B7+B1 SX7 2R LX7 59-11 TLD9 SA7 B7 SB7 B7+B1 EQ TLD8 LOOP UNTIL ALL WORDS CONVERTED TLD10 SA7 B7+ TLD11 SB6 B7+ LWA+1 OF DATA TO DISPLAY TLD SUBR ENTRY/EXIT SB6 WBUF SX0 B6 SAVE FWA OF WORKING BUFFER SX5 B0 INITIALIZE LINE COUNTER RJ DCM DETERMINE WORD COUNT PER LINE TLD1 READC X2,B6,A0 SX6 X1+SEOI+2 EOF OR EOI NG X1,TLD4 IF EOF OR EOI SX6 SEOR BX3 X1-X0 ZR X3,TLD4 IF EOR WITHOUT DATA NZ X1,TLD2 IF TRANSFER NOT COMPLETE BX6 X4 RESET (LWA) OF DATA SA6 B6-B1 RESTORE DATA BEFORE END OF LINE TLD2 SA3 B6-B1 MX4 -12 NZ X3,TLD3 IF NOT ZERO WORD SX6 2R SET NONZERO WORD LX6 -12 SA6 A3 TLD3 BX3 -X4*X3 SX0 B6+ LWA+1 SX5 X5+B1 INCREMENT LINE COUNTER SX6 B0+ CLEAR EOR/EOF/EOI SX3 X5-MLLD ZR X3,TLD5 IF MAXIMUM NUMBER OF LINES IN BUFFER SX3 X0-WBUF-WBUFL SX4 A0 IX3 X3+X4 NG X3,TLD1 IF BUFFER NOT FULL * BLANK FILL UNUSED LINES IN *L* DISPLAY BUFFER. TLD4 SX3 MLLD MAXIMUM NUMBER OF LINES ON *L* DISPLAY IX3 X3-X5 NUMBER OF LINES NOT FILLED WITH DATA ZR X3,TLD5 IF ALL LINES CONTAIN DATA SB7 B6 ADDRESS TO MOVE BLANK LINES SB6 B6+X3 RESET LWA+1 OF BUFFER BX5 X6 SAVE EXIT CONDITION MOVE X3,BLNS,B7 FILL BUFFER WITH BLANK LINES BX6 X5 RESTORE EXIT CONDITION * REMOVE ALL SPECIAL CHARACTERS FROM *L* DISPLAY BUFFER. TLD5 SB5 WBUF RJ DCM DETERMINE CHARACTER MODE ZR B4,TLD7 IF ASCII MODE TLD6 EQ B5,B6,TLDX IF ALL WORDS CONVERTED SA1 B5+ CONVERT NEXT WORD RJ RSC REMOVE SPECIAL CHARACTERS SA7 B5 SB5 B5+B1 EQ TLD6 LOOP UNTIL ALL WORDS CONVERTED SPACE 4,10 ** COMMON DECKS. *CALL COMCCIO *CALL COMCCOD *CALL COMCCPM *CALL COMCDXB *CALL COMCFLD *CALL COMCQFM *CALL COMCMVE *CALL COMCPOP *CALL COMCRDC *CALL COMCRDW *CALL COMCSFN *CALL COMCSNM *CALL COMCSYS *CALL COMCUSB *CALL COMCWTC *CALL COMCWTO *CALL COMCWTW *CALL COMCWOD *CALL COMCZTB TITLE BUFFER AREA. USE BUFFERS ** BUFFER DEFINITIONS. IPW BSS 0 INPUT BUFFER FOR *L* DISPLAY VFD 12/6,1/0,1/0,46/0 IBUF BSS LCOMU INPUT BUFFER LFWA BSS 0 FWA OF *L* DISPLAY BUFFER VFD 12/LDSY,1/0,1/0,46/0 LBUF BSS 0 FWA TO MOVE DATA WBHR EQU LBUF+LBUFL WORKING BUFFER HEADER AREA WBUF EQU WBHR+LBHRL WORKING BUFFER OBUF EQU WBUF+WBUFL OCTAL DISPLAY BUILD BUFFER QBUF EQU OBUF+MLLB QUEUED FILE BUFFER SBUF EQU QBUF+QBUFL SYSTEM SECTOR BUFFER RFL= EQU SBUF+SBUFL TITLE PRESET. PRS SPACE 4,15 ** PRS - PRESET ARGUMENT PROCESSING. * * *PRS* ANALYZES THE COMMAND. THE SPECIFIED QUEUED FILE * IS ATTACHED. AN INITIAL READ ON THE QUEUED FILE IS * PERFORMED. THE SYSTEM SECTOR IS READ. * * EXIT (B5) = ADDRESS OF *HELP* ROUTINE. * (JSN) SET IN FETS AND ROUTE PARAMETER BLOCK. * (DFLG) = RANDOM ADDRESS OF DAYFILE. * = 0, IF DAYFILE DOES NOT EXIST. * JSN AND *QFT* ORDINAL OF FILE SET INTO *L* DISPLAY * HEADER. * * ERROR TO *ERR* IF A FATAL ERROR CONDITION IS DETECTED. PRS SUBR ENTRY/EXIT SA1 JOPR GET JOB ORIGIN TYPE SB1 1 MX0 -6 LX1 0-24 SX5 ERIU * USER ACCESS NOT VALID.* BX1 -X0*X1 SX1 X1-SYOT MX4 24 NZ X1,ERR IF JOB NOT SYSTEM ORIGIN GETACT PRSB CHECK LONG-TERM ACTIVITY FLAG SA1 PRSB LX1 59-47 PL X1,ERR IF *L* DISPLAY NOT ACTIVE ON THIS JOB * CHECK JSN. SA1 ACTR SA3 ARGR BX6 X4*X3 SB2 X1 SX5 ERAR * ARGUMENT ERROR.* NE B2,B1,ERR IF NO ARGUMENTS OR TOO MANY BX3 X0*X3 BX1 -X4*X3 SX5 ERIJ * INCORRECT JSN.* NZ X1,ERR IF GREATER THAN 4 CHARACTERS LX0 36-0 CHECK FOR 3 CHARACTER JSN BX2 -X0*X3 NZ X2,PRS1 IF NOT 3 CHARACTER JSN SX2 1R SPACE-FILL JSN LX2 -24 BX6 X2+X6 PRS1 LX0 6 BX2 -X0*X3 ZR X2,ERR IF JSN .LT. 3 CHARACTERS SA1 QACS+2 SET JSN IN *QAC* PARAMETER BLOCK BX7 X1+X6 SA7 A1 SA6 PRSA SET JSN SA6 ROPB SET JSN IN *ROUTE* PARAMETER BLOCK * SEARCH *QFT* FOR FILE. SA3 TQTG-1 PRS2 ACQUIRE QACPB,R ATTACH THE QUEUED FILE SA1 QACPB MX0 -9 SAVE FUNCTION FOR *QAC* CALL LX0 B1 BX6 -X0*X1 MX2 -8 CHECK FOR ERROR LX1 0-11 BX1 -X2*X1 ZR X1,PRS4 IF NO ERROR SA6 A1 SA3 A3+B1 GET QUEUE TYPE FROM TABLE SB2 B1+ ZR X3,PRS3 IF FILE NOT IN *QFT* SA4 QACS+3 SET QUEUE TYPE IN *QAC* PARAMETER BLOCK MX0 12 BX6 -X0*X4 BX6 X3+X6 SA6 A4 EQ PRS2 SEARCH *QFT* FOR FILE PRS3 SA1 PRSA SB2 1R$ SB5 ERNJ * JSN XXXX NOT FOUND.* RJ SNM SET JSN IN MESSAGE SX5 ERNJ EQ ERR ISSUE ERROR MESSAGE AND ABORT PRS4 REPRIEVE RPB,SET,277B SET *REPRIEVE* PROCESSING SA1 PRSA GET JSN SX6 3 SET JSN AS FILE NAME IN FETS BX6 X1+X6 SA6 Q SET JSN IN QUEUED FILE FET SA6 S SET JSN IN SYSTEM SECTOR FET SX7 B1+ SET RANDOM READ IN FET TO BOI SA7 Q+6 SX6 SHLP RJ RNR READ QUEUED FILE INTO BUFFER SA1 QACF SAVE DAYFILE ADDRESS MX2 -30 LX1 29-59 BX6 -X2*X1 SA6 DFLG QCALL QRSF,S READ SYSTEM SECTOR SA2 PRSA SET EOR STATUS IN SYSTEM SECTOR FET SX6 23B BX6 X2+X6 SA6 S * SET UP HEADER. SA1 PRSA GET JSN SB2 1R$ SB5 LBHR RJ SNM SET JSN INTO HEADER SA1 QACPB+4 MX0 -12 CONVERT *QFT* ORDINAL LX1 0-36 BX1 -X0*X1 SX1 X1+10000B MX0 24 RJ COD CONVERT TO OCTAL DISPLAY LX4 6 BX1 X0*X4 SB2 1R+ SB5 LBHR RJ SNM SET *QFT* ORDINAL INTO HEADER SA1 SBUF+IOSS./5+SCLQ GET INTERNAL CHARACTERISTICS MX3 -3 AX1 12 BX1 -X3*X1 SA1 PRSC+X1 SB2 1R- SB5 LBHR RJ SNM SET *IC* INTO HEADER * SET BUFFER HEADER. MOVE LBHRL,LBHR,WBHR SET WORKING BUFFER SB5 HLP *HELP* FUNCTION PROCESSOR SB2 B0+ INDICATE NO ERROR EQ PRSX RETURN PRSA CON 0 JSN PRSB CON 0 JOB ACTIVITY PRSC BSS 0 INTERNAL CHARACTERISTICS LOC 0 DCIC DATA 2LDC DISPLAY CODE ASIC DATA 2LAS ASCII BNIC DATA 2LBN BINARY A6IC DATA 2LA6 6/12 ASCII LOC *O ERR SPACE 4,10 ** ERR - ERROR PROCESSOR. * * *ERR* ABORTS AFTER ISSUING THE SPECIFIED MESSAGE. * * ENTRY (X5) = FWA OF ERROR MESSAGE. * * MACROS ABORT, MESSAGE. ERR BSS 0 ENTRY MESSAGE X5,0,R ISSUE ERROR MESSAGE ABORT SPACE 4,10 ** ERROR MESSAGES TO DAYFILE. ERAR DATA C* ARGUMENT ERROR.* ERIJ DATA C* INCORRECT JSN.* ERIU DATA C* USER ACCESS NOT VALID.* ERNJ DATA C* JSN $$$$ NOT FOUND.* SPACE 4,10 ** TQTG - TABLE OF QUEUE TYPES FOR *GET* FUNCTION. * *T, 12/ *QUEUE TYPE*,48/ 0. * * BITS 59-48 IN WORD 8 IN THE SELECTION CRITERIA * PORTION OF THE *QAC* PARAMETER BLOCK WILL BE SET * TO QUEUE TYPE. TQTG BSS 0 VFD 12/PRQQ,48/0 PRINT FILES VFD 12/WTQQ,48/0 WAIT FILES VFD 12/PHQQ,48/0 PUNCH FILES VFD 12/PLQQ,48/0 PLOT FILES CON 0 END OF TABLE ERRNG QBUF-* QBUF AND SBUF CANNOT OVERLAY PRESET END