; Make CMS or OS SL tape at 1600 or 6250 bpi. Choose between the Kermit ; mainframe or micros section. EXEC TERSE NOLOG SET ESC % COMM @ N1 0 CP LINK KERMIT 197 397 RR RDFROG CP LINK KERMIT 198 398 RR RDFROG ACC 397 C ACC 398 D SET STOR FREE 80 ; Get number of files that should be written out to the tape. ; For first Kermit area. CMQ Q DISK C (STACK FIFO READ STR S1 READ STR S1 @ S1 SUBSTR("%S1",36) CLEAR STACK SCAN "%S1" @ N3 SCKW CLEAR STACK ; For second Kermit area. CMQ Q DISK D (STACK FIFO READ STR S1 READ STR S1 @ S1 SUBSTR("%S1",36) CLEAR STACK SCAN "%S1" @ N4 SCKW CLEAR STACK ; Get more info. READ STR S0 PRO 'Are you starting fresh (Y/N) ..' IF (S0 EQ 'Y') GOTO GETINFO READ VAL N0 PRO 'How many tapes left to write ..' GOTO GOTT GETINFO: READ VAL N0 PRO 'How many tapes would you like to write ..' CMS TELL OP I need to write %N0 Kermit tapes CMS TELL OP Please let me know when you are ready WAITT: COMM Wait until get msg from Operator. Wakeup on carriage return. CP SL READ STR S0 PRO 'Did you get your requested tapes (Y/N) ..' IF (S0 EQ 'Y') GOTO GOTT MSGOP: READ STR S0 PRO 'Do you need to send a msg to the Operator (Y/N) ..' IF (S0 EQ 'N') GOTO WAITT READ STR S0 PRO 'Enter msg to send ..' CMS TELL OP %S0 GOTO MSGOP GOTT: @ N1 = N1 + 1 COMM For tape number %N1 .... GETTYPE: READ STR S2 PRO 'Is tape CMS or OS ..' IF (S2 EQ 'CMS') GOTO GETBPI IF (S2 EQ 'OS') GOTO GETBPI GOTO GETTYPE GETBPI: READ STR S3 PRO 'Is bpi 1600 or 6250 ..' IF (S3 EQ '1600') GOTO GETFORM IF (S3 EQ '6250') GOTO GETFORM GOTO GETBPI GETFORM: READ STR S1 PRO 'Area A (micros) or B (mainframes) ..' IF (S1 EQ 'A') GOTO MOUNTT IF (S1 EQ 'B') GOTO MOUNTT GOTO GETFORM MOUNTT: COMM Tape number %N1 is %S2 %S3 from group %S1 READ STR S0 PRO 'Is this correct (Y/N) ..' IF (S0 EQ 'Y') GOTO MOUNT0 GOTO GETTYPE MOUNT0: CMS TELL OP Label tape %N1 as: %S2 %S3 number %N1 group %S1 COMM Requesting tape mount now. You will be hung until the COMM tape is mounted. SP CONS STOP CLOSE SP CONS TO * START COMM Ask BATCH for setup notape SMSG BATCH SETUP NOTAPE WTAP: SLEEP 10 SEC CPQ Q V 181 IF (RC NE 0) GOTO WTAP COMM Ask BATCH for secondary setup SMSG BATCH SETUP VOL KERMCO RING SECOND COMM Do the rewind CMS TAPE REW COMM Tape %N1, %S2 %S3 group %S1, is now being written. IF (S1 EQ 'A') @ N9 N3 IF (S1 EQ 'B') @ N9 N4 IF (S1 EQ 'A') ACC 397 B IF (S1 EQ 'B') ACC 398 B WRITET: ; SET STOR MIN IF (S2 EQ 'CMS') CMS CCDUMP %S3 IF (S2 EQ 'OS') XCMS EXEC OSDUMP %S3 CP REW 181 SCR TAPE MAP A NOMSG IF (S2 EQ 'CMS') CMS VMFPLC2 SCAN * * (DISK IF (S2 EQ 'OS') XCMS TPLABELS 181 FILE TAPE MAP A1 ; SET STOR MAX SET A4 CLEAR ACT U TAPE MAP A IF (S2 EQ 'CMS') D F,L IF (S2 EQ 'CMS') GOTO CHKT P 'OSTAPE ASSEMBLE' N IF (CURRENT EQ -1) COMM Ostape Assemble is not the first file IF (CURRENT EQ -1) GOTO NOTOK DEL F/CURRENT DEL L CHKT: NUMBER IF (N9 EQ LINES) GOTO ISOK COMM The number of files on the tape does not match the COMM number of files on the disk. IF (N9 GT LINES) COMM Some files are missing. IF (N9 LT LINES) COMM The log file has extra lines. NOTOK: COMM Do you want to (A) rewrite the tape or (B) dismount it? READ STR S0 PRO 'A or B ..' IF (S0 EQ 'B') GOTO BADT COMM Rewriting tape %N1 CP REW 181 GOTO WRITET ISOK: U TAPE MAP A CLR @ S0 "TAPE" || %N1 || "%S1" @ FN %S0 @ S0 "%S2" || "%S3" SET FT %S0 PRINT @ S9 'Correctly' CP REW 181 CP DET 181 GOTO DONE BADT: CP REW 181 CP DET 181 @ S9 'Incorrectly' GOTO DONE DONE: COMM COMM Tape %N1 written %S9 COMM CMS TELL OP Please put tape in Bin 7 Watson. Thanks. SP CONS STOP CLOSE IF (N1 NE N0) GOTO GOTT QUIT CLEAR