home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / tapeutils.tar.gz / tapeutils.tar / maketape.wyl next >
Text File  |  1988-08-02  |  4KB  |  153 lines

  1. ; Make CMS or OS SL tape at 1600 or 6250 bpi.  Choose between the Kermit
  2. ; mainframe or micros section.
  3. EXEC TERSE NOLOG
  4. SET ESC %
  5. COMM
  6. @ N1 0
  7. CP LINK KERMIT 197 397 RR RDFROG
  8. CP LINK KERMIT 198 398 RR RDFROG
  9. ACC 397 C
  10. ACC 398 D
  11. SET STOR FREE 80
  12.  
  13. ; Get number of files that should be written out to the tape.
  14. ; For first Kermit area.
  15. CMQ Q DISK C (STACK FIFO
  16. READ STR S1
  17. READ STR S1
  18. @ S1 SUBSTR("%S1",36)
  19. CLEAR STACK
  20. SCAN "%S1"
  21. @ N3 SCKW
  22. CLEAR STACK
  23. ; For second Kermit area.
  24. CMQ Q DISK D (STACK FIFO
  25. READ STR S1
  26. READ STR S1
  27. @ S1 SUBSTR("%S1",36)
  28. CLEAR STACK
  29. SCAN "%S1"
  30. @ N4 SCKW
  31. CLEAR STACK
  32. ; Get more info.
  33. READ STR S0 PRO 'Are you starting fresh (Y/N) ..'
  34. IF (S0 EQ 'Y') GOTO GETINFO
  35. READ VAL N0 PRO 'How many tapes left to write ..'
  36. GOTO GOTT
  37. GETINFO:
  38. READ VAL N0 PRO 'How many tapes would you like to write ..'
  39. CMS TELL OP I need to write %N0 Kermit tapes
  40. CMS TELL OP Please let me know when you are ready
  41. WAITT:
  42. COMM Wait until get msg from Operator.  Wakeup on carriage return.
  43. CP SL
  44. READ STR S0 PRO 'Did you get your requested tapes (Y/N) ..'
  45. IF (S0 EQ 'Y') GOTO GOTT
  46. MSGOP:
  47. READ STR S0 PRO 'Do you need to send a msg to the Operator (Y/N) ..'
  48. IF (S0 EQ 'N') GOTO WAITT
  49. READ STR S0 PRO 'Enter msg to send ..'
  50. CMS TELL OP %S0
  51. GOTO MSGOP
  52. GOTT:
  53. @ N1 = N1 + 1
  54. COMM For tape number %N1 ....
  55. GETTYPE:
  56. READ STR S2 PRO 'Is tape CMS or OS ..'
  57. IF (S2 EQ 'CMS') GOTO GETBPI
  58. IF (S2 EQ 'OS')  GOTO GETBPI
  59. GOTO GETTYPE
  60. GETBPI:
  61. READ STR S3 PRO 'Is bpi 1600 or 6250 ..'
  62. IF (S3 EQ '1600') GOTO GETFORM
  63. IF (S3 EQ '6250') GOTO GETFORM
  64. GOTO GETBPI
  65. GETFORM:
  66. READ STR S1 PRO 'Area A (micros) or B (mainframes) ..'
  67. IF (S1 EQ 'A') GOTO MOUNTT
  68. IF (S1 EQ 'B') GOTO MOUNTT
  69. GOTO GETFORM
  70. MOUNTT:
  71. COMM Tape number %N1 is %S2 %S3 from group %S1
  72. READ STR S0 PRO 'Is this correct (Y/N) ..'
  73. IF (S0 EQ 'Y') GOTO MOUNT0
  74. GOTO GETTYPE
  75. MOUNT0:
  76. CMS TELL OP Label tape %N1 as: %S2 %S3 number %N1 group %S1
  77. COMM Requesting tape mount now.  You will be hung until the
  78. COMM tape is mounted.
  79. SP CONS STOP CLOSE
  80. SP CONS TO * START
  81. COMM Ask BATCH for setup notape
  82. SMSG BATCH SETUP NOTAPE
  83. WTAP:
  84. SLEEP 10 SEC
  85. CPQ Q V 181
  86. IF (RC NE 0) GOTO WTAP
  87. COMM Ask BATCH for secondary setup
  88. SMSG BATCH SETUP VOL KERMCO RING SECOND
  89. COMM Do the rewind
  90. CMS TAPE REW
  91. COMM Tape %N1, %S2 %S3 group %S1, is now being written.
  92. IF (S1 EQ 'A') @ N9 N3
  93. IF (S1 EQ 'B') @ N9 N4
  94. IF (S1 EQ 'A') ACC 397 B
  95. IF (S1 EQ 'B') ACC 398 B
  96. WRITET:
  97. ; SET STOR MIN
  98. IF (S2 EQ 'CMS') CMS CCDUMP %S3
  99. IF (S2 EQ 'OS')  XCMS EXEC OSDUMP %S3
  100. CP REW 181
  101. SCR TAPE MAP A NOMSG
  102. IF (S2 EQ 'CMS') CMS VMFPLC2 SCAN * * (DISK
  103. IF (S2 EQ 'OS')  XCMS TPLABELS 181 FILE TAPE MAP A1
  104. ; SET STOR MAX
  105. SET A4
  106. CLEAR ACT
  107. U TAPE MAP A
  108. IF (S2 EQ 'CMS') D F,L
  109. IF (S2 EQ 'CMS') GOTO CHKT
  110. P 'OSTAPE ASSEMBLE' N
  111. IF (CURRENT EQ -1) COMM Ostape Assemble is not the first file
  112. IF (CURRENT EQ -1) GOTO NOTOK
  113. DEL F/CURRENT
  114. DEL L
  115. CHKT:
  116. NUMBER
  117. IF (N9 EQ LINES) GOTO ISOK
  118. COMM The number of files on the tape does not match the
  119. COMM number of files on the disk.
  120. IF (N9 GT LINES) COMM Some files are missing.
  121. IF (N9 LT LINES) COMM The log file has extra lines.
  122. NOTOK:
  123. COMM Do you want to (A) rewrite the tape or (B) dismount it?
  124. READ STR S0 PRO 'A or B ..'
  125. IF (S0 EQ 'B') GOTO BADT
  126. COMM Rewriting tape %N1
  127. CP REW 181
  128. GOTO WRITET
  129. ISOK:
  130. U TAPE MAP A CLR
  131. @ S0 "TAPE" || %N1 || "%S1"
  132. @ FN %S0
  133. @ S0 "%S2" || "%S3"
  134. SET FT %S0
  135. PRINT
  136. @ S9 'Correctly'
  137. CP REW 181
  138. CP DET 181
  139. GOTO DONE
  140. BADT:
  141. CP REW 181
  142. CP DET 181
  143. @ S9 'Incorrectly'
  144. GOTO DONE
  145. DONE:
  146. COMM
  147. COMM Tape %N1 written %S9
  148. COMM
  149. CMS TELL OP Please put tape in Bin 7 Watson.  Thanks.
  150. SP CONS STOP CLOSE
  151. IF (N1 NE N0) GOTO GOTT
  152. QUIT CLEAR
  153.