BACKMOD * /--- FILE TYPE = E * /--- BLOCK SOURCEZ 00 000 81/04/29 11.25 BACKMOD IDENT BACKMOD,BEGIN,BACKMOD ENTRY BACKMOD SYSCOM B1 DEFINE (B1) = 1 *COMMENT MODIFY BACKUP FILES FROM CONSOLE COMMENT COPYRIGHT CONTROL DATA CORP. 1980. TITLE MODIFY BACKUP FILES FROM CONSOLE SPACE 4 *** MODIFY BACKUP FILES FROM CONSOLE * J. J. BUCHMANN. 80/06/17. * *FUNCTION; * THIS PROGRAM CAN BE USED TO MAKE CHANGES TO THE BACKUP * PARAMETERS, SLOT TABLE, REQUIRED PACKS TABLE OR PLACE * MESSAGES ABOUT TAPES IN THE VSN TABLE. THE INFORMATION * IN ALL THESE TABLES IS SHOWN ON A K-DISPLAY. * * CHANGES MAY BE MADE TO THE PARAMETERS SHOWN, BUT THE * CHANGES WILL NOT BE WRITTEN TO BACK TO THE DISK UNLESS * A K.WR COMMAND IS ISSUED. * * AN ON-LINE LISTING OF ALL PARAMETERS MAYBE DISPLAYED * BY TYPING KK. * *K-DISPLAY PARAMETERS; * K.GI SHOW GENERAL INFORMATION PAGE * K.RP SHOW REQUIRED PACKS TABLE * K.ST SHOW SLOT TABLE * K.VS SHOW VSN TABLE * K.ND=N CHANGE THE NUMBER OF PLATO DUMP DIRECTORY * DATASETS. * K.RR REREAD PARAMETERS FILE FROM DISK * K.WR WRITE PARAMETERS FILE TO DISK * K.STOP OR K.END EXIT FROM PROGRAM (NO WRITE TO DISK) * K.+ PAGE THROUGH ENTRIES * * ON REQUIRED PACKS PAGE; * K.N=PACK STORE PACK NAME *PACK* AT ENTRY N * * ON SLOT TABLE PAGE; * K.M=N STORE *N* AT SLOT ENTRY M * K.DA=N SET DAILY CYCLE NUMBER TO N * K.WK=M SET WEEKLY CYCLE NUMBER TO M * K.SS SETUP SLOT TABLE ACCORDING TO THE DA/WK * PARAMETERS * * ON THE VSN TABLE PAGE; * K.M=MESSAGE SET *MESSAGE* TO BE STORE LATER * K.N START DISPLAY AT ENTRY N * K.SL=M DISPLAY ENTRIES WITH SLOT VALUE=M. THIS * ALSO LIMIT WHERE MESSAGES CAN BE STORED. * K.N= STORE MESSAGE AT ENTRY N * K.M-N STORE MESSAGE AT ENTRIES M THROUGH N * K.1-4000 STORE MESSAGE AT ALL VSN ENTRIES * *ERROR MESSAGES; * ERROR IN PARAMETERS * *INTERNAL ERROR MESSAGES; NONE * /--- BLOCK SOURCEZ 00 000 81/05/07 06.51 SPACE 4 *CALL COMCMAC *CALL COMCDCM *CALL COMCCMD *CALL PLASMPC **** ASSEMBLY CONSTANTS. MAXK545 EQU 35 MAX LINES ON CC545 K-DISPLAY MAXK721 EQU 20 MAX LINES ON 721 K-DISPLAY IBUFL EQU 2001B IFILE BUFFER LENGTH OBUFL EQU 2001B OFILE BUFFER LENGTH ABUFL EQU 2001B AFILE BUFFER LENGTH BLKSZE EQU 320 BLOCK SIZE (WORDS) FOR S0BACKC MBPARM EQU 1 MAX NUM OF BLOCKS / PARAMETERS MBSLOT EQU 2 MAX NUM OF BLOCKS / SLOT TABLE MBLAB EQU 25 MAX NUM OF BLOCKS / LOOK ASIDE MBVSN EQU 25 MAX NUM OF BLOCKS / VSN TABLE MBALL EQU MBPARM+MBSLOT+MBLAB+MBVSN TOTAL NUM BLOCKS SLOTSZE EQU MBSLOT*BLKSZE SIZE OF SLOT TABLE AUDBLK EQU 300 BLOCK SIZE FOR AUDIT TRAIL AUDCNT EQU 13 NUMBER OF BLOCKS/AUDIT TRAIL USERI EQU 377773B USER INDEX FOR FILES TIMEL EQU 7777B TIME LIMIT PRIOR EQU 41B PRIORITY * OFFSETS WITHIN PARAMETER BLOCK PDATE EQU 0 LAST BACKUP DATE PTIME EQU 1 LAST BACKUP TIME PBASE EQU 2 DUMP DIRECTORY BASE NAME PDNUM EQU 3 NUMBER OF DATASETS IN DUMP DIR. PNREC EQU 4 NUMBER OF RECORDS IN DATASETS PLREC EQU 5 NUMBER OF RECORDS-LAST DATASET PLABW EQU 6 WORDS IN LOOK-ASIDE BUFFER PMAXS EQU 8 MAXIMUM NUMBER OF SLOTS PPAGE EQU 9 PAGE SIZE PREQP EQU 50 REQUIRED PACKS TABLE BEGIN BSS 0 FETS BSS 0 I BSS 0 S0BACKC RFILEB IBUF,IBUFL,(FET=13D),EPR * DATA WORDS PACK DATA 0 PACK NAME FOR ATTACHES DPER DATA 7LBACKDIR PERMANENT FILE FOR DUMP DIRECT. SPER DATA 7LS0BACKC PERM. FILE FOR BACKUP PARAMS. APER DATA 5LAUDIT PERMANENT FILE FOR AUDIT TRAIL TITLE MAIN LOOP * MAIN LOOP BACKMOD BSS 0 ENTRY POINT SB1 1 FOREVER CONSTANT RJ INIT INITIALIZE AND GET ARGS RJ ATTFILE ATTACH FILES RJ RDPARAM READ S0BACKC RJ KDISP DO K-DISPLAY EQ END * /--- BLOCK SOURCEZ 00 000 81/03/18 10.00 TITLE SUBROUTINES ATTFILE SPACE 4 ** ATTFILE - ATTACH PERMANENT FILES * * ATTACH S0BACKC, BACKDIR, AND AUDIT * ATTFILE DATA 0 ENTRY/EXIT SETUI USERI USER INDEX PACKNAM PACK SET PACKNAME ATT1 ATTACH I,SPER,,,W ATTACH S0BACKC SA1 I RJ CKSTATS NZ X2,ATT1 IF FILE WAS BUSY SA1 I+1 RJ CLREPR CLEAR EPR * ATT2 ATTACH O,DPER,,,R ATTACH BACKDIR * SA1 O * RJ CKSTATS * NZ X2,ATT2 IF FILE WAS BUSY * SA1 O+1 * RJ CLREPR CLEAR EPR * ATT3 ATTACH A,APER,,,R ATTACH AUDIT * SA1 A * RJ CKSTATS * NZ X2,ATT3 IF FILE WAS BUSY * SA1 A+1 * RJ CLREPR CLEAR EPR EQ ATTFILE EXIT CKSTATS SPACE 4 ** CKSTATS - CHECK FILE STATUS FOR BUSY * ROLLOUT FOR 64 SECONDS IF BUSY * ABORT IF ERROR * * ENTRY X1-FET STATUS WORD * * EXIT X2=0, NOT BUSY CKSTATS DATA 0 ENTRY/EXIT AX1 10 MX7 -8 BX2 -X7*X1 ISOLATE STATUS ZR X2,CKSTATS IF NOT BUSY AND NO ERROR SX2 X2-1 NZ X2,ABORT ATTACH ERROR ROLLOUT CKSW SX2 1 BUSY STATUS EQ CKSTATS CKSW DATA 7700000100B CLREPR SPACE 4 ** CLREPR - CLEAR ERROR PROCESSING BIT IN THE FET * * ENTRY A1/X1=FET+1 AND CONTENTS CLREPR DATA 0 ENTRY/EXIT SX6 B1 MASK FOR EPR LX6 44 BX6 -X6*X1 SA6 A1 EQ CLREPR * /--- BLOCK SOURCEZ 00 000 81/04/21 09.19 GTW SPACE 4 ** GTW - GET WORD * * THIS ROUTINE EXTRACTS UP TO TEN CHARACTERS FROM * A CONTROL CARD AREA. ALL WORDS ARE SEPARATED * BY DELIMITERS (ANY CHARACTER .GT. 9 EXCEPT BLANK). * * ENTRY B1 = 1 * A4/X4 = CHARACTERS TO BE EXTRACTED FROM * B6 = SHIFT COUNT (INITIALLY 0) * * EXIT X1 = WORD THAT WAS EXTRACTED * X2 = DELIMITER * IF X2 .LT. 0 - MORE THAN 10 CHARS IN WORD * IF X2 .EQ. 0 - END OF CARD * B5 = 60-(N*6) WHERE N IS THE NUMBER OF * CHARACTERS FOUND IN THE WORD * A4/X4/B6 SET FOR NEXT WORD * * USES A-4 * X-1,2,3,4 * B-5,6,7 GTW DATA 0 ENTRY/EXIT MX1 0 INITIAL SETTINGS SB5 60 SB7 B5 GTW1 SB6 B6+6 NEXT CHARACTER GT B6,B7,GTW2 IF NEW WORD NEEDED MX2 -6 CHARACTER MASK LX4 6 SHIFT TO NEXT CHARACTER BX2 -X2*X4 ZR X2,GTW END OF CARD SX3 X2-1R TEST FOR BLANKS ZR X3,GTW1A SX3 X2-1R9-1 PL X3,GTW IF DELIMITER GTW1A SB5 B5-6 DECREASE CHARACTER SHIFT COUNT NG B5,GTW3 IF MORE THAN 10 CHARS. LX2 X2,B5 SHIFT TO PROPER LOCATION BX1 X1+X2 MERGE EQ GTW1 GET NEXT CHARACTER GTW2 SA4 A4+B1 GET NEXT WORD SB6 B0 EQ GTW1 GTW3 BX2 -X2 ERROR FLAG EQ GTW EXIT INIT SPACE 4 ** INIT - INITIALIZE INIT DATA 0 ENTRY/EXIT SETTL TIMEL SET TIME LIMIT SETPR PRIOR SET PRIORITY SB6 LSCR CLEAR BUFFERS SB7 BEND-LSCR RJ ZERO * * GET ARGUMENTS * SA1 ACTR ARG COUNT SB4 X1 SA4 ARGR FIRST ARG SB5 ARGTBL ARG TABLE RJ ARG NZ X1,INITERR ERROR IN ARGUMENTS SA1 INITM MODIFY COMCARG FOR 10 CHARS BX6 X1 SA6 ARG5 SA1 Z SEE IF EXTENDED PARAMETERS ZR X1,INIT SX5 CCDR CONTROL CARD AREA RJ PRA EXTRACT EXTENDED PARAMETERS NZ X6,INITERR IF ERROR IN CARD SB5 ARGTBL ARG TABLE ADDRESS RJ ARG NZ X1,INITERR ERROR IN ARGUMENTS EQ INIT * /--- BLOCK SOURCEZ 00 000 81/04/22 07.19 INITM BX7 X3+X6 INSTRUCTIONS MODIFIED AT ARG5 SA7 B2+ SB3 B2-B3 INITERR MESSAGE INMSG EQ ABORT INITPAR SPACE 4 ** INITPAR - INITIALIZE PARAMETER BLOCK * * SETS DATE OF LAST BACKUP TO *NEVER* * DATASET BASE NAME TO *D0* * NUMBER OF DATASETS TO 7 * NUMBER OF RECORDS IN DATASETS TO 142 * MAX. NUMBER OF SLOTS TO 30 * PAGE SIZE TO 3000 * SETUP SLOT TABLE(DAILY=6, WEEKLY=24 DEFAULT) INITPAR DATA 0 ENTRY/EXIT SB6 PARAM ZERO EVERYTHING SB7 MBALL*BLKSZE RJ ZERO SA1 =5LNEVER SET DATE OF LAST BACKUP SA2 =2LD0 DATASET BASE NAME BX6 X1 BX7 X2 SA6 PARAM+PDATE SA7 PARAM+PBASE SX6 7 NUMBER OF DATASETS SA6 PARAM+PDNUM SX6 142 NUMBER OF RECORDS/DATASET SA6 PARAM+PNREC SA6 PARAM+PLREC SX6 30 MAX NUMBER OF SLOTS SA6 PARAM+PMAXS SX6 3000 PAGE SIZE SA6 PARAM+PPAGE RJ SETSLOT SETUP SLOT TABLE EQ INITPAR EXIT MVEB SPACE 4 ** MVEB - MOVE BITES INTO A BUFFER * * ENTRY X6=BITS TO BE MOVED (LEFT JUSTIFIED) * B7=NUMBER OF BITS TO MOVE * MVBS=3/2,9/CURRENT BIT COUNT,30/0, * 18/CURRENT ADDRESS * * EXIT BITS MOVED * MVBS UPDATED MVEB DATA 0 ENTRY/EXIT SA2 MVBS GET CURRENT POINTER SB5 60 NUMBER OF BITS IN A WORD UX2 X2,B6 EXTRACT CURRENT BIT COUNT SB4 B6+B7 TOTAL BITS AFTER STORE GT B4,B5,MVEB1 IF ANOTHER WORD IS NEEDED RJ MVEW STORE THIS WORD EQ MVEB EXIT MVEB1 BX5 X6 SAVE BITS TO BE STORED SB2 B7 AND BIT COUNT SB7 B5-B6 NUMBER OF BITS IN THIS WORD SB4 B5 TOTAL FIRST WORD RJ MVEW STORE FIRST WORD LX6 B7,X5 SHIFT OFF THE ALREADY STORED SB7 B2-B7 REMAINING BIT COUNT SB6 B0 STARTING BIT COUNT SB4 B6+B7 FINISH BIT COUNT RJ MVEW SECOND WORD EQ MVEB EXIT MVEW SPACE 4 ** MVEW - MOVE BITS IN ONE WORD * * ENTRY X6=BITS TO BE MOVED (LEFT JUSTIFIED) * B7=NUMBER OF BITS TO MOVE * B5=60 * A2=MVBS * X2=CURRENT WORD ADDRESS * /--- BLOCK SOURCEZ 00 000 81/04/21 10.10 * B6=CURRENT BIT COUNT * B4=B6+B7 - MUST BE .LE. 60 MVEW DATA 0 ENTRY/EXIT SA1 X2 GET CURRENT WORD MX7 1 FORM MASK TO STRIP OFF BITS SB3 B7-B1 AX7 B3 BX6 X7*X6 ISOLATE BITS TO BE STORED SB3 B5-B6 SHIFT COUNT FOR BITS LX6 B3 SHIFT TO PROPER LOCATION BX6 X6+X1 MERGE SA6 A1 STORE EQ B5,B4,MVEW1 IF JUST ONE WORD PX6 X2,B4 UPDATE MVBS SA6 A2 EQ MVEW EXIT MVEW1 SX2 X2+B1 NEXT WORD PX6 X2,B0 BIT COUNT = 0 SA6 A2 MX7 0 CLEAR NEXT WORD SA7 X2 EQ MVEW MVBS DATA 0 CURRENT ADDRESS AND BIT COUNT PRA SPACE 4 ** PRA - EXTRACT PARAMETERS BEYOND PERIOD * * EXTRACT PARAMETERS FROM CONTROL CARD AREA * * ENTRY B1 = 1 * X5 = ADDRESS OF CONTROL CARD * * EXIT X6 = 0 ALL OK, -1 IF ERROR * ARGUMENTS AT ARGR * A4/X4 = FIRST ARGUMENT * B4 = NUMBER OF ARGUMENTS * * USES A-4 * X-1,2,3,4,6,7 * B-3,4,5,6,7 * * CALLS GTW PRA DATA 0 ENTRY/EXIT SA4 X5 CONTROL CARD AREA SB6 0 INITIAL SHIFT COUNT PRA1 RJ GTW GET NEXT WORD NG X2,PRAX ERROR - MORE THAN 10 CHARS. ZR X2,PRAX ERROR - NULL WORD SX7 X2-1R. ZR X7,PRA2 IF PERIOD SX7 X2-1R) NZ X7,PRA1 IF NOT ) PRA2 SB3 ARGR LOCATION TO STORE ARGS PRA3 RJ GTW GET NEXT WORD NG X2,PRAX ERROR - MORE THAN 10 CHARS ZR X1,PRA5 IF END OF CARD SX7 X2-1R= SEE IF = IS DELIMITER SX6 0 NZ X7,PRA3A IF NOT = SX6 1R= ADD = CHARACTER TO WORD EQ PRA4 MERGE PRA3A SX7 X2-1R- SEE IF - IS DELIMITER NZ X7,PRA4 IF NOT - SX6 1R- ADD - CHARACTER TO WORD PRA4 BX6 X6+X1 MERGE SA6 B3 STORE ARGUMENT SB3 B3+B1 ADVANCE ARG POINTER NZ X2,PRA3 IF NOT END OF CARD PRA5 SB4 B3-ARGR NUMBER OF ARGUMENTS SA4 ARGR FIRST ARGUMENT MX6 0 OK EXIT EQ PRA PRAX MX6 59 ERROR EXIT EQ PRA * /--- BLOCK SOURCEZ 00 000 81/04/21 08.19 RDPARAM SPACE 4 ** RDPARAM - READ PARAMETER BLOCK AND REST OF S0BACKC RDPARAM DATA 0 ENTRY/EXIT SB6 PARAM FWA SB7 MBALL*BLKSZE NUMBER OF WORDS TO ZERO RJ ZERO ZERO PARAMETER AREA REWIND I,R READ I,R READW I,PARAM,MBALL*BLKSZE EQ RDPARAM EXIT SETSLOT SPACE 4 ** SETSLOT - SETUP SLOT TABLE * * ENTRY DA=DAILY COUNT * WK=WEEKLY COUNT * EXIT SLOT TABLE SET AS FOLLOWS'; * 1,1,2,...,DA,DA+1,1,2,...,DA,DA+2,1,2,... * DA+3,1,2..........,DA,DA+WK SETSLOT DATA 0 ENTRY/EXIT SA1 DA GET DAILY COUNT SA2 WK GET WEEKLY COUNT IX7 X1+X2 CHECK PARAMETERS SX6 X1+B1 SX7 X7-31 SEE IF .GT. 30 PL X7,SETSLOT IF TOO BIG IX7 X6*X2 SX3 B0 INITIAL COUNT SX7 X7-SLOTSZE-1 PL X7,SETSLOT IF TOO BIG FOR BUFFER SB6 SLOT CLEAR SLOT TABLE SB7 SLOTSZE RJ ZERO SX7 1 SLOT 0 = 1 SA7 SLOT SS1 SX7 1 BEGIN DAILY CYCLE SS2 SA7 A7+B1 STORE NEXT DAILY SX7 X7+1 BUMP COUNT IX6 X1-X7 PL X6,SS2 IF MORE DAILY TO DO SX3 X3+B1 BUMP WEEKLY COUNT IX6 X2-X3 NG X6,SETSLOT IF ALREADY DONE IX7 X3+X1 GET WEEKLY SLOT NUMBER SA7 A7+B1 STORE IN NEXT SLOT NZ X6,SS1 IF NOT DONE - RESTART DAILY EQ SETSLOT EXIT * /--- BLOCK SOURCEZ 00 000 81/04/21 07.57 TRIPMSG SPACE 4 ** TRIPMSG - WRITE A MESSAGE TO THE DAYFILE 3 TIMES * * X6 - ADDRESS OF MESSAGE TRIPMSG DATA 0 SA6 TRSAVE MESSAGE X6 SA1 TRSAVE MESSAGE X1 SA1 TRSAVE MESSAGE X1 EQ TRIPMSG TRSAVE DATA 0 WRPARAM SPACE 4 ** WRPARAM - WRITE PARAMETER BLOCK AND REST OF S0BACKC WRPARAM DATA 0 ENTRY/EXIT REWIND I,R WRITEW I,PARAM,MBALL*BLKSZE WRITER I,R WRITEF I,R EQ WRPARAM EXIT ZERO SPACE 4 ** ZERO - ZERO BUFFER * * ENTRY B1=1 * B6=FWA * B7=NUMBER OF WORDS TO ZERO * * EXIT X7=0 * BUFFER ZEROED * * USES A-7 * X-7 * B-6,7 ZERO DATA 0 EMTRY/EXIT MX7 0 SB7 B7-B1 NG B7,ZERO ZRO1 SA7 B6+B7 SB7 B7-B1 PL B7,ZRO1 EQ ZERO * /--- BLOCK SOURCEZ 00 000 81/03/13 11.41 TITLE K-DISPLAY ROUTINES BLANK SPACE 4 ** BLANK - MOVE BLANK LINE TO K DISPLAY BLANK DATA 0 ENTRY/EXIT SB6 =1L MOVE BLANK LINE RJ MOVEL EQ BLANK BLDRP SPACE 4 ** BLDRP - BUILD REQUIRED PACK ENTRY FOR K DISPLAY BLDRP DATA 0 ENTRY/EXIT SA1 BUILDC GET COUNTER SX1 X1+1 SX6 X1-MXDSU+1 PL X6,BLDRP IF TOO LARGE RJ OUT3 OUTPUT AS 3 CHARACTERS RJ OUTPER OUTPUT PERIOD SA1 BUILDC OUTPUT PACK NAME SX6 X1+B1 INCREMENT COUNTER SA6 A1 SA1 X1+REQPK RJ SFN SB7 60 RJ MVEB EQ BLDRP BLDSL SPACE 4 ** BLDSL - BUILD SLOT TABLE ENTRY FOR K DISPLAY BLDSL DATA 0 ENTRY/EXIT SA1 BUILDC GET COUNTER SX6 X1-366 PL X6,BLDSL IF OVER A YEAR RJ OUT3 OUTPUT AS 3 CHARACTERS RJ OUTPER OUTPUT PERIOD SA1 BUILDC OUTPUT SLOT NUMBER SA1 X1+SLOT ZR X1,BLDSL3 IF ZERO, OUTPUT BLANKS RJ OUT3 BLDSL1 SA1 BUILDC SEE IF SLOT .EQ. COUNTER SA2 SLOT SX6 X1+B1 INCREMENT COUNTER SA6 A1 ZR X1,BLDSL2 IF ZERO SLOT IX6 X1-X2 SEE IF MATCH ON SLOT ZR X6,BLDSL2 SB7 6 OUTPUT ONE BLANK RJ OUTBLK EQ BLDSL BLDSL2 SA1 =1L* OUTPUT STAR BX6 X1 SB7 6 RJ MVEB EQ BLDSL BLDSL3 SB7 18 OUTPUT 3 BLANKS RJ OUTBLK EQ BLDSL1 * /--- BLOCK SOURCEZ 00 000 81/03/10 11.59 BLDVS SPACE 4 ** BLDVS - BUILD VSN ENTRY FOR K DISPLAY BLDVS DATA 0 ENTRY/EXIT SX6 X2+B1 INCREMENT COUNTER SA6 A2 SX1 X6 BX6 X3 SAVE ENTRY SA6 BUILDY SA3 A3-B1 GET FIRST WORD OF VSN ENTRY BX6 X3 SAVE IT ALSO SA6 A6+B1 RJ OUT4 OUTPUT VSN ENTRY NUMBER RJ OUTPER OUTPUT PERIOD SA1 BUILDY GET VSN NAME MX7 6 TEST TOP CHARACTER BX6 X7*X1 NZ X6,BLDVS1 IF PACK NAME SA1 =5L T OUTPUT T FOR TAPE SB7 30 BX6 X1 RJ MVEB SA1 BUILDY LX1 6 MX7 36 MASK NAME EQ BLDVS2 BLDVS1 SA1 =5L D OUTPUT D FOR DISK SB7 30 BX6 X1 RJ MVEB SA1 BUILDY MX7 42 MASK NAME BLDVS2 BX1 X7*X1 RJ SFN OUTPUT PACK NAME SB7 42 RJ MVEB SA1 BUILDY+1 GET SLOT MX7 -12 MASK SLOT BX1 -X7*X1 RJ OUT4 SA1 BUILDY AX1 14 EXTRACT YEAR MX7 -4 BX1 -X7*X1 SX1 X1+80 ADD OFFSET RJ OUT4 RJ OUTDIV OUTPUT / SA1 BUILDY AX1 10 EXTRACT MONTH MX7 -4 BX1 -X7*X1 SX1 X1+10000 RJ OUT2 RJ OUTDIV OUTPUT / SA1 BUILDY AX1 5 EXTRACT DAY MX7 -5 BX1 -X7*X1 SX1 X1+10000 RJ OUT2 SB7 12 RJ OUTBLK OUTPUT 2 BLANKS SA1 BUILDY MX7 -5 EXTRACT HOUR BX1 -X7*X1 RJ OUT2 SB7 12 RJ OUTBLK OUTPUT 2 BLANKS SA1 BUILDY+1 OUTPUT MESSAGE MX7 8*6 BX1 X7*X1 RJ SFN SB7 8*6 RJ MVEB EQ BLDVS EXIT * /--- BLOCK SOURCEZ 00 000 81/03/13 09.59 BUILDO SPACE 4 ** BUILDO - BUILD OUTPUT LINE BUILDX SX6 -1 END OF DISPLAY EXIT BUILDO DATA 0 ENTRY/EXIT SB6 BUILD FWA SB7 7 NUMBER OF WORDS RJ ZERO CLEAR BUILD BUFFER SX7 B6 PX7 B0 SA7 MVBS POINTER TO BUFFER SA1 DI SA2 BUILDC GET COUNTER ZR X1,BUILDX IF GENERAL INFO SX1 X1-1 NZ X1,BUI1 IF NOT REQUIRED PACKS SX2 X2-MXDSU SEE IF DONE PL X2,BUILDX RJ BLDRP BUILD REQUIRED PACK LINE RJ BLDRP RJ BLDRP RJ BLDRP MX6 0 NOT FINISHED FLAG EQ BUILDO EXIT BUI1 SX1 X1-1 NZ X1,BUI2 IF NOT SLOT TABLE SX2 X2-366 SEE IF DONE PL X2,BUILDX RJ BLDSL BUILD SLOT TABLE OUTPUT LINE RJ BLDSL RJ BLDSL RJ BLDSL RJ BLDSL RJ BLDSL RJ BLDSL MX6 0 NOT FINISHED FLAG EQ BUILDO EXIT BUI2 SX1 X1-1 NZ X1,BUILDO IF NOT VSN TABLE BUI3 SX3 X2-4000 SEE IF DONE PL X3,BUILDX IX3 X2+X2 DOUBLE ENTRY NUMBER SA3 X3+VSN+1 LOOK FOR ENTRY NZ X3,BUI4 SX2 X2+B1 EQ BUI3 BUI4 SA4 S SEE IF SLOT SELECTED ZR X4,BUI5 IF NON SELECTED SA1 A3-B1 GET THIS SLOT NUMBER MX6 -12 BX1 -X6*X1 IX1 X1-X4 SEE IF THE SAME ZR X1,BUI5 PROCESS THIS ENTRY SX2 X2+B1 ADVANCE TO NEXT ENTRY EQ BUI3 BUI5 RJ BLDVS BUILD VSN TABLE ENTRY MX6 0 NOT FINISHED FLAG EQ BUILDO EXIT BUILDC DATA 0 BUILD COUNTER BUILDY DATA 0,0 SAVE ENTRIES * /--- BLOCK SOURCEZ 00 000 81/04/21 08.44 GENINFO SPACE 4 ** GENINFO - GENERAL INFOMATION PAGE GENINFO DATA 0 ENTRY/EXIT SA1 PARAM+PDATE GET DATE OF LAST BACKUP SA2 PARAM+PTIME GET TIME BX6 X1 BX7 X2 SA6 PAR2 SA7 A6+B1 SB6 PAR1 MOVE BACK DATE/TIME TO K-DISP RJ MOVEL RJ BLANK BLANK LINE SA1 PARAM+PDNUM GET NUMBER OF DATASETS RJ CDD SA6 PAR8 SB6 PAR7 MOVE TO KDISP RJ MOVEL RJ BLANK BLANK LINE SA1 SLOT GET SLOT POINTER RJ CDD SA6 PAR4 SB6 PAR3 MOVE TO KDISP RJ MOVEL SA1 SLOT GET SLOT VALUE SA1 X1+SLOT RJ CDD SA6 PAR6 SB6 PAR5 MOVE TO KDISP RJ MOVEL RJ BLANK EQ GENINFO GENERAL INFO PAGE * /--- BLOCK SOURCEZ 00 000 81/04/21 08.11 KDISP SPACE 4 ** DO K-DISPLAY KDISP DATA 0 ENTRY/EXIT RJ SETPAR SET UP PARAMETERS NZ X4,INITERR IF ERROR IN PARAMS KDSP1 RJ SETK SET UP K-DISPLAY PARAMETERS SA1 DI SEE DISPLAY MODE NZ X1,KDSP2 IF NOT GENERAL PARAMETERS RJ GENINFO GENERAL INFO DISPLAY EQ KDSP3 KDSP2 RJ BUILDO BUILD OUTPUT LINE NG X6,KDSP3 IF END OF DISPLAY SB6 BUILD RJ MOVEL MOVE TO K-DISPLAY BUFFER ZR X6,KDSP2 IF NO OUTPUT TO TRANSFER EQ KDSP4 KDSP3 SB6 0 END OF DISPLAY RJ MOVEL ZR X6,KDSP1 START OVER IF + KDSP4 SA1 =10HXXXXXXXXX. SET UP FAKE CONTROL CARD SX5 KFILL BX6 X1 SA6 X5 RJ PRA STRIP OFF PARAMETERS NZ X6,KDSP5 IF ERROR IN PARAMETERS MX7 6 SEE IF FIRST CHARACTER NUMERIC BX7 X7*X4 LX7 6 SX7 X7-1R0 PL X7,KDSP6 IF POSSIBLE NUMERIC SA1 =3LEND SA2 =4LSTOP SA3 =10LINITIALIZE BX6 X4-X1 BX7 X4-X2 ZR X6,KDISP ZR X7,KDISP BX6 X4-X3 ZR X6,KDSP18 SB5 ARGT ARG TABLE ADDRESS RJ ARG NZ X1,KDSP5 ERROR IN PARAMETERS RJ SETBUF SET UP BUFFER RJ SETPAR SET UP PARAMETERS ZR X4,KDSP1 IF NO ERROR IN PARAMS KDSP5 RJ SETBUF SET UP BUFFER PARAMS RJ SETK SB6 INMSG ERROR IN PARAMS MESSAGE RJ MOVEL EQ KDSP3 * /--- BLOCK SOURCEZ 00 000 81/04/21 06.51 KDSP6 MX5 42 MASK OFF NUMBER BX5 X5*X4 SX7 B4 SAVE NUMBER OF ARGS SB7 B1 ASSUME DECIMAL SA7 KDSPX RJ DXB CONVERT NZ X4,KDSP5 IF ERROR NG X6,KDSP5 IF NEGATIVE VALUE SA1 KDSPX GET ARG COUNT SX1 X1-1 NZ X1,KDSP9 IF MORE THAN ONE ARG SA2 ARGR GET FIRST ARGUMENT SX2 X2-1R= SEE IF EQUAL SEPARATOR ZR X2,KDSP8 SX2 X2-1R-+1R= SEE IF MINUS SEPARATOR ZR X2,KDSP5 ERROR IF - AND ONLY ONE ARG. SA2 DI SEE DISPLAY MODE SX2 X2-2 ZR X2,KDSP7 IF SLOT TABLE DISPLAY ZR X6,KDSP7 IF ZERO SELECTED SX6 X6-1 DECREMENT FOR PROPER VALUE KDSP7 SA6 A1+ SAVE ENTRY VALUE RJ SETBUF SET UP BUFFERS RJ SETK SET UP K DISPLAY PARAMETERS SA1 KDSPX SET UP ENTRY COUNTER BX6 X1 SA6 BUILDC EQ KDSP2 KDSP8 SX7 0 SET UP DUMMY SECOND ARGUMENT SA7 ARGR+1 KDSP9 SA1 ARGR GET FIRST ARGUMENT SX2 X1-1R= SX3 X1-1R- ZR X2,KDSP10 IF = SEPARATOR NZ X3,KDSP5 IF ERROR KDSP10 SA6 KDSPX SAVE ENTRY NUMBER SA5 A1+B1 GET NEXT ARGUMENT SB7 B1 ASSUME DECIMAL SA1 DI GET DISPLAY MODE ZR X1,KDSP5 IF GENERAL INFO. SX1 X1-2 SEE IF SLOT TABLE NZ X1,KDSP12 IF NOT SLOT TABLE RJ DXB CONVERT NZ X4,KDSP5 IF ERROR NG X6,KDSP5 IF ILLEGAL SLOT VALUE SA1 KDSPX GET SLOT ENTRY NUMBER SX2 X1-366 PL X2,KDSP5 IF ENTRY NUMBER TO BIG ZR X1,KDSP11 IF ZERO SLOT ENTRY SX5 X6-31 PL X5,KDSP5 IF SLOT VALUE TOO BIG SA6 X1+SLOT EQ KDSP1 KDSP11 SX5 X6-366 PL X5,KDSP5 IF SLOT VALUE TOO BIG SA6 X1+SLOT EQ KDSP1 KDSP12 PL X1,KDSP13 IF NOT REQUIRED PACKS TABLE SX1 X6-MXDSU+1 SEE IF ENTRY NUMBER TOO LARGE PL X1,KDSP5 ZR X6,KDSP5 IF ENTRY NUMBER ZERO BX7 X5 STORE ENTRY SA7 X6+REQPK-1 EQ KDSP1 * /--- BLOCK SOURCEZ 00 000 81/04/21 09.17 * VSN TABLE KDSP13 ZR X6,KDSP5 ILLEGAL ENTRY NUMBER SX1 X6-4001 PL X1,KDSP5 ILLEGAL ENTRY NUMBER ZR X2,KDSP14 IF ONLY ONE TO SET NZ X3,KDSP5 IF NOT MINUS SEPARATOR RJ DXB CONVERT SECOND ARGUMENT NZ X4,KDSP5 IF ERROR NG X6,KDSP5 IF NEGATIVE ENTRY NUMBER KDSP14 SA5 KDSPX FIRST ENTRY VALUE IX7 X6-X5 COMPARE FIRST AND SECOND ENTRY NG X7,KDSP5 SECOND .LT. FIRST SX1 X6-4001 PL X1,KDSP5 ENTRY NUMBER TOO LARGE SA4 MESS MESSAGE TO STORE SA3 S SPECIFIED SLOT NUMBER MX2 48 MESSAGE/SLOT MASK BX4 X2*X4 ISOLATE MESSAGE KDSP15 IX1 X5+X5 OFFSET IN SLOT TABLE SA1 X1+VSN-1 GET ENTRY ZR X1,KDSP17 IF NULL ENTRY SA1 A1-B1 MESSAGE ENTRY BX7 -X2*X1 SLOT NUMBER IX1 X7-X3 COMPARE SLOTS ZR X3,KDSP16 IF ALL SLOTS ALLOWED NZ X1,KDSP17 IF WRONG SLOT KDSP16 BX7 X4+X7 MERGE MESSAGE AND SLOT SA7 A1+ STORE IN VSN KDSP17 SX5 X5+B1 GO TO NEXT VSN ENTRY IX1 X6-X5 COMPARE WITH LAST PL X1,KDSP15 IF NOT DONE EQ KDSP1 SHOW SCREEN KDSP18 RJ INITPAR INITIALIZE PARAMETER BLOCK EQ KDSP1 KDSPX DATA 0 NUMBER OF ARGS * /--- BLOCK SOURCEZ 00 000 81/04/21 10.38 MOVEL SPACE 4 ** MOVEL - MOVE CODED LINE TO LEFT SCREEN BUFFER * * MOVES A CODED LINE TO LEFT DISPLAY BUFFER IF ROOM. * IF NO ROOM, OUTPUT MESSAGE *+ FOR MORE*, AND * WAIT FOR KEYBOARD INPUT. IF INPUT =*+*, THEN * ZERO BUFFER AFTER HEADER AND MOVE LINE. * * ENTRY B1=1 * B6=ADDRESS OF CODED LINE * IF B6=0, END MESSSAGE SENT * WLINE, WHDR, LLINE, LHDR SET(INIT. 0,1,0,0) * * EXIT X6=0, LINE MOVED OK * X6.NE.0, INFORMATION IN KEYBOARD BUFFER * WLINE, LLINE RESET MOVEL DATA 0 ENTRY/EXIT MVL1 ZR B6,MVL7 IF END MESSAGE MX7 -12 CHARACTER MASK SB7 B0 WORD COUNTER MVL2 SA1 B6+B7 GET NEXT WORD BX6 -X7*X1 SEE IF BOTTOM 12 BITS ARE ZERO ZR X6,MVL3 IF END OF LINE SB7 B7+B1 BUMP WORD COUNT EQ MVL2 MVL3 SA1 WLINE CURRENT WORD COUNT SB7 B7+B1 CORRECT WORD COUNT FOR LINE SX6 X1+B7 TOTAL INCLUDING THIS LINE SX7 X6-1000B-3 PL X7,MVL5 IF NOT ENOUGH ROOM IN BUFFER SA6 A1 UPDATE WORD COUNT SA2 LLINE UPDATE NUMBER OF LINES SX6 X2+B1 SA6 A2 SB4 B0 MOVE COUNTER SA3 MAXK CHECK IF TOO MANY LINES IX6 X2-X3 PL X6,MVL5 SB5 X1+LSCR FIRST STOREAGE ADDRESS MVL4 SA1 B6+B4 NEXT WORD TO TRANSFER BX6 X1 SA6 B5+B4 STORE IN LEFT SCREEN BUFFER SB4 B4+B1 BUMP COUNTER LT B4,B7,MVL4 IF NOT DONE MX6 0 OK FLAG EQ MOVEL EXIT MVL5 SA2 =10L+ FOR MORE MORE INFO MESSAGE MVL6 BX6 X2 SX7 B6 SAVE FWA OF MESSAGE SA6 LSCR+X1 PUT IN SCREEN BUFFER SA7 LSAVE SB6 A6+B1 ZERO REST OF SCREEN BUFFER SB7 X1-777B SB7 -B7 RJ ZERO RJ WAINP WAIT FOR KEYBOARD INPUT NZ X6,MOVEL EXIT WITH ERROR FLAG RJ SETBUF SET UP BUFFER SA1 LSAVE RESTORE FWA OF LINE SB6 X1 MX6 0 ZR B6,MOVEL EXIT IF END MESSAGE EQ MVL1 TRY IT AGAIN MVL7 SA2 =3LEND END MESSAGE SA1 WLINE WORD COUNT EQ MVL6 MOVE END MESSAGE * /--- BLOCK SOURCEZ 00 000 81/03/10 12.23 OUTBLK SPACE 4 ** OUTBLK - OUTPUT BLANKS * * B7=6*CHAR COUNT OUTBLK DATA 0 ENTRY/EXIT SA1 =10H BLANKS BX6 X1 RJ MVEB EQ OUTBLK OUTDIV SPACE 4 ** OUTDIV - OUTPUT DIVIDE SIGN (/) OUTDIV DATA 0 ENTRY/EXIT SA1 =1L/ OUTPUT DIVIDE SIGN BX6 X1 SB7 6 RJ MVEB EQ OUTDIV OUTPER SPACE 4 ** OUTPER - OUTPUT PERIOD OUTPER DATA 0 ENTRY/EXIT SA1 =1L. OUTPUT PERIOD BX6 X1 SB7 6 RJ MVEB EQ OUTPER OUT2 SPACE 4 ** OUT2 - OUTPUT 2 CHARACTERS * * ENTRY X1=NUMBER TO BE PUT IN BUILD BUFFER OUT2 DATA 0 ENTRY/EXIT RJ CDD CONVERT LX6 6*8 OUTPUT 2 CHARACTERS SB7 12 RJ MVEB EQ OUT2 OUT3 SPACE 4 ** OUT3 - OUTPUT 3 CHARACTERS * * ENTRY X1=NUMBER TO BE PUT IN BUILD BUFFER OUT3 DATA 0 ENTRY/EXIT RJ CDD CONVERT LX6 6*7 OUTPUT 3 CHARACTERS SB7 18 RJ MVEB EQ OUT3 OUT4 SPACE 4 ** OUT4 - OUTPUT 4 CHARACTERS * * ENTRY X1=NUMBER TO BE PUT IN BUILD BUFFER OUT4 DATA 0 ENTRY/EXIT RJ CDD CONVERT LX6 6*6 OUTPUT 4 CHARACTERS SB7 24 RJ MVEB EQ OUT4 SETBUF SPACE 4 ** SETBUF - SET UP BUFFER * * ZEROS NON-HEADER PORTION OF BUFFER * ZERO KEYBOARD BUFFER * SETS POINTER TO REFLECT HEADER SETBUF DATA 0 ENTRY/EXIT SA1 WHDR ZERO BUFFER AND SET LINE COUNT SA2 LHDR BX6 X1 BX7 X2 SA6 WLINE SA7 LLINE SB6 X1+LSCR SB7 X1-1000B - WORD COUNT SB7 -B7 RJ ZERO SB6 KBUF ZERO KEYBOARD BUFFER SB7 KEND-KBUF RJ ZERO EQ SETBUF * /--- BLOCK SOURCEZ 00 000 81/03/10 09.05 SETK SPACE 4 ** SETK - SET UP K-DISPLAY PARAMETERS SETK DATA 0 ENTRY/EXIT .NOS23 IFGE "MODLEVEL",617D CSTATUS CTYPE GET CONSOLE TYPE SA1 CTYPE MX6 12 BX1 X6*X1 ZR X1,SETK0 IF CC545 CONSOLE SX6 MAXK721 RESET MAX LINES SA6 MAXK .NOS23 ENDIF SETK0 SX6 B1 SET UP SCREEN BUFFERS SA6 WLINE NUMBER OF WORDS LX6 48 SX7 0 SA7 LLINE LINE COUNT SA6 LSCR SET DISPLAY MODES SA6 RSCR SB6 PLINE MOVE HEADER LINES RJ MOVEL SB6 =1L RJ MOVEL SA1 DI SEE WHICH DISPLAY NZ X1,SETK1 IF NOT GENERAL INFO SB6 LINE1 RJ MOVEL SB6 LINE2 RJ MOVEL EQ SETKX FINISH UP SETK1 SX1 X1-1 NZ X1,SETK2 IF NOT REQUIRED PACKS TABLE SB6 LINE3 RJ MOVEL SB6 LINE4 RJ MOVEL EQ SETKX FINISH UP SETK2 SX1 X1-1 NZ X1,SETK3 IF NOT SLOT TABLE SB6 LINE5 RJ MOVEL SB6 LINE6 RJ MOVEL EQ SETKX FINISH UP SETK3 BSS 0 VSN TABLE SB6 LINE7 RJ MOVEL SB6 LINE8 RJ MOVEL SETKX SA1 WLINE NUMBER OF WORDS IN HEADER BX6 X1 SA6 WHDR SX6 4 NUMBER OF LINES IN HEADER SA6 LHDR SX6 B0 CLEAR BUILD COUNTER SA6 BUILDC CONSOLE CMA CALL CONSOLE EQ SETK CTYPE BSS 1 * /--- BLOCK SOURCEZ 00 000 81/04/21 09.12 SETPAR SPACE 4 ** SETPAR - SETUP PARAMETERS * * CONVERT DATE/SLOT PARAMETERS * * EXIT X4=0 IF OK, X4.NE.0 IF ERROR SETPAR DATA 0 ENTRY/EXIT SA5 RR SEE IF REREAD REQUESTED ZR X5,SETP1 NO MX6 0 SA6 A5 CLEAR FLAG RJ RDPARAM REREAD DATA SETP1 SA5 WR SEE IF WRITE REQUESTED ZR X5,SETP2 NO MX6 0 SA6 A5 CLEAR FLAG RJ WRPARAM WRITE DATA SETP2 SA5 SLT CONVERT SLOT SX6 B1 IX6 X5-X6 MX4 0 EXIT FLAG SB7 B1 BASE FLAG = DECIMAL ZR X6,SETP3 RJ DXB CONVERT SETP3 NZ X4,SETPAR IF ERROR SA6 S STORE CONVERTED NUMBER SA5 DAF CONVERT DAILY SX6 B1 IX6 X5-X6 MX4 0 EXIT FLAG SB7 B1 BASE FLAG = DECIMAL ZR X6,SETP4 RJ DXB CONVERT NZ X4,SETPAR IF ERROR SA6 DA STORE CONVERTED NUMBER SETP4 SA5 WKF CONVERT WEEKLY SX6 B1 IX6 X5-X6 MX4 0 EXIT FLAG SB7 B1 BASE FLAG = DECIMAL ZR X6,SETP5 RJ DXB CONVERT NZ X4,SETPAR IF ERROR SA6 WK STORE CONVERTED NUMBER SETP5 SA1 DA ADD DAILY AND WEEKLY SA2 WK IX4 X1+X2 SX4 X4-30 COMPARE WITH MAXIMUM ZR X4,SETP6 IF 30 EXACTLY PL X4,SETPAR IF .GT. 30 (ERROR) SETP6 SA5 SS SEE IF SET SLOT SELECTED ZR X5,SETP7 NO MX6 0 SA6 A5 CLEAR FLAG RJ SETSLOT SET SLOT SETP7 SA5 ND CONVERT NUMBER OF DATASETS SX6 B1 IX6 X5-X6 MX4 0 EXIT FLAG SB7 B1 BASE FLAG = DECIMAL ZR X6,SETPAR SX7 B1 CLEAR ND FLAG SA7 A5 RJ DXB CONVERT NZ X4,SETPAR IF ERROR SA6 PARAM+PDNUM STORE CONVERTED NUMBER EQ SETPAR * /--- BLOCK SOURCEZ 00 000 81/04/21 10.17 WAINP SPACE 4 ** WAINP - WAIT FOR KEYBOARD INPUT * * EXIT X6=0, FIRST CHARACTER OF INPUT IS A *+* WAINP DATA 0 SX6 0 SA6 KBUF ZERO KEYBOARD BUFFER WAI1 RECALL WAIT FOR USER INPUT SA1 KBUF SEE IF USER INPUT ZR X1,WAI1 IF NO INPUT MX6 6 SEE IF *+* BX6 X6*X1 LX6 6 SX6 X6-1R+ EQ WAINP TITLE TERMINATION PROGRAMS * END PROGRAM END ENDRUN ABORT SX6 MSG1 RJ TRIPMSG SX6 MSG2 RJ TRIPMSG MESSAGE MSG3 SX6 MSG2 RJ TRIPMSG SX6 MSG1 RJ TRIPMSG ABORT TITLE MESSAGES, BUFFERS, DATA AREAS AND COM DECKS * DISPLAY MESSAGES INMSG DIS ,* ERROR IN PARAMETERS.* MSG1 DIS ,Z ******************************Z MSG2 DIS ,Z *** ***Z MSG3 DIS ,Z *** ERRORS ***Z PLINE DIS ,* BACKUP TABLES* LINE1 DIS ,* GENERAL INFORMATION* LINE2 DIS ,* * LINE3 DIS ,* REQUIRED PACKS TABLE* LINE4 DIS ,* * LINE5 DIS ,* SLOT TABLE* LINE6 DIS ,*SLOT 0 IS A POINTER TO THE CURRENT SLOT* LINE7 DIS ,* VSN TABLE* LINE8 DIS ,* T/D VSN SLOT DATE HR MESSAGE* PAR1 DATA 20HBACKUPS LAST RUN AT PAR2 DATA 0 DATE DATA 0 TIME DATA 0 PAR7 DATA 20HNUMBER OF DATASETS PAR8 DATA 0 DATA 0 PAR3 DATA 20HCURRENT SLOT POINTER PAR4 DATA 0 DATA 0 PAR5 DATA 20HCURRENT SLOT VALUE PAR6 DATA 0 DATA 0 * /--- BLOCK SOURCEZ 00 000 81/04/21 08.46 * ARGUMENT TABLE ARGTBL BSS 0 ARGT BSS 0 VFD 12/2LRP,18/ONE,30/DI VFD 12/2LGI,18/ZRO,30/DI VFD 12/2LND,18/ONE,30/ND VFD 12/2LST,18/TWO,30/DI VFD 12/2LVS,18/THREE,30/DI VFD 12/2LSL,18/ONE,30/SLT VFD 12/2LDA,18/ONE,30/DAF VFD 12/2LWK,18/ONE,30/WKF VFD 12/2LRR,18/ONE,30/RR VFD 12/2LWR,18/ONE,30/WR VFD 12/2LSS,18/ONE,30/SS VFD 12/1LM,18/ZRO,30/MESS ARGTBLE DATA 0 END OF TABLE * COUNTERS AND PARAMETERS Z DATA 0 EXTENDED PARAMETER FLAG S DATA 0 SLOT VALUE ND DATA 1 NUMBER OF DATASETS FLAG SLT DATA 0 SLOT FLAG RR DATA 0 RE-READ FLAG WR DATA 0 WRITE FLAG SS DATA 0 SET SLOT FLAG DAF DATA 1 DAILY FLAG WKF DATA 1 WEEKLY FLAG DA DATA 6 DAILY DEFAULT (6 DAILY DUMPS) WK DATA 24 WEEKLY DEFAULT (24) MESS DATA 0 MESSAGE AREA ONE DATA 1 CONSTANT ONE ZRO DATA 0 CONSTANT ZERO TWO DATA 2 CONSTANT TWO THREE DATA 3 CONSTANT THREE DI DATA 0 DISPLAY FLAG WLINE DATA 0 NUMBER OF WORDS USED IN BUFFER LLINE DATA 0 NUMBER OF LINES IN BUFFER WHDR DATA 1 NUMBER OF WORDS IN HEADER LHDR DATA 0 NUMBER OF LINES IN HEADER LSAVE DATA 0 SAVE FWA OF LINE MAXK CON MAXK545 MAX LINES ON K-DISPLAY CMA VFD 24/KBUF,18/RSCR,18/LSCR K-SCREEN PARAMS * RESERVE BUFFER SPACE IBUF BSSZ IBUFL CIRCULAR BUFFER FOR I * OBUF BSSZ OBUFL CIRCULAR BUFFER FOR O * ABUF BSSZ ABUFL CIRCULAR BUFFER FOR A PARAM BSSZ MBPARM*BLKSZE PARAMETER TABLE SLOT BSSZ MBSLOT*BLKSZE SLOT TABLE LAB BSSZ MBLAB*BLKSZE LOOK ASIDE BUFFER VSN BSSZ MBVSN*BLKSZE VSN TABLE REQPK EQU PARAM+PREQP REQUIRED PACKS TABLE * SCREEN LOCATIONS SCREEN BSSZ 2030B SCREEN BUFFERS RSCR EQU SCREEN RIGHT SCREEN LSCR EQU RSCR+1000B LEFT SCREEN KFILL EQU LSCR+1000B KEYBOARD FILL IN COMMAND KBUF EQU KFILL+1 KEYBOARD BUFFER KEND EQU KBUF+9 END OF KEYBOARD BUFFER BUILD EQU KEND BUILD OUTPUT LINE BEND EQU BUILD+7 END OF BUFFERS * /--- BLOCK SOURCEZ 00 000 81/04/29 09.09 * COMMON DECKS. *CALL COMCCIO *CALL COMCRDS *CALL COMCRDW *CALL COMCSYS *CALL COMCWTS *CALL COMCWTW *CALL COMCCDD *CALL COMCWOD *CALL COMCMVE *CALL COMCSFN *CALL COMCCPM *CALL COMCPFM *CALL COMCLFM *CALL PLACARG *CALL COMCDXB ORG RSCR+1 DIS ,* BACKMOD PARAMETER HELP SEQUENCE* DIS ,* * DIS ,* K.GI. GENERAL INFORMATION PAGE* DIS ,* K.ND=N - SET THE NUMBER OF DATASETS* DIS ,* * DIS ,* K.RP. REQUIRED PACKS PAGE* DIS ,* K.N=PACK - STORE PACKNAME AT N* DIS ,* * DIS ,* K.ST. SLOT TABLE PAGE* DIS ,* K.N=M - STORE M AT SLOT N* DIS ,* K.DA=M - SET DAILY CYCLE* DIS ,* K.WK=M - SET WEEKLY CYCLE* DIS ,* K.SS - SET SLOT TABLE USING DA AND WK* DIS ,* SLOT 0 IS POINTER TO NEXT SLOT TO USE* DIS ,* * DIS ,* K.VS. VSN TABLE PAGE* DIS ,* K.SL=NN - SELECT SLOT ENTRIES* DIS ,* K.M=MESSAGE - SETUP MESSAGE FOR VSN(S)* DIS ,* K.N START DISPLAY AT VSN ENTRY N* DIS ,* K.N= STORE MESSAGE AT VSN ENTRY N* DIS ,* K.1-4000 STORE MESSAGE AT ALL ENTRIES* DIS ,* K.M-N STORE MESSAGE AT ENTRIES M - N* DIS ,* MESSAGES WILL ONLY BE STORED AT VSNS WITH* DIS ,* CORRECT SLOT VALUES IF K.SL=NN SELECTED* DIS ,* * DIS ,* K.RR. REREAD FROM DISK - K.WR WRITE TO DISK* DIS ,* K.INITIALIZE. INITIALIZE* DIS ,* K.STOP. OR K.END. - EXIT.* DIS ,* * DIS ,* K.+ WILL ADVANCE THE ENTRIES OR START OVER* DIS ,* IF AT THE END OF THE ENTRIES* DATA 0 ORG * END BACKMOD