Table of Contents

LDISTAP

Table Of Contents

  • [00013] LDISTAP - TAPE MANAGEMENT UTILITY.
  • [00015] TAPE MANAGEMENT UTILITY.
  • [00382] PROGRAM MACROS AND EQUIVALENCES.
  • [00406] PROGRAM MACROS AND EQUIVALENCES.
  • [00408] ABTMSG - ABORT PROGRAM WITH DAYFILE MESSAGE.
  • [00430] CLEAR - CLEAR BUFFER.
  • [00459] LDIS - RESERVE L-DISPLAY ENTRY.
  • [00501] LDISE - END L-DISPLAY LINE.
  • [00521] LDISS - START L-DISPLAY LINE.
  • [00547] MBSATA - MOVE BIT STRING FROM ADDRESS TO ADDRESS.
  • [00587] MBSXTA - MOVE BIT STRING FROM X-REGISTER TO ADDRESS.
  • [00638] RDMEM - READ MEMORY INTO BUFFER.
  • [00677] RJM - RETURN JOB TO ADDRESS IN REGISTER.
  • [00704] SRCHTAB - SEARCH TABLE.
  • [00799] DATA AREA.
  • [00836] TCOM - TABLE OF INPUT COMMANDS.
  • [00857] TDPR - TABLE OF DISPLAY PROCESSORS.
  • [00866] TFCM - TABLE OF FAMILY CATALOG MESSAGE ADDRESSES.
  • [00880] TFCP - TABLE OF FAMILY CATALOG PROCESSORS
  • [00895] TNDP - TABLE OF NUMBER OF DISPLAY PAGES.
  • [00969] TMSDIS MAIN PROGRAM.
  • [00971] TMSDIS - MAIN PROGRAM.
  • [01077] ABT - ABORT PROGRAM.
  • [01094] END - TERMINATE PROGRAM.
  • [01108] RPV - REPRIEVE PROCESSOR.
  • [01141] COMMAND SUBROUTINES.
  • [01143] COP - PROCESS *COPY* COMMAND.
  • [01172] DRO - PROCESS *DROP* OR *END* COMMAND.
  • [01189] FAP - PROCESS *FAM* COMMAND.
  • [01216] HEP - PROCESS *HELP* COMMAND.
  • [01243] MCP - PROCESS MINUS COMMAND.
  • [01279] PCP - PROCESS PLUS COMMAND.
  • [01314] DISPLAY SUBROUTINES.
  • [01316] BDT - BUILD DISPLAY TITLE.
  • [01380] FAM - BUILD *FAM* DISPLAY.
  • [01553] HEL - BUILD *HELP* DISPLAY.
  • [01617] SYSTEM STATUS SUBROUTINES.
  • [01619] CCB - CLEAR CATALOG BUFFER.
  • [01638] CCS - CHECK CATALOG STATUS.
  • [01717] CNF - CHECK NON-FAST ATTACHED FILE STATUS.
  • [01739] GCS - GET CATALOG STATUSES.
  • [01877] INPUT/OUTPUT SUBROUTINES.
  • [01879] GDI - GET *DISPLAY* INPUT.
  • [01907] GIN - GET INPUT.
  • [01936] GLI - GET LINE INPUT.
  • [01961] GSI - GET SCREEN INPUT.
  • [01983] IDO - ISSUE *DISPLAY* OUTPUT.
  • [02007] ILO - ISSUE LINE OUTPUT.
  • [02033] IOU - ISSUE OUTPUT.
  • [02058] ISO - ISSUE SCREEN OUTPUT.
  • [02098] COMMON SUBROUTINES.
  • [02100] ACF - ATTACH CATALOG FILE.
  • [02148] CLS - CHECK LINE MODE OUTPUT STATUS.
  • [02172] CLY - CONVERT LINE NUMBER TO Y-COORDINATE.
  • [02197] CUP - CLEAN UP PROGRAM.
  • [02251] RDM - READ MEMORY INTO BUFFER.
  • [02287] STL - SEARCH TABLE WITH DEFINED LENGTH.
  • [02314] STZ - SEARCH TABLE TERMINATED BY A ZERO WORD.
  • [02341] SWP - SWAP FAMILY AND USER INDEX.
  • [02374] VIP - VERIFY INCREMENT PARAMETER.
  • [02415] VNP - VERIFY NO MORE PARAMETERS.
  • [02460] BUFFER AREA.
  • [02531] PRESET AREA.
  • [02541] TARG - TABLE OF COMMAND ARGUMENTS.
  • [02553] TOPT - TABLE OF VALID INPUT/OUTPUT OPTIONS.
  • [02564] TDIS - TABLE OF VALID DISPLAY DIRECTIVES.
  • [02572] TTSC - TABLE OF TERMINAL SCREEN CHARACTERS.
  • [02630] PRS - PRESET PROGRAM.
  • [02870] GSF - GET SCRATCH FILE NAME.
  • [02926] GTC - GET TERMINAL CHARACTERISTICS.
  • [02965] *TMSON* AND *TMSOFF* PROGRAM AREA.
  • [02978] TARG - TABLE OF COMMAND ARGUMENTS.
  • [02989] TDEF - TABLE OF *TO* ARGUMENT OPTIONS.
  • [02999] TDES - TABLE OF *TO* ARGUMENT OPTIONS FOR SYOT JOBS.
  • [03020] TMSOFF - MAIN PROGRAM.
  • [03050] TMSON - MAIN ROUTINE.
  • [03090] ABT - ABORT PROGRAM.
  • [03115] DCF - DELETE FAMILY CATALOG FILE.
  • [03181] END - TERMINATE PROGRAM.
  • [03200] ICF - INITIALIZE FAMILY CATALOG FILE.
  • [03330] PRS - PRESET PROGRAM.
  • [03497] RPV - REPRIEVE PROCESSOR.
  • [03540] FIELD LENGTH DEFINITIONS.

Source Code

LDISTAP.txt
  1. IDENT LDISTAP,110B
  2. ABS
  3. SST CP,CSTM
  4. SYSCOM B1
  5. ENTRY LDISTAP
  6. ENTRY TMSDIS
  7. ENTRY TMSOFF
  8. ENTRY TMSON
  9. ENTRY RFL=
  10. ENTRY SSJ=
  11. *COMMENT LDISTAP - TAPE MANAGEMENT UTILITY.
  12. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  13. TITLE LDISTAP - TAPE MANAGEMENT UTILITY.
  14. LDISTAP SPACE 4,10
  15. *** LDISTAP - TAPE MANAGEMENT UTILITY.
  16. *
  17. * J. D. HOLMBECK 85/02/28.
  18. SPACE 4,10
  19. *** *TMSDIS* DISPLAYS THE STATUS OF THE TMS CATALOGS. IT CAN
  20. * CALLED FROM SYSTEM ORIGIN AS AN *L* DISPLAY UTILITY OR FROM
  21. * NON-SYSTEM ORIGIN JOBS BY VALIDATED USERS.
  22. SPACE 4,10
  23. *** TMSDIS - COMMAND FORMAT.
  24. *
  25. * THE FORMAT OF THE ORDER DEPENDENT *TMSDIS* COMMAND IS -
  26. *
  27. * TMSDIS,IDIS,MODE,LFN1,LFN2,TIME,NOBELL.
  28. *
  29. * THE FORMAT OF THE ORDER INDEPENDENT *TMSDIS* COMMAND IS -
  30. *
  31. * TMSDIS,ID=IDIS,OP=MODE,I=LFN1,L=LFN2,WT=TIME,NOBELL.
  32. *
  33. * WHERE -
  34. *
  35. * IDIS INITIAL DISPLAY. VALID VALUES FOR *IDIS* ARE *HELP*
  36. * OR *FAM*. DEFAULT IS *HELP*.
  37. *
  38. * MODE INPUT/OUTPUT OPTION. VALID VALUES FOR *MODE* ARE -
  39. *
  40. * L - L-DISPLAY. VALID ONLY FROM SYSTEM
  41. * ORIGIN.
  42. *
  43. * LINE - READ COMMANDS FROM INPUT FILE AND WRITE
  44. * DISPLAYS TO OUTPUT FILE.
  45. *
  46. * SCREEN - READ COMMANDS FROM TERMINAL INPUT FILE AND
  47. * WRITE DISPLAYS TO TERMINAL OUTPUT FILE.
  48. * DISPLAYS ARE REFRESHED WHILE WAITING FOR
  49. * INPUT. INPUT CAN BE ENTERED AFTER
  50. * ENTERING USER BREAK ONE (THE *BREAK* KEY).
  51. * VALID ONLY FROM INTERACTIVE ORIGIN.
  52. *
  53. * DEFAULT IS *L* FOR SYSTEM ORIGIN AND *LINE* FOR
  54. * NON-SYSTEM ORIGIN.
  55. *
  56. * LFN1 INPUT FILE NAME. IGNORED FOR L-DISPLAY AND SCREEN
  57. * MODES. DEFAULT IS *INPUT*.
  58. *
  59. * LFN2 OUTPUT FILE NAME. IGNORED FOR SCREEN MODE. DEFAULT IS
  60. * *OUTPUT*.
  61. *
  62. * TIME WAITING TIME IN SECONDS BEFORE A DISPLAY IS REFRESHED.
  63. * IGNORED FOR LINE MODE. A VALUE GREATER THAN 4095 IS
  64. * CONVERTED TO 4095. DEFAULT IS 2 FOR L-DISPLAY MODE
  65. * AND 10 FOR SCREEN MODE.
  66. *
  67. * NOBELL IGNORED FOR LINE AND L-DISPLAY MODES. IF *NOBELL* IS
  68. * NOT SPECIFIED, A BELL WILL SOUND AT THE TERMINAL WHEN
  69. * THE SCREEN IS REFRESHED AND WHEN THERE ARE TAPE
  70. * CATALOGS WITH ERRORS OR NO SCRATCH VSN-S.
  71. *
  72. * TO USE *TMSDIS* FROM A NON-SYSTEM ORIGIN JOB, THE USER MUST
  73. * BE VALIDATED TO USE THE TAPE FILE SUPERVISOR *TFSP*.
  74. DMESS SPACE 4,10
  75. *** DAYFILE MESSAGES.
  76. *
  77. * FOLLOWING ARE THE DAYFILE MESSAGES THAT MAY BE ISSUED BY
  78. * TMSDIS -
  79. *
  80. * INCORRECT COMMAND.
  81. * A USER THAT IS NOT VALIDATED FOR *TFSP* ATTEMPTED TO
  82. * USE *TMSDIS* FROM A NON-SYSTEM ORIGIN JOB.
  83. *
  84. * INCORRECT VALUE FOR PP PARAMETER - VVVVVVV.
  85. * THE VALUE *VVVVVVV* CANNOT BE USED FOR PARAMETER *PP*
  86. * ON THE *TMSDIS* COMMAND.
  87. *
  88. * TMSDIS COMPLETE.
  89. * *TMSDIS* NORMAL TERMINATION.
  90. *
  91. * L-DISPLAY NOT AVAILABLE.
  92. * *TMSDIS* CANNOT USE L-DISPLAY MODE AT THIS TIME
  93. * BECAUSE ANOTHER JOB HAS INTERLOCKED THE L-DISPLAY.
  94. *
  95. * UNKNOWN PARAMETER - PP.
  96. * THE PARAMETER *PP* CANNOT BE PROCESSED BY THE
  97. * *TMSDIS* COMMAND.
  98. DISPLAY SPACE 4,13
  99. *** TMSDIS DISPLAYS.
  100. *
  101. * EACH *TMSDIS* DISPLAY INCLUDES A THREE LINE HEADER WITH *TMS*
  102. * STATUS, DISPLAY NAME, PAGE NUMBER, THE NUMBER OF CATALOGS
  103. * WITH ERRORS AND THE NUMBER OF CATALOGS WITH NO AVAILABLE
  104. * SCRATCH TAPES.
  105. *
  106. * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  107. * + +
  108. * + TMSDIS. TMS ENABLED. FAM DISPLAY PAGE 1 OF 2. +
  109. * + CATALOGS WITH ERRORS= 0. CATALOGS WITH NO MT/NT SCRATCH= 2. +
  110. * + CATALOGS WITH NO CT SCRATCH= 2. CATALOGS WITH NO AT SCRATCH= 2. +
  111. * + +
  112. * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  113. HELP SPACE 4,10
  114. *** HELP DISPLAY.
  115. *
  116. * THE HELP DISPLAY LISTS THE *TMSDIS* INPUT COMMANDS THAT CAN
  117. * BE ENTERED. THE HELP DISPLAY IS INITIATED BY THE *HELP*
  118. * COMMAND. FOR EXAMPLE, PAGE 1 -
  119. *
  120. * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  121. * + +
  122. * + HELP DISPLAY VALID COMMANDS. +
  123. * + FAM DISPLAY *TMS* FAMILY TAPE CATALOG STATUSES. +
  124. * + COPY COPY CURRENT DISPLAY TO OUTPUT FILE. +
  125. * + + TOGGLE PAGE FORWARD. +
  126. * + +N TOGGLE *N* PAGES FORWARD. +
  127. * + - TOGGLE PAGE BACKWARD. +
  128. * + -N TOGGLE *N* PAGES BACKWARD. +
  129. * + END TERMINATE *TMSDIS*. +
  130. * + +
  131. * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  132. *
  133. * FOR EXAMPLE, PAGE 2 -
  134. *
  135. * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  136. * + +
  137. * + + TOGGLE PAGE FORWARD. +
  138. * + - TOGGLE PAGE BACKWARD. +
  139. * + END TERMINATE *TMSDIS*. +
  140. * + +
  141. * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  142. FAM SPACE 4,10
  143. *** FAMILY CATALOG DISPLAY.
  144. *
  145. * THE FAMILY CATALOG DISPLAY LISTS THE STATUS OF THE *TMS* TAPE
  146. * CATALOG FILE FOR EACH FAMILY ON THE SYSTEM. THE FAMILY
  147. * CATALOG DISPLAY IS INITIATED BY *FAM* COMMAND. FOR EXAMPLE -
  148. *
  149. * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  150. * + +
  151. * + FAMILY MT/NT SCRATCH CT SCRATCH AT SCRATCH +
  152. * + STATUS COUNT NXT-VSN COUNT NXT-VSN COUNT NXT-VSN +
  153. * + +
  154. * + KCP 120 KCP055 20 CK0456 60 AK0459 +
  155. * + CATALOG LINKAGE ERROR. +
  156. * + TFFAMLY 0 ------ 0 ------ 0 ------ +
  157. * + NO SCRATCH TAPES. +
  158. * + KTJ 55 KTJ133 0 ------ 231 AJ0319 +
  159. * + +
  160. * + FAMTWO * 2341 T03450 70 CF0021 1492 AF1221 +
  161. * + +
  162. * + NEWFAM 0 ------ 0 ------ 0 ------ +
  163. * + CATALOG NOT FAST-ATTACHED. +
  164. * + PFFAMLY 0 ------ 0 ------ 0 ------ +
  165. * + CATALOG NOT FOUND. +
  166. * + +
  167. * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  168. *
  169. * WHERE -
  170. *
  171. * FAMILY - FAMILY NAME. AN ASTERISK (*) WILL APPEAR AFTER THE
  172. * FAMILY NAME IF THE TAPE CATALOG IS BEING PROCESSED BY
  173. * *TMS* MEANING THAT THE INFORMATION DISPLAYED MAY NOT
  174. * UP TO DATE.
  175. *
  176. * COUNT - NUMBER OF SCRATCH VSNS OF THE SPECIFIED TAPE TYPE
  177. * (MT/NT, CT OR AT) IN THE TAPE CATALOG. THIS FIELD
  178. * IS ZERO IF THE FAMILY DOES NOT HAVE A FAST-ATTACHED
  179. * TAPE CATALOG.
  180. *
  181. * NXT-VSN - THE NEXT SCRATCH VSN OF THE SPECIFIED TAPE TYPE
  182. * (MT/NT, CT OR AT) IN THE TAPE CATALOG. THIS FIELD IS
  183. * SIX HYPHENS (------) IF NO SCRATCH TAPES OF THE
  184. * SPECIFIED TYPE ARE IN THE TAPE CATALOG. THIS FIELD
  185. * IS ALSO SIX HYPHENS IF THE FAMILY DOES NOT HAVE A
  186. * FAST-ATTACHED TAPE CATALOG.
  187. *
  188. * STATUS - STATUS MESSAGE FOR TAPE CATALOG. THIS FIELD
  189. * CONTAINS THE CONTENTS OF THE CATALOG MESSAGE BUFFER
  190. * IF THE TAPE CATALOG HAS AN ERROR CONDITION. THIS
  191. * FIELD CONTAINS *NO SCRATCH VSNS* IF *COUNT* IS ZERO
  192. * FOR ALL TAPE TYPES. THIS FIELD CONTAINS *CATALOG NOT
  193. * FAST-ATTACHED* IF THE TAPE CATALOG EXISTS BUT HAS NOT
  194. * BEEN FAST-ATTACHED. THIS FIELD CONTAINS *CATALOG NOT
  195. * FOUND* IF THE TAPE CATALOG DOES NOT EXIST.
  196. *
  197. * THE FAMILY CATALOGS ARE ORDERED IN THIS DISPLAY AS FOLLOWS -
  198. *
  199. * FAMILIES WITH CATALOG ERRORS
  200. * FAMILIES WITH NO SCRATCH VSNS
  201. * FAMILIES WITH FAST-ATTACHED CATALOGS BUT NO ERRORS
  202. * FAMILIES WITHOUT FAST-ATTACHED CATALOGS
  203. * FAMILIES WITHOUT CATALOGS
  204. COMMAND SPACE 4,10
  205. *** *TMSDIS* INPUT COMMANDS.
  206. *
  207. * *TMSDIS* COMMANDS ARE ENTERED ONE COMMAND PER INPUT LINE.
  208. * THE MAXIMUM NUMBER OF CHARACTERS PROCESSED FOR AN INPUT LINE
  209. * IS 77. AN INPUT LINE CAN OPTIONALLY BE TERMINATED BY A
  210. * PERIOD. ANY CHARACTERS FOLLOWING THE PERIOD ARE IGNORED. IF
  211. * A PARAMETER REQUIRES SPECIAL CHARACTERS, THE PARAMETER CAN BE
  212. * DOLLAR SIGN ($) DELIMITTED. FOR EXAMPLE, SUPPOSE VSN A$BC+E
  213. * IS TO BE ASSIGNED TO THE TAPE ON EQUIPMENT 65 -
  214. *
  215. * VSN,65,$A$$BC+E$.
  216. *
  217. * THE FOLLOWING ARE THE VALID *TMSDIS* INPUT COMMANDS -
  218. *
  219. * HELP
  220. * INITIATES THE HELP DISPLAY.
  221. *
  222. * FAM
  223. * INITIATES THE FAMILY TAPE CATALOG DISPLAY.
  224. *
  225. * COPY
  226. * COPIES THE CURRENT DISPLAY TO THE OUTPUT FILE. THIS
  227. * COMMAND IS IGNORED FOR SCREEN MODE.
  228. *
  229. * +N
  230. * TOGGLE THE DISPLAY *N* PAGES FORWARD. DEFAULT FOR *N*
  231. * IS 1.
  232. *
  233. * -N
  234. * TOGGLE THE DISPLAY *N* PAGES BACKWARD. DEFAULT FOR
  235. * *N* IS 1.
  236. CMESS SPACE 4,10
  237. *** COMMAND STATUS MESSAGES.
  238. *
  239. * ONE OF THE FOLLOWING MESSAGES WILL APPEAR AT THE BOTTOM OF
  240. * THE DISPLAY PAGE. THE IMAGE OF THE LAST INPUT COMMAND
  241. * ENTERED WILL APPEAR AFTER THE MESSAGE -
  242. *
  243. * INCORRECT INCREMENT
  244. * THE PAGE INCREMENT SPECIFIED WITH THE *+* OR *-*
  245. * COMMAND WAS NOT A NUMBER.
  246. *
  247. * LAST COMMAND
  248. * INDICATES THE LAST COMMAND PROCESSED WITHOUT ERRORS.
  249. *
  250. * PROCESSING
  251. * INDICATES THE CURRENT COMMAND BEING PROCESSED BY
  252. * *TMSDIS*.
  253. *
  254. * TOO MANY PARAMETERS
  255. * MORE PARAMETERS WERE SPECIFIED THAN THE COMMAND
  256. * ALLOWS.
  257. *
  258. * UNKNOWN COMMAND
  259. * THE COMMAND SPECIFIED CANNOT BE PROCESSED BY
  260. * *TMSDIS*.
  261. TMSON SPACE 4,10
  262. *** *TMSON* CAN BE CALLED FROM SYSTEM ORIGIN JOBS TO TURN ON
  263. * *TMS* TAPE CATALOG FILES FOR FAMILIES ON THE SYSTEM.
  264. TMSON SPACE 4,10
  265. *** TMSON - COMMAND FORMAT.
  266. *
  267. * THE FORMAT OF THE *TMSON* COMMAND IS -
  268. *
  269. * TMSON,FM=FNAME,DEFTO=NOPT,DEFTOS=SOPT.
  270. *
  271. * WHERE -
  272. *
  273. * FNAME FAMILY NAME OF *TMS* CATALOG TO TURN ON. IF A
  274. * SPECIFIC FAMILY NAME IS USED AND THE *TMS* CATALOG
  275. * FOR THAT FAMILY CANNOT BE TURNED ON, *TMSON* WILL
  276. * ABORT. IF AN ASTERISK (*) IS USED, *TMSON* WILL
  277. * ATTEMPT TO TURN ON THE *TMS* CATALOGS ON ALL FAMILIES
  278. * OF THE SYSTEM. AN INFORMATIVE MESSAGE WILL BE ISSUED
  279. * IF *TMSON* CANNOT TURN ON A *TMS* CATALOG FOR A
  280. * FAMILY. IF THIS PARAMETER IS NOT SPECIFIED, *TMSON*
  281. * WILL NOT TURN ON ANY *TMS* CATALOGS.
  282. *
  283. * NOPT IDENTIFIES THE DEFAULT TAPE OPTION (THE *TO*
  284. * PARAMETER) FOR *LABEL* AND *REQUEST* COMMANDS FOR
  285. * NON-SYSTEM ORIGIN JOBS. THIS PARAMETER CAN ONLY BE
  286. * SPECIFIED IF THE CALLING JOB IS RUNNING WITH THE
  287. * SUBSYSTEM ID OF *MAGNET* (*MTSI*). *NOPT* IS A STRING
  288. * WITH ONE OR MORE OF THE FOLLOWING CHARACTERS -
  289. *
  290. * T - SET THE DEFAULT TO *TO=T* (*TMS*
  291. * PROCESSING).
  292. *
  293. * F - SET THE DEFAULT TO *TO=F* (NON-*TMS*
  294. * PROCESSING).
  295. *
  296. * C - SET THE DEFAULT TO *TO=C* (CHECK FOR
  297. * CATALOG ERROR).
  298. *
  299. * E - SET THE DEFAULT TO *TO=E* (IGNORE CATALOG
  300. * ERROR).
  301. *
  302. * IF THIS PARAMETER IS NOT SPECIFIED, *TMSON* WILL NOT
  303. * CHANGE THE DEFAULT TAPE OPTION. A USER CAN CHANGE THE
  304. * DEFAULT TAPE OPTION FOR HIS OR HER JOB VIA THE
  305. * *TMSDEF* COMMAND.
  306. *
  307. * SOPT IDENTIFIES THE DEFAULT TAPE OPTION (THE *TO*
  308. * PARAMETER) FOR *LABEL* AND *REQUEST* COMMANDS FOR
  309. * SYSTEM ORIGIN JOBS. THIS PARAMETER CAN ONLY BE
  310. * SPECIFIED IF THE CALLING JOB IS RUNNING WITH THE
  311. * SUBSYSTEM ID OF *MAGNET* (*MTSI*). *NOPT* IS A STRING
  312. * WITH ONE OR MORE OF THE FOLLOWING CHARACTERS -
  313. *
  314. * T - SET THE DEFAULT TO *TO=T* (*TMS*
  315. * PROCESSING).
  316. *
  317. * F - SET THE DEFAULT TO *TO=F* (NON-*TMS*
  318. * PROCESSING).
  319. *
  320. * C - SET THE DEFAULT TO *TO=C* (CHECK FOR
  321. * CATALOG ERROR).
  322. *
  323. * E - SET THE DEFAULT TO *TO=E* (IGNORE CATALOG
  324. * ERROR).
  325. *
  326. * IF THIS PARAMETER IS NOT SPECIFIED, *TMSON* WILL NOT
  327. * CHANGE THE DEFAULT TAPE OPTION. A USER CAN CHANGE THE
  328. * DEFAULT TAPE OPTION FOR HIS OR HER JOB VIA THE
  329. * *TMSDEF* COMMAND.
  330. TMSOFF SPACE 4,10
  331. *** *TMSOFF* CAN BE CALLED FROM SYSTEM ORIGIN JOBS TO TURN OFF
  332. * *TMS* TAPE CATALOG FILES FOR FAMILIES ON THE SYSTEM.
  333. TMSOFF SPACE 4,10
  334. *** TMSOFF - COMMAND FORMAT.
  335. *
  336. * THE FORMAT OF THE *TMSOFF* COMMAND IS -
  337. *
  338. * TMSOFF,FM=FNAME.
  339. *
  340. * WHERE -
  341. *
  342. * FNAME FAMILY NAME OF *TMS* CATALOG TO TURN OFF. IF A
  343. * SPECIFIC FAMILY NAME IS USED AND THE *TMS* CATALOG
  344. * FOR THAT FAMILY CANNOT BE TURNED OFF, *TMSOFF* WILL
  345. * ABORT. IF AN ASTERISK (*) IS USED, *TMSOFF* WILL
  346. * ATTEMPT TO TURN OFF THE *TMS* CATALOGS ON ALL
  347. * FAMILIES OF THE SYSTEM. AN INFORMATIVE MESSAGE WILL
  348. * BE ISSUED IF *TMSOFF* CANNOT TURN OFF A *TMS* CATALOG
  349. * FOR A FAMILY. IF THIS PARAMETER IS NOT SPECIFIED,
  350. * *TMSOFF* WILL NOT TURN OFF ANY *TMS* CATALOGS.
  351. *
  352. * *TMSOFF* REMOVES THE FAST-ATTACH STATUS OF A *TMS* CATALOG.
  353. * *TMSON* WILL REINSTATE THE CATALOG AS FAST-ATTACHED.
  354. DMESS SPACE 4,10
  355. *** *TMSON* AND *TMSOFF* DAYFILE MESSAGES.
  356. *
  357. * FOLLOWING ARE THE DAYFILE MESSAGES THAT MAY BE ISSUED BY
  358. * *TMSON* OR *TMSOFF* -
  359. *
  360. * FAMILY NOT FOUND.
  361. * THE SPECIFIED FAMILY IS NOT ACTIVE ON THE SYSTEM.
  362. *
  363. * INCORRECT COMMAND.
  364. * *TMSON* OR *TMSOFF* WAS CALLED BY A NON-SYSTEM ORIGIN
  365. * JOB.
  366. *
  367. * INCORRECT VALUE FOR PP PARAMETER - VVVVVVV.
  368. * THE VALUE *VVVVVVV* CANNOT BE USED FOR PARAMETER *PP*
  369. * ON THE *TMSON* OR *TMSOFF* COMMAND.
  370. *
  371. * UNABLE TO TURN OFF *TMS* CATALOG FOR FFFFFFF.
  372. * THE *TMS* CATALOG FOR FAMILY *FFFFFFF* CANNOT BE
  373. * TURNED OFF AT THIS TIME.
  374. *
  375. * UNABLE TO TURN ON *TMS* CATALOG FOR FFFFFFF.
  376. * THE *TMS* CATALOG FOR FAMILY *FFFFFFF* CANNOT BE
  377. * TURNED ON AT THIS TIME.
  378. *
  379. * UNKNOWN PARAMETER - PP.
  380. * THE PARAMETER *PP* CANNOT BE PROCESSED BY THE
  381. * *TMSON* OR *TMSOFF* COMMAND.
  382. TITLE PROGRAM MACROS AND EQUIVALENCES.
  383. COMMON SPACE 4,10
  384. ** COMMON DECKS.
  385.  
  386.  
  387. *CALL COMCMAC
  388. *CALL COMCCMD
  389. *CALL COMCDCM
  390. *CALL COMSEVT
  391. *CALL COMSPFM
  392. *CALL COMSPRD
  393. *CALL COMSRPV
  394. *CALL COMSSFM
  395. *CALL COMSSSD
  396. *CALL COMSTCM
  397. QUAL TFM
  398. *CALL COMSTFM
  399. QUAL *
  400. QUAL TFU
  401. *CALL COMSTFU
  402. QUAL *
  403. QUAL MTX
  404. *CALL COMSMTX
  405. QUAL *
  406. TITLE PROGRAM MACROS AND EQUIVALENCES.
  407. ABTMSG SPACE 4,15
  408. ** ABTMSG - ABORT PROGRAM WITH DAYFILE MESSAGE.
  409. *
  410. * ABTMSG MADD
  411. *
  412. * ENTRY MADD = ADDRESS OF DAYFILE MESSAGE.
  413. *
  414. * EXIT MESSAGE ISSUED TO SYSTEM AND USER DAYFILES.
  415. * PROGRAM ABORTED.
  416. *
  417. * USES X - 5.
  418. *
  419. * CALLS ABT.
  420.  
  421.  
  422. PURGMAC ABTMSG
  423.  
  424. ABTMSG MACRO MA
  425. MACREF ABTMSG
  426. R= X5,MA
  427. EQ ABT
  428. ABTMSG ENDM
  429. CLEAR SPACE 4,15
  430. ** CLEAR - CLEAR BUFFER.
  431. *
  432. * CLEAR BUFFER,LENGTH
  433. *
  434. * ENTRY BUFFER = FWA OF BUFFER TO CLEAR.
  435. * LENGTH = LENGTH OF BUFFER.
  436. *
  437. * EXIT BUFFER FILLED WITH ZERO WORDS.
  438. *
  439. * USES X - 6.
  440. * A - 6.
  441. * B - 7.
  442.  
  443.  
  444. PURGMAC CLEAR
  445.  
  446. CLEAR MACRO BF,LN
  447. LOCAL A,B
  448. MACREF CLEAR
  449. R= B7,LN
  450. R= X6,0
  451. A SB7 B7-B1
  452. NG B7,B
  453. SA6 B7+BF
  454. EQ A
  455.  
  456. B BSS 0
  457. CLEAR ENDM
  458. LDIS SPACE 4,15
  459. ** LDIS - RESERVE L-DISPLAY ENTRY.
  460. *
  461. *TAG LDIS NCHAR,STRING
  462. *
  463. * ENTRY TAG - LOCATION TAG OF ENTRY.
  464. * NCHAR - NUMBER OF CHARACTERS.
  465. * STRING - INITIAL CHARACTER STRING.
  466. * CP - SET TO CURRENT CHARACTER POSITION - 1.
  467. *
  468. * EXIT *TAG* DEFINED AT ADDRESS LOCATION.
  469. * *TAGU* DEFINED AT BIT POSITION.
  470. * *TAGC* DEFINED AS BIT COUNT (NCHAR*6).
  471. * CP - SET TO CURRENT CHARACTER POSITION - 1.
  472.  
  473.  
  474. PURGMAC LDIS
  475.  
  476. MACRO LDIS,TG,NC,ST
  477. LOCAL BC,BP,CC,LC,SS,WC
  478. LC EQU *
  479. BP EQU *P-1
  480. WC SET NC-1
  481. WC SET WC/10
  482. CC DECMIC 1
  483. DUP WC
  484. SS MICRO "CC",10,$ST$
  485. VFD 60/10H"SS"
  486. CC DECMIC "CC"+10
  487. ENDD
  488. SS MICRO "CC",,$ST$
  489. CC DECMIC NC-WC*10
  490. BC DECMIC "CC"*6
  491. VFD "BC"/"CC"H"SS"
  492. AA IFC NE,$TG$$
  493. TG EQU LC
  494. TG_U EQU BP
  495. WC SET NC
  496. TG_C EQU WC*6
  497. AA ENDIF
  498. CP SET CP+NC
  499. LDIS ENDM
  500. LDISE SPACE 4,10
  501. ** LDISE - END L-DISPLAY LINE.
  502. *
  503. * LDISE
  504. *
  505. * ENTRY CP - SET TO CURRENT CHARACTER POSITION - 1.
  506. *
  507. * EXIT LAST WORD OF L-DISPLAY LINE ZERO FILLED.
  508.  
  509.  
  510. PURGMAC LDISE
  511.  
  512. LDISE MACRO
  513. LOCAL BC
  514. AA IFLT *P,60
  515. BC DECMIC *P
  516. VFD "BC"/0
  517. AA ENDIF
  518. ERRNG 64-CP TOO MANY CHARACTERS IN LINE
  519. LDISE ENDM
  520. LDISS SPACE 4,10
  521. ** LDISS - START L-DISPLAY LINE.
  522. *
  523. * LDISS FC,LN
  524. *
  525. * ENTRY FC - FIRST CHARACTER POSITION OF LINE.
  526. * LN - LINE NUMBER.
  527. *
  528. * EXIT K - SET TO LINE NUMBER PLUS ONE.
  529. * CP - SET TO CURRENT CHARACTER POSITION - 1.
  530.  
  531.  
  532. PURGMAC LDISS
  533.  
  534. LDISS MACRO FC,LN
  535. LOCAL LL,XX,YY
  536. LL EQU *
  537. XX EQU FC-1
  538. YY EQU LN
  539. VFD 12/6000B+XX*8,12/7707B-YY*15
  540. KDL RMT
  541. VFD 24/0,18/LL,18/7726B-YY*10
  542. KDL RMT
  543. K SET YY+1
  544. CP SET XX
  545. LDISS ENDM
  546. MBSATA SPACE 4,30
  547. ** MBSATA - MOVE BIT STRING FROM ADDRESS TO ADDRESS.
  548. *
  549. * MBSATA SADD,DADD,BITC,SUPB,DUPB
  550. *
  551. * ENTRY SADD = ADDRESS OF SOURCE STRING.
  552. * DADD = ADDRESS OF DESTINATION STRING.
  553. * (DO NOT USE A1, X1.)
  554. * BITC = BIT COUNT OF STRING.
  555. * (DO NOT USE A1, X1, A2, X2.)
  556. * SUPB = UPPER BIT POSITION OF SOURCE STRING.
  557. * (DO NOT USE A1, X1, A2, X2, B4.)
  558. * DUPB = UPPER BIT POSITION OF DESTINATION STRING.
  559. * (DO NOT USE A1, X1, A2, X2, B4, B3.)
  560. *
  561. * EXIT (A1) = ADDRESS OF REMAINDER OF SOURCE STRING.
  562. * (A2) = ADDRESS OF REMAINDER OF DESTINATION STRING.
  563. * (B2) = UPPER BIT POSITION OF REMAINDER OF DESTINATION
  564. * STRING.
  565. * (B3) = UPPER BIT POSITION OF REMAINDER OF SOURCE
  566. * STRING.
  567. * (X1) = FIRST WORD OF REMAINDER OF SOURCE STRING.
  568. * (X2) = FIRST WORD OF REMAINDER OF DESTINATION STRING.
  569. *
  570. * USES B - 4.
  571. *
  572. * CALLS MBS.
  573.  
  574.  
  575. PURGMAC MBSATA
  576.  
  577. MBSATA MACRO SA,DA,BC,SU,DU
  578. MACREF MBSATA
  579. R= A1,SA
  580. R= A2,DA
  581. R= B4,BC
  582. R= B3,SU
  583. R= B2,DU
  584. RJ MBS
  585. MBSATA ENDM
  586. MBSXTA SPACE 4,30
  587. ** MBSXTA - MOVE BIT STRING FROM X-REGISTER TO ADDRESS.
  588. *
  589. * MBSXTA SX,DADD,BITC,SUPB,DUPB
  590. *
  591. * ENTRY SX = X-REGISTER WITH SOURCE STRING.
  592. * DADD = ADDRESS OF DESTINATION STRING.
  593. * (DO NOT USE X1.)
  594. * BITC = BIT COUNT OF STRING.
  595. * (DO NOT USE X1, A2, X2.)
  596. * SUPB = UPPER BIT POSITION OF SOURCE STRING.
  597. * (DO NOT USE X1, A2, X2, B4.)
  598. * DUPB = UPPER BIT POSITION OF DESTINATION STRING.
  599. * (DO NOT USE X1, A2, X2, B4, B3.)
  600. *
  601. * EXIT (A2) = ADDRESS OF REMAINDER OF DESTINATION STRING.
  602. * (B2) = UPPER BIT POSITION OF REMAINDER OF DESTINATION
  603. * STRING.
  604. * (B3) = UPPER BIT POSITION OF REMAINDER OF SOURCE
  605. * STRING.
  606. * .LT. 0 IF NO MORE BITS IN SOURCE STRING.
  607. * (B4) = NUMBER OF BITS NOT MOVED.
  608. * (X1) = SOURCE STRING.
  609. * (X2) = FIRST WORD OF REMAINDER OF DESTINATION STRING.
  610. *
  611. * USES B - 4.
  612. *
  613. * CALLS MBS.
  614.  
  615.  
  616. PURGMAC MBSXTA
  617.  
  618. MBSXTA MACRO SX,DA,BC,SU,DU
  619. LOCAL A
  620. MACREF MBSXTA
  621. .A IFC NE,$X1$SX$
  622. X= X1,SX
  623. .A ENDIF
  624. R= A2,DA
  625. R= B4,BC
  626. R= B3,SU
  627. R= B2,DU
  628. RJ SBS
  629. NG B3,A
  630. PL B2,A
  631. R= A6,A2
  632. R= A2,A2+B1
  633. R= B2,59
  634. RJ SBS
  635. A R= A6,A2
  636. MBSXTA ENDM
  637. RDMEM SPACE 4,20
  638. ** RDMEM - READ MEMORY INTO BUFFER.
  639. *
  640. * RDMEM TYPE,ADD,COUNT,BUFF
  641. *
  642. * ENTRY TYPE - *ABS* IF READ FROM ABSOLUTE ADDRESS.
  643. * - *CPA* IF READ FROM CONTROL POINT ADDRESS.
  644. * - SUBSYSTEM IDENTIFIER IF READ FROM SUBSYSTEM
  645. * FIELD LENGTH.
  646. * ADD - ADDRESS TO READ FROM. (DO NOT USE X4.)
  647. * COUNT - NUMBER OF WORDS TO READ. (DO NOT USE X2, X4.)
  648. * BUFF - ADDRESS OF BUFFER TO RECEIVE DATA. (DO NOT
  649. * USE X2, X3, X4.)
  650. *
  651. * EXIT (X1) .LT. 0 IF READ IS SUCCESSFUL.
  652. *
  653. * USES X - 2, 3, 4.
  654. *
  655. * CALLS RDM.
  656.  
  657.  
  658. PURGMAC RDMEM
  659.  
  660. RDMEM MACRO TY,AD,CT,BF
  661. MACREF RDMEM
  662. .A IFC EQ,$TY$ABS$
  663. R= X4,0
  664. .A ELSE
  665. .B IFC EQ,$TY$CPA$
  666. R= X4,-1
  667. .B ELSE
  668. R= X4,TY
  669. .B ENDIF
  670. .A ENDIF
  671. R= X2,AD
  672. R= X3,CT
  673. R= X1,BF
  674. RJ RDM
  675. RDMEM ENDM
  676. RJM SPACE 4,15
  677. ** RJM - RETURN JOB TO ADDRESS IN REGISTER.
  678. *
  679. * RJM ADDR
  680. *
  681. * ENTRY ADDR = ADDRESS OF SUBROUTINE.
  682. *
  683. * EXIT RETURN JUMP INTO SUBROUTINE.
  684. *
  685. * USES X - 1, 6.
  686. * A - 1, 6.
  687. * B - 2.
  688.  
  689.  
  690. PURGMAC RJM
  691.  
  692. RJM MACRO AD
  693. LOCAL A,B
  694. MACREF RJM
  695. R= B2,AD
  696. R= A1,A
  697. BX6 X1
  698. R= A6,B2
  699. JP B2+1
  700. A EQ B
  701. B BSS 0
  702. RJM ENDM
  703. SRCHTAB SPACE 4,25
  704. ** SRCHTAB - SEARCH TABLE.
  705. *
  706. * SRCHTAB XR,TABADD,ENTADD,ENTLNG,TABLNG
  707. *
  708. * ENTRY (X0) = SEARCH MASK.
  709. * XR = X-REGISTER WITH VALUE TO SEARCH FOR.
  710. * TABADD = TABLE ADDRESS.
  711. * (DO NOT USE X1.)
  712. * ENTADD = RELATIVE ADDRESS OF VALUE IN TABLE ENTRY.
  713. * (DO NOT USE X1 OR B2.)
  714. * ENTLNG = LENGTH OF TABLE ENTRY.
  715. * (DO NOT USE X1, B2, OR B6.)
  716. * TABLNG = LENGTH OF TABLE IF SPECIFIED.
  717. * ZERO WORD TERMINATED TABLE IF NOT SPECIFIED.
  718. * (DO NOT USE X1, B2, B6, OR B7.)
  719. *
  720. * EXIT (X6) = 0 IF VALUE FOUND IN TABLE.
  721. * (A2) = ADDRESS OF WORD WITH VALUE.
  722. * (X2) = IMAGE OF WORD WITH VALUE.
  723. *
  724. * USES X - 1.
  725. * B - 2, 3, 6, 7.
  726. *
  727. * CALLS STL, STZ.
  728.  
  729.  
  730. PURGMAC SRCHTAB
  731.  
  732. SRCHTAB MACRO XR,TA,EA,EL,TL
  733. MACREF SRCHTAB
  734. .A IFC NE,$X1$XR$
  735. X= X1,XR
  736. .A ENDIF
  737. R= B2,TA
  738. R= B6,EA
  739. R= B7,EL
  740. .A IFC EQ,$TL$$
  741. RJ STZ
  742. .A ELSE
  743. R= B3,TL
  744. RJ STL
  745. .A ENDIF
  746. SRCHTAB ENDM
  747. MISCEQU SPACE 4,10
  748. ** MISCELLANEOUS EQUIVALENCES.
  749.  
  750.  
  751. DEFRN EQU 10 DEFAULT WAITING TIME FOR NON-SYSTEM ORIGIN
  752. DEFRS EQU 2 DEFAULT WAITING TIME FOR SYSTEM ORIGIN
  753. SBCWL EQU /TFM/BWUN+1 CATALOG SYSTEM BLOCK CONTROL WORD LENGTH
  754. SBUFE EQU SBCWL+/TFM/TSTL CATALOG SYSTEM BLOCK LENGTH
  755. SSJ= EQU 0 SYSTEM PRIVILEGES DEFINITION
  756. DISEQU SPACE 4,10
  757. ** DISPLAY EQUIVALENCES.
  758.  
  759.  
  760. LPEFC EQU 2 FAMILY CATALOG LINES PER ENTRY
  761. NLPDS EQU 23 NUMBER OF LINES PER DISPLAY
  762. NLPTT EQU 3 NUMBER OF LINES PER TITLE
  763. NLPMS EQU 2 NUMBER OF LINES PER MESSAGE
  764. NLPHD EQU 2 NUMBER OF LINES PER HEADER
  765. NLPPG EQU NLPDS-NLPTT-NLPHD-NLPMS-1 NUMBER OF LINES PER PAGE
  766. MXNEL SET 100B*LPEFC-1 MAXIMUM NUMBER OF ENTRY LINES
  767. NPGFD EQU MXNEL/NLPPG+1 NUMBER OF PAGES FOR FAMILY DISPLAY
  768. NPGHD EQU 1 NUMBER OF PAGES FOR HELP DISPLAY
  769. OPTLD EQU 0 L-DISPLAY MODE
  770. OPTLN EQU 1 LINE MODE
  771. OPTSC EQU 2 SCREEN MODE
  772. BUFFL SPACE 4,10
  773. ** BUFFER LENGTHS.
  774.  
  775.  
  776. CBUFL EQU LCOM COMMAND BUFFER LENGTH
  777. DBUFL EQU LDSY DISPLAY BUFFER LENGTH
  778. FBUFL EQU 100B FAMILY ORDINAL TABLE BUFFER LENGTH
  779. IBUFL EQU 1001B INPUT FILE BUFFER LENGTH
  780. LBUFL EQU 1001B OUTPUT FILE BUFFER LENGTH
  781. SBUFL EQU SBUFE*FBUFL CATALOG SYSTEM BLOCKS BUFFER LENGTH
  782. ZBUFL EQU 101B CATALOG FILE BUFFER LENGTH
  783. LEQUIV SPACE 4,10
  784. ** L-DISPLAY EQUIVALENCES.
  785.  
  786.  
  787. NERR EQU 0 NO ERROR
  788. NBUF EQU 1 NO L-DISPLAY BUFFER DEFINED IN CMR
  789. NINL EQU 2 L-DISPLAY BUFFER NOT INTERLOCKED
  790. NDBF EQU 3 DISPLAY BUFFER TOO LARGE
  791. NCMD EQU 4 NO COMMAND ENTERED
  792. NCBF EQU 5 COMMAND BUFFER TOO SMALL
  793. MICROS SPACE 4,10
  794. ** PROGRAM MICROS.
  795.  
  796.  
  797. DEFRN DECMIC DEFRN DEFAULT WAITING TIME NON-SYSTEM ORIGIN
  798. DEFRS DECMIC DEFRS DEFAULT WAITING TIME SYSTEM ORIGIN
  799. TITLE DATA AREA.
  800. SPACE 4
  801. ORG 110B
  802. FETS SPACE 4,10
  803. ** FETS.
  804.  
  805.  
  806. I BSS 0 INPUT FILE
  807. INPUT FILEC IBUF,IBUFL,(FET=8),EPR
  808.  
  809. L BSS 0 OUTPUT FILE
  810. OUTPUT FILEC LBUF,LBUFL,(FET=8),EPR
  811.  
  812. P BSS 0 CATALOG FILE
  813. "TMFC" FILEB ZBUF,ZBUFL,(FET=16),EPR,(PFN="TMFC")
  814. CSMS SPACE 4,10
  815. ** COMMAND STATUS MESSAGES.
  816.  
  817.  
  818. CSII DATA 30H INCORRECT INCREMENT
  819. CSLC DATA 30H LAST COMMAND
  820. CSPR DATA 30H PROCESSING
  821. CSTM DATA 30H TOO MANY PARAMETERS
  822. CSUC DATA 30H UNKNOWN COMMAND
  823. DFES SPACE 4,10
  824. ** DAYFILE MESSAGES.
  825.  
  826.  
  827. DFFN DATA C* FAMILY NOT FOUND.*
  828. DFIC DATA C* INCORRECT COMMAND.*
  829. DFIV DATA C* INCORRECT VALUE FOR ####### PARAMETER - $$$$$$$.*
  830. DFLC DATA C* TMSDIS COMPLETE.*
  831. DFLN DATA C* L-DISPLAY NOT AVAILABLE.*
  832. DFUF DATA C$ UNABLE TO TURN OFF *TMS* CATALOG FOR #######.$
  833. DFUN DATA C$ UNABLE TO TURN ON *TMS* CATALOG FOR #######.$
  834. DFUP DATA C* UNKNOWN PARAMETER - $$$$$$$.*
  835. TCOM SPACE 4,10
  836. ** TCOM - TABLE OF INPUT COMMANDS.
  837. *
  838. *T, 42/ NAME, 18/ ADDRESS
  839. *
  840. * ENTRY NAME = LEFT JUSTIFIED, ZERO-FILLED COMMAND NAME.
  841. * ADDRESS = PROCESSOR ADDRESS IF PROCESS AFTER SYSTEM
  842. * STATUS.
  843. * = (-1)*PROCESSOR ADDRESS IF PROCESS
  844. * IMMEDIATELY.
  845.  
  846.  
  847. TCOM BSS 0 TABLE OF INPUT COMMANDS
  848. VFD 42/0LHELP,18/HEP HELP DISPLAY
  849. VFD 42/0LFAM,18/FAP FAMILY CATALOG DISPLAY
  850. VFD 42/0LCOPY,18/COP COPY DISPLAY TO OUTPUT FILE
  851. VFD 42/1L+,18/PCP TOGGLE PAGE FORWARD
  852. VFD 42/1L-,18/MCP TOGGLE PAGE BACKWARD
  853. VFD 42/0LDROP,18/-DRO TERMINATE *TMSDIS*
  854. VFD 42/0LEND,18/-DRO TERMINATE *TMSDIS*
  855. TCOML EQU *-TCOM LENGTH OF TABLE
  856. TDPR SPACE 4,10
  857. ** TDPR - TABLE OF DISPLAY PROCESSORS.
  858.  
  859.  
  860. TDPR BSS 0 TABLE OF DISPLAY PROCESSORS
  861. LOC 0
  862. DISHP CON HEL *HELP*
  863. DISFC CON FAM *FAM*
  864. LOC *O
  865. TFCM SPACE 4,10
  866. ** TFCM - TABLE OF FAMILY CATALOG MESSAGE ADDRESSES.
  867.  
  868.  
  869. TFCM BSS 0 TABLE OF FAMILY CATALOG MESSAGE ADDRESSES.
  870. LOC 0
  871. CSCFA CON BLANKS CATALOG FILE FAST-ATTACHED STATUS
  872. CSERR CON 0 CATALOG FILE ERROR STATUS
  873. CSNSV CON =40H NO SCRATCH VSNS.
  874. CSCFN CON =40H CATALOG NOT FAST-ATTACHED.
  875. CSCNF CON =40H CATALOG NOT FOUND.
  876. CSCFB CON 0 CATALOG FILE BUSY STATUS
  877. CSFNF CON 0 FAMILY NOT FOUND STATUS
  878. LOC *O
  879. TFCP SPACE 4,10
  880. ** TFCP - TABLE OF FAMILY CATALOG PROCESSORS
  881.  
  882.  
  883. TFCP BSS 0 TABLE OF FAMILY CATALOG PROCESSORS
  884. LOC 0
  885. CSCFA CON CCS CATALOG FILE FAST-ATTACHED STATUS
  886. CSERR CON CCS CATALOG FILE ERROR STATUS
  887. CSNSV CON CCS NO SCRATCH VSNS STATUS
  888. CSCFN CON CNF CATALOG FILE NOT FAST-ATTACHED
  889. CSCNF CON CCB CATALOG FILE NOT FOUND STATUS
  890. CSCFB CON CCS CATALOG FILE BUSY STATUS
  891. CSFNF CON CCB FAMILY NOT FOUND STATUS
  892. NFCST EQU * NUMBER OF FAMILY CATALOG STATUSES
  893. LOC *O
  894. TNDP SPACE 4,10
  895. ** TNDP - TABLE OF NUMBER OF DISPLAY PAGES.
  896.  
  897.  
  898. TNDP BSS 0 TABLE OF NUMBER OF DISPLAY PAGES
  899. LOC 0
  900. DISHP CON NPGHD *HELP*
  901. DISFC CON 1 *FAM*
  902. LOC *O
  903. WORKING SPACE 4,10
  904. ** WORKING STORAGE CELLS.
  905.  
  906.  
  907. BEL CON 2R^* BELL CHARACTER
  908. BLANKS DATA 64L
  909. CCE CON 0 COUNT OF CATALOG ERRORS
  910. CIN BSS 0 CLEAR INPUT LINE
  911. VFD 12/2R"EM" ASCII OUTPUT
  912. VFD 48/8H 78 BLANK CHARACTERS
  913. DUP 7
  914. VFD 60/10H
  915. ENDD
  916. VFD 24/4H"CR""CB" CARRIAGE RETURN/NO LINE FEED
  917. VFD 36/0 END OF LINE
  918. CLN CON 0 CURRENT LINE NUMBER
  919. CMP CON 0 COMMAND PROCESSOR ADDRESS
  920. CNSM CON 0 COUNT OF CATALOGS WITH NO *MT/NT* SCRATCH
  921. CNSC CON 0 COUNT OF CATALOGS WITH NO *CT* SCRATCH
  922. CNSA CON 0 COUNT OF CATALOGS WITH NO *AT* SCRATCH
  923. COA CON 0 COUNT OF JOBS REQUIRING OPERATOR ACTION
  924. COM CON 0 COMMAND IMAGE
  925. CON CON 0 CONSOLE STATUS
  926. CPN BSS 0 *CP=N,PG=N* LINE
  927. VFD 12/2R:N *NAM* OUTPUT
  928. VFD 12/4107B CURSOR POSITIONING
  929. VFD 12/4000B NO
  930. VFD 12/4045B PAGE WAITING
  931. VFD 12/4000B NO
  932. VFD 60/0 END OF LINE
  933. CPY BSS 0 *CP=Y* LINE
  934. VFD 12/2R:N *NAM* OUTPUT
  935. VFD 12/4107B CURSOR POSITIONING
  936. VFD 12/4001B YES
  937. VFD 24/0 END OF LINE
  938. CSL BSS 0 CLEAR SCREEN LINE
  939. VFD 12/2R"EM" ASCII OUTPUT
  940. VFD 12/2R^= CLEAR SCREEN CHARACTER
  941. VFD 24/4R"CR""ES" CARRIAGE RETURN/NO LINE FEED
  942. VFD 12/0 END OF LINE
  943. DIS CON DISHP CURRENT DISPLAY
  944. FFO CON 0 FWA OF FAMILY ORDINAL TABLE
  945. HYPHENS DATA 10H---------- TEN HYPHEN CHARACTERS
  946. JOT CON 0 JOB ORIGIN TYPE
  947. LDE CON 0 L-DISPLAY ERROR FLAG
  948. LIT CON 0 LITERAL STATUS FOR *POP* (0=NO LITERALS)
  949. LNS CON 0 LINE MODE OUTPUT STATUS (0=NO OUTPUT)
  950. MXF CON 0 MAXIMUM NUMBER OF FOT ENTRIES
  951. OFM CON 0 ORIGINAL FAMILY NAME
  952. OPT CON OPTLN INPUT/OUTPUT MODE
  953. OUI CON 0 ORIGINAL USER INDEX
  954. PAG CON 1 CURRENT PAGE NUMBER
  955. PAR CON 0 COMMAND PARAMETER ADDRESS
  956. PNO CON NPGHD CURRENT NUMBER OF PAGES
  957. ROT DATA 0 ROLLOUT TIME
  958. SIA CON 0 SCREEN INPUT AVAILABLE FLAG
  959. TIN CON 0 TERMINAL INPUT STATUS (0=TERMINAL INPUT)
  960. TMS CON 0 *TMS* STATUS (0=ENABLED)
  961. TOP BSS 0 TOP OF PAGE CHARACTERS
  962. VFD 12/2R"EM" ASCII OUTPUT
  963. VFD 12/2R BELL CHARACTER
  964. VFD 12/2R^? TOP OF PAGE CHARACTER
  965. VFD 24/4R"CR""ES" CARRIAGE RETURN/NO LINE FEED
  966. VFD 60/0 END OF LINE
  967. TOU CON 0 TERMINAL OUTPUT STATUS (0=TERMINAL OUTPUT)
  968. ZEROES BSSZ 7 SEVEN WORDS OF ZEROES
  969. TITLE TMSDIS MAIN PROGRAM.
  970. LDI SPACE 4,10
  971. ** TMSDIS - MAIN PROGRAM.
  972.  
  973.  
  974. TMSDIS BSS 0 ENTRY
  975. LDISTAP SB1 1 ENTRY
  976. RJ PRS PRESET PROGRAM
  977. SA1 OPT
  978. SX1 X1-OPTLN
  979. ZR X1,LDI7 IF LINE MODE
  980. SX1 X1-OPTSC+OPTLN
  981. ZR X1,LDI1 IF SCREEN MODE
  982. SX6 B0 CLEAR DISPLAY
  983. SA6 DBUF+DBUFS
  984. RJ IDO ISSUE DISPLAY OUTPUT
  985. EQ LDI3 GET SYSTEM STATUSES
  986.  
  987. LDI1 WRITEC L,CPN CLEAR PAGE WAIT/CURSOR POSITIONING
  988. WRITEC L,CSL CLEAR SCREEN
  989. EQ LDI3 GET SYSTEM STATUSES
  990.  
  991. LDI2 SA1 ROT
  992. ZR X1,LDI3 IF NO ROLLOUT TIME
  993. ROLLOUT ROT ROLLOUT ON TIMED-EVENT
  994. LDI3 RECALL
  995. RJ GCS GET CATALOG STATUS
  996. SA1 CMP
  997. ZR X1,LDI6 IF NO COMMAND PROCESSOR
  998. LDI4 RJM X1 PROCESS COMMAND
  999. NZ X5,LDI5 IF ERROR
  1000. MBSATA CSLC,DMMA,DMMAC,59,DMMAU *LAST COMMMAND*
  1001. EQ LDI6 ISSUE OUTPUT
  1002.  
  1003. LDI5 MBSATA X5,DMMA,DMMAC,59,DMMAU SET ERROR MESSAGE
  1004. SA1 OPT CHECK FOR LINE MODE
  1005. SX1 X1-OPTLN
  1006. NZ X1,LDI6 IF NOT LINE MODE
  1007. MBSATA DMMA,LDIA,64*6,DMMAU,53 ISSUE ERROR MESSAGE TO OUTPUT
  1008. WRITEC L,BLANKS
  1009. WRITEC L,LDIA
  1010. LDI6 RJ CLS CHECK LINE MODE OUTPUT STATUS
  1011. NZ X6,LDI7 IF NO LINE MODE OUTPUT
  1012. RJ BDT BUILD DISPLAY TITLE
  1013. SA1 DIS GET DISPLAY PROCESSOR ADDRESS
  1014. SA1 X1+TDPR
  1015. RJM X1 PROCESS DISPLAY
  1016. RJ IOU ISSUE OUTPUT
  1017. LDI7 RJ GIN GET INPUT
  1018. SA1 CBUF+1
  1019. NZ X1,LDI8 IF INPUT
  1020. SX6 B0 CLEAR COMMAND PROCESSOR
  1021. SA6 CMP
  1022. SX6 B1 FORCE LINE MODE OUTPUT
  1023. SA6 LNS
  1024. EQ LDI2 ROLLOUT JOB
  1025.  
  1026. LDI8 SB2 7 BLANK FILL COMMAND
  1027. LDI9 NG B2,LDI10 IF END OF COMMAND
  1028. SA1 B2+CBUF+1
  1029. RJ ZTB CONVERT ZEROES TO BLANKS
  1030. SA6 A1
  1031. SB2 B2-B1
  1032. EQ LDI9 CHECK NEXT COMMAND WORD
  1033.  
  1034. LDI10 MX0 42 FORCE TERMINATOR INTO COMMAND
  1035. SA1 CBUF+1+7
  1036. SX6 1R.
  1037. BX1 X0*X1
  1038. LX6 12
  1039. BX6 X1+X6
  1040. SA6 A1
  1041. MBSATA CSPR,DMMA,DMMAC,59,DMMAU *PROCESSING*
  1042. MBSATA CBUF+1,DMCM,DMCMC,59,DMCMU
  1043. SA1 OPT CHECK OPTION
  1044. SX1 X1-OPTLD
  1045. NZ X1,LDI11 IF NOT L-DISPLAY MODE
  1046. RJ IDO ISSUE DISPLAY OUTPUT
  1047. LDI11 SB2 CBUF+1
  1048. RJ USB UNPACK STRING BUFFER
  1049. RJ POP PICK OUT PARAMETER
  1050. SB5 B5-B1
  1051. SX5 CSUC *UNKNOWN COMMAND.*
  1052. PL B5,LDI5 IF COMMAND TOO LONG
  1053. ZR X6,LDI12 IF SPECIAL CHARACTER
  1054. MX0 42 CHECK COMMAND LENGTH
  1055. BX1 -X0*X6
  1056. NZ X1,LDI5 IF COMMAND TOO LONG
  1057. EQ LDI13 SAVE COMMAND IMAGE
  1058.  
  1059. LDI12 LX1 54 POSITION COMMAND
  1060. BX6 X1
  1061. LDI13 SA6 COM SAVE COMMAND IMAGE
  1062. SX6 B6 SAVE FIRST PARAMETER ADDRESS
  1063. SA6 PAR
  1064. MX0 42 FIND COMMAND
  1065. SA1 COM
  1066. SRCHTAB X1,TCOM,0,1,TCOML
  1067. SX5 CSUC *UNKNOWN COMMAND.*
  1068. NZ X6,LDI5 IF COMMAND NOT FOUND
  1069. SX6 X2 SAVE COMMAND PROCESSOR ADDRESS
  1070. SA6 CMP
  1071. PL X6,LDI3 IF DO NOT PROCESS IMMEDIATELY
  1072. BX1 -X6
  1073. EQ LDI4 PROCESS COMMAND
  1074.  
  1075. LDIA DATA 65L
  1076. ABT SPACE 4,10
  1077. ** ABT - ABORT PROGRAM.
  1078. *
  1079. * ENTRY (X5) = ADDRESS OF DAYFILE MESSAGE.
  1080. *
  1081. * EXIT MESSAGE ISSUED TO SYSTEM AND USER DAYFILES.
  1082. * PROGRAM ABORTED.
  1083. *
  1084. * CALLS CUP.
  1085. *
  1086. * MACROS ABORT, MESSAGE.
  1087.  
  1088.  
  1089. ABT BSS 0 ENTRY
  1090. RJ CUP CLEAN UP PROGRAM
  1091. MESSAGE X5,0,R ISSUE ERROR MESSAGE
  1092. ABORT ABORT PROGRAM
  1093. END SPACE 4,10
  1094. ** END - TERMINATE PROGRAM.
  1095. *
  1096. * EXIT PROGRAM TERMINATED.
  1097. *
  1098. * CALLS CUP.
  1099. *
  1100. * MACROS ENDRUN, MESSAGE.
  1101.  
  1102.  
  1103. END BSS 0 ENTRY
  1104. RJ CUP CLEAN UP PROGRAM
  1105. MESSAGE DFLC,0,R *TMSDIS COMPLETE.*
  1106. ENDRUN TERMINATE PROGRAM
  1107. RPV SPACE 4,15
  1108. ** RPV - REPRIEVE PROCESSOR.
  1109. *
  1110. * EXIT (SIA) = 1 AND PROGRAM RESUMED IF USER BREAK ONE AND
  1111. * TERMINAL INPUT/OUTPUT.
  1112. * PROGRAM CLEANED UP AND ERROR CONDITION RESET IF NOT
  1113. * USER BREAK ONE OR NOT TERMINAL INPUT/OUTPUT.
  1114. *
  1115. * USES X - 0, 1, 2, 6.
  1116. * A - 1, 2, 6.
  1117. *
  1118. * CALLS CUP.
  1119. *
  1120. * MACROS REPRIEVE.
  1121.  
  1122.  
  1123. RPV BSS 0 ENTRY
  1124. MX0 -12 CHECK ERROR FLAG
  1125. SA1 RPVA+/COMSRPV/OSEF
  1126. BX1 -X0*X1
  1127. SX1 X1-TIET
  1128. NZ X1,RPV2 IF NOT USER BREAK ONE
  1129. SA1 TIN CHECK FOR TERMINAL INPUT/OUTPUT
  1130. SA2 TOU
  1131. BX1 X1+X2
  1132. NZ X1,RPV2 IF NOT TERMINAL INPUT/OUTPUT
  1133. SX6 B1 FLAG SCREEN INPUT AVAILABLE
  1134. SA6 SIA
  1135. REPRIEVE RPVA,RESUME,237B RESUME PROGRAM EXECUTION
  1136.  
  1137. RPV2 RJ CUP CLEAN UP PROGRAM
  1138. REPRIEVE RPVA,RESET,000B RESET ERROR CONDITION
  1139.  
  1140. RPVA RPVBLK RPV REPRIEVE BLOCK
  1141. TITLE COMMAND SUBROUTINES.
  1142. COP SPACE 4,15
  1143. ** COP - PROCESS *COPY* COMMAND.
  1144. *
  1145. * COPY.
  1146. *
  1147. * EXIT CURRENT DISPLAY COPIED TO OUTPUT FILE IF L-DISPLAY OR
  1148. * LINE MODE.
  1149. * (X5) = 0 IF NO PARAMETERS.
  1150. * = CSTM IF TOO MANY PARAMETERS.
  1151. *
  1152. * USES X - 1.
  1153. * A - 1.
  1154. *
  1155. * CALLS ILO, VNP.
  1156.  
  1157.  
  1158. COP SUBR ENTRY/EXIT
  1159. RJ VNP VERIFY NO MORE PARAMETERS
  1160. NZ X5,COPX IF TOO MANY PARAMETERS
  1161. SA1 OPT CHECK INPUT/OUTPUT MODE
  1162. SX1 X1-OPTSC
  1163. ZR X1,COPX IF SCREEN MODE
  1164. RJ BDT BUILD DISPLAY TITLE
  1165. SA1 DIS GET DISPLAY PROCESSOR ADDRESS
  1166. SA1 X1+TDPR
  1167. RJM X1 PROCESS DISPLAY
  1168. RJ ILO ISSUE LINE OUTPUT
  1169. SX5 B0 FLAG NO ERROR
  1170. EQ COPX RETURN
  1171. DRO SPACE 4,10
  1172. ** DRO - PROCESS *DROP* OR *END* COMMAND.
  1173. *
  1174. * END.
  1175. * DROP.
  1176. *
  1177. * EXIT TO *END* TO TERMINATE PROGRAM.
  1178. *
  1179. * ERROR (X5) = CSTM IF TOO MANY PARAMETERS.
  1180. *
  1181. * CALLS VNP.
  1182.  
  1183.  
  1184. DRO SUBR ENTRY/EXIT
  1185. RJ VNP VERIFY NO PARAMETERS
  1186. NZ X5,DROX IF TOO MANY PARAMETERS
  1187. EQ END TERMINATE PROGRAM
  1188. FAP SPACE 4,15
  1189. ** FAP - PROCESS *FAM* COMMAND.
  1190. *
  1191. * FAM.
  1192. *
  1193. * EXIT (DIS) = DISFC.
  1194. * (PAG) = 1.
  1195. * (X5) = 0 IF NO PARAMETERS.
  1196. * = CSTM IF TOO MANY PARAMETERS.
  1197. *
  1198. * USES X - 6.
  1199. * A - 6.
  1200. *
  1201. * CALLS VNP.
  1202.  
  1203.  
  1204. FAP SUBR ENTRY/EXIT
  1205. RJ VNP VERIFY NO MORE PARAMETERS
  1206. NZ X5,FAPX IF TOO MANY PARAMETERS
  1207. SX6 B1 SET PAGE NUMBER
  1208. SA6 PAG
  1209. SX6 DISFC SET DISPLAY TYPE
  1210. SA6 DIS
  1211. SX6 B1 FORCE LINE MODE OUTPUT
  1212. SA6 LNS
  1213. SX5 B0
  1214. EQ FAPX RETURN
  1215. HEP SPACE 4,15
  1216. ** HEP - PROCESS *HELP* COMMAND.
  1217. *
  1218. * HELP.
  1219. *
  1220. * EXIT (DIS) = DISHP.
  1221. * (PAG) = 1.
  1222. * (X5) = 0 IF NO PARAMETERS.
  1223. * = CSTM IF TOO MANY PARAMETERS.
  1224. *
  1225. * USES X - 6.
  1226. * A - 6.
  1227. *
  1228. * CALLS VNP.
  1229.  
  1230.  
  1231. HEP SUBR ENTRY/EXIT
  1232. RJ VNP VERIFY NO MORE PARAMETERS
  1233. NZ X5,HEPX IF TOO MANY PARAMETERS
  1234. SX6 B1 SET PAGE NUMBER
  1235. SA6 PAG
  1236. SX6 DISHP SET DISPLAY TYPE
  1237. SA6 DIS
  1238. SX6 B1 FORCE LINE MODE OUTPUT
  1239. SA6 LNS
  1240. SX5 B0
  1241. EQ HEPX RETURN
  1242. MCP SPACE 4,15
  1243. ** MCP - PROCESS MINUS COMMAND.
  1244. *
  1245. * -.
  1246. * -N.
  1247. *
  1248. * EXIT PAGE TOGGLED BACKWARD.
  1249. * (X5) = 0 IF NO PARAMETERS.
  1250. * = ERROR MESSAGE ADDRESS IF INCORRECT INCREMENT.
  1251. *
  1252. * USES X - 1, 2, 6.
  1253. * A - 1, 2, 6.
  1254. *
  1255. * CALLS VIP, VNP.
  1256.  
  1257.  
  1258. MCP SUBR ENTRY/EXIT
  1259. RJ VIP VERIFY INCREMENT PARAMETER
  1260. NZ X5,MCPX IF INCORRECT PARAMETER
  1261. SA6 MCPA SAVE INCREMENT
  1262. RJ VNP VERIFY NO PARAMETERS
  1263. NZ X5,MCPX IF TOO MANY PARAMETERS
  1264. SA1 PAG CHECK PAGE NUMBER
  1265. SA2 MCPA
  1266. IX2 X2-X1
  1267. BX6 -X2
  1268. NG X2,MCP1 IF NOT BEFORE FIRST PAGE
  1269. SA1 PNO SET LAST PAGE
  1270. SX6 X1
  1271. MCP1 SA6 PAG SET NEW PAGE NUMBER
  1272. SX6 B1 FORCE LINE MODE OUTPUT
  1273. SA6 LNS
  1274. SX5 B0
  1275. EQ MCPX RETURN
  1276.  
  1277. MCPA BSS 1 INCREMENT
  1278. PCP SPACE 4,15
  1279. ** PCP - PROCESS PLUS COMMAND.
  1280. *
  1281. * +.
  1282. * +N.
  1283. *
  1284. * EXIT PAGE TOGGLED FORWARD.
  1285. * (X5) = 0 IF NO PARAMETERS.
  1286. * = ERROR MESSAGE ADDRESS IF INCORRECT INCREMENT.
  1287. *
  1288. * USES X - 1, 2, 6.
  1289. * A - 1, 2, 6.
  1290. *
  1291. * CALLS VIP, VNP.
  1292.  
  1293.  
  1294. PCP SUBR ENTRY/EXIT
  1295. RJ VIP VERIFY INCREMENT PARAMETER
  1296. NZ X5,PCPX IF INCORRECT INCREMENT
  1297. SA6 PCPA SAVE INCREMENT
  1298. RJ VNP VERIFY NO MORE PARAMETERS
  1299. NZ X5,PCPX IF TOO MANY PARAMETERS
  1300. SA1 PAG CHECK PAGE NUMBER
  1301. SA2 PCPA
  1302. IX6 X1+X2
  1303. SA1 PNO
  1304. IX1 X1-X6
  1305. PL X1,PCP1 IF NOT AFTER LAST PAGE
  1306. SX6 B1 SET FIRST PAGE
  1307. PCP1 SA6 PAG SET NEW PAGE NUMBER
  1308. SX6 B1 FORCE LINE MODE OUTPUT
  1309. SA6 LNS
  1310. SX5 B0
  1311. EQ PCPX RETURN
  1312.  
  1313. PCPA BSS 1 INCREMENT
  1314. TITLE DISPLAY SUBROUTINES.
  1315. BDT SPACE 4,10
  1316. ** BDT - BUILD DISPLAY TITLE.
  1317. *
  1318. * EXIT FIRST THREE LINES OF DISPLAY SET UP.
  1319. *
  1320. * USES X - 1, 2, 6.
  1321. * A - 1, 2.
  1322. *
  1323. * CALLS CDD.
  1324. *
  1325. * MACROS MBSATA, MBSXTA.
  1326.  
  1327.  
  1328. BDT SUBR ENTRY/EXIT
  1329. SA1 TMS GET *TMS* STATUS
  1330. SX6 BDTC
  1331. ZR X1,BDT2 IF *TMS* ACTIVE
  1332. SX6 BDTD
  1333. BDT2 MBSATA X6,DTTS,DTTSC,59,DTTSU SET *TMS* STATUS
  1334. SA1 DIS GET DISPLAY NAME
  1335. MBSATA X1+BDTE,DTDS,DTDSC,59,DTDSU SET DISPLAY NAME
  1336. SA1 DIS GET NUMBER OF PAGES
  1337. SA2 X1+TNDP
  1338. NZ X2,BDT3 IF ONE OR MORE PAGES
  1339. SX2 B1
  1340. BDT3 SX6 X2 SET NUMBER OF PAGES
  1341. SA6 PNO
  1342. SA1 PAG GET CURRENT PAGE NUMBER
  1343. IX6 X2-X1
  1344. PL X6,BDT4 IF NOT TOO MANY PAGES
  1345. SX1 X2 RESET PAGE NUMBER
  1346. SX6 X2
  1347. SA6 A1
  1348. BDT4 NZ X1,BDT5 IF NON-ZERO
  1349. SX1 B1 RESET PAGE NUMBER
  1350. SX6 B1
  1351. SA6 A1
  1352. BDT5 RJ CDD CONVERT TO DECIMAL DISPLAY
  1353. MBSXTA X6,DTPN,DTPNC,DTPNC-1,DTPNU SET CURRENT PAGE NUMBER
  1354. SA1 PNO GET NUMBER OF PAGES
  1355. RJ CDD CONVERT TO DECIMAL DISPLAY
  1356. MBSXTA X6,DTPC,DTPCC,DTPCC-1,DTPCU SET CURRENT PAGE NUMBER
  1357. SA1 CCE GET NUMBER OF CATALOGS WITH ERRORS
  1358. RJ CDD CONVERT TO DECIMAL DISPLAY
  1359. MBSXTA X6,DTCE,DTCEC,DTCEC-1,DTCEU SET CATALOG ERRORS
  1360. SA1 CNSM NUMBER OF CATALOGS WITH NO *MT/NT* SCRATCH
  1361. RJ CDD CONVERT TO DECIMAL DISPLAY
  1362. MBSXTA X6,DTNM,DTNMC,DTNMC-1,DTNMU SET NO SCRATCH COUNT
  1363. SA1 CNSC NUMBER OF CATALOGS WITH NO *CT* SCRATCH
  1364. RJ CDD CONVERT TO DECIMAL DISPLAY
  1365. MBSXTA X6,DTNC,DTNCC,DTNCC-1,DTNCU SET NO SCRATCH COUNT
  1366. SA1 CNSA NUMBER OF CATALOGS WITH NO *AT* SCRATCH
  1367. RJ CDD CONVERT TO DECIMAL DISPLAY
  1368. MBSXTA X6,DTNA,DTNAC,DTNAC-1,DTNAU SET NO SCRATCH COUNT
  1369. EQ BDTX RETURN
  1370.  
  1371.  
  1372. BDTC DATA 14H TMS ENABLED.
  1373. BDTD DATA 14HTMS DISABLED.
  1374. BDTE BSS 0 DISPLAY NAMES
  1375. LOC 0
  1376. DISHP DATA 4HHELP
  1377. DISFC DATA 4H FAM
  1378. LOC *O
  1379. FAM SPACE 4,10
  1380. ** FAM - BUILD *FAM* DISPLAY.
  1381. *
  1382. * EXIT FAMILY CATALOG DISPLAY SET INTO *DBUF*.
  1383. *
  1384. * USES X - 0, 1, 2, 6.
  1385. * A - 0, 1, 2, 6.
  1386. *
  1387. * CALLS CDD, CLY, ZTB.
  1388. *
  1389. * MACROS MBSATA, MBSXTA, MOVE.
  1390.  
  1391.  
  1392. FAM3 SX6 B0 FLAG END OF DISPLAY BUFFER
  1393. SA6 X5
  1394.  
  1395. FAM SUBR ENTRY/EXIT
  1396. SX5 DBUF+DBUFS SET START OF DISPLAY BUFFER
  1397. MOVE FAMAL,FAMA,X5 SET HEADER IN DISPLAY BUFFER
  1398. SX5 X5+FAMAL
  1399. SA1 PNO
  1400. ZR X1,FAM3 IF NO PAGES FOR DISPLAY
  1401. SA1 PAG GET ADDRESS OF FIRST ENTRY FOR PAGE
  1402. ZR X1,FAM3 IF NO PAGES FOR DISPLAY
  1403. SA1 X1+TFDP-1
  1404. SX6 NLPTT+NLPHD+1 SET CURRENT LINE NUMBER
  1405. SA6 CLN
  1406. FAM1 SX1 X1
  1407. ZR X1,FAM3 IF NO MORE ENTRIES
  1408. SA0 X1
  1409. SA1 CLN CHECK CURRENT LINE NUMBER
  1410. SX6 X1+LPEFC-NLPHD-NLPTT-NLPPG-2
  1411. PL X6,FAM3 IF NO MORE LINES IN DISPLAY
  1412. SX6 X5+FAMBL-DBUF-DBUFL
  1413. PL X6,FAM3 IF NO MORE ROOM IN DISPLAY BUFFER
  1414. SX0 FAMB CALCULATE Y-COORDINATE FOR FIRST LINE
  1415. SA1 CLN
  1416. RJ CLY CONVERT LINE NUMBER TO Y-COORDINATE
  1417. SX0 FAMB2 CALCULATE Y-COORDINATE FOR SECOND LINE
  1418. SA1 CLN
  1419. SX1 X1+B1
  1420. RJ CLY CONVERT LINE NUMBER TO Y-COORDINATE
  1421.  
  1422. * SET *FAMILY*.
  1423.  
  1424. SA1 A0+SBCWL+/TFM/TMFM GET FAMILY NAME
  1425. RJ ZTB CONVERT ZEROES TO BLANKS
  1426. MBSXTA X6,DFFM,DFFMC,59,DFFMU SET *FAMILY*
  1427.  
  1428. * SET BUSY FLAG.
  1429.  
  1430. SA1 A0 CHECK CATALOG BUSY FLAG
  1431. LX1 59-47
  1432. SX6 1R
  1433. PL X1,FAM2 IF CATALOG NOT BUSY
  1434. SX6 1R*
  1435. FAM2 MBSXTA X6,DFBS,DFBSC,DFBSC-1,DFBSU SET BUSY FLAG
  1436.  
  1437. * SET *MT/NT* SCRATCH COUNT.
  1438.  
  1439. MX0 -24 GET SCRATCH COUNT
  1440. SA1 A0+SBCWL+/TFM/TMSM
  1441. BX1 -X0*X1
  1442. RJ CDD CONVERT TO DECIMAL DISPLAY
  1443. MBSXTA X6,DFSM,DFSMC,DFSMC-1,DFSMU SET COUNT
  1444.  
  1445. * SET *MT/NT* NEXT SCRATCH VSN.
  1446.  
  1447. SA1 A0+SBCWL+/TFM/TMSM
  1448. RJ ZTB CONVERT ZEROES TO BLANKS
  1449. MBSXTA X6,DFNM,DFNMC,59,DFNMU SET NEXT VSN
  1450.  
  1451. * SET *CT* SCRATCH COUNT.
  1452.  
  1453. MX0 -24 GET SCRATCH COUNT
  1454. SA1 A0+SBCWL+/TFM/TMSC
  1455. BX1 -X0*X1
  1456. RJ CDD CONVERT TO DECIMAL DISPLAY
  1457. MBSXTA X6,DFSC,DFSCC,DFSCC-1,DFSCU SET COUNT
  1458.  
  1459. * SET *CT* NEXT SCRATCH VSN.
  1460.  
  1461. SA1 A0+SBCWL+/TFM/TMSC
  1462. RJ ZTB CONVERT ZEROES TO BLANKS
  1463. MBSXTA X6,DFNC,DFNCC,59,DFNCU SET NEXT VSN
  1464.  
  1465. * SET *AT* SCRATCH COUNT.
  1466.  
  1467. MX0 -24 GET SCRATCH COUNT
  1468. SA1 A0+SBCWL+/TFM/TMSA
  1469. BX1 -X0*X1
  1470. RJ CDD CONVERT TO DECIMAL DISPLAY
  1471. MBSXTA X6,DFSA,DFSAC,DFSAC-1,DFSAU SET COUNT
  1472.  
  1473. * SET *AT* NEXT SCRATCH VSN.
  1474.  
  1475. SA1 A0+SBCWL+/TFM/TMSA
  1476. RJ ZTB CONVERT ZEROES TO BLANKS
  1477. MBSXTA X6,DFNA,DFNAC,59,DFNAU SET NEXT VSN
  1478.  
  1479. * SET *STATUS*.
  1480.  
  1481. SA1 A0+SBCWL+/TFM/TMMB GET STATUS MESSAGE
  1482. RJ ZTB CONVERT ZEROES TO BLANKS
  1483. SA6 A1
  1484. SA1 A1+B1
  1485. RJ ZTB CONVERT ZEROES TO BLANKS
  1486. SA6 A1
  1487. SA1 A1+B1
  1488. RJ ZTB CONVERT ZEROES TO BLANKS
  1489. SA6 A1
  1490. SA1 A1+B1
  1491. RJ ZTB CONVERT ZEROES TO BLANKS
  1492. SA6 A1
  1493. MBSATA A0+SBCWL+/TFM/TMMB,DFST,DFSTC,59,DFSTU SET *STATUS*
  1494. MOVE FAMBL,FAMB,X5 SET ENTRY INTO BUFFER
  1495. SX5 X5+FAMBL INCREMENT DISPLAY BUFFER ADDRESS
  1496. SA1 CLN INCREMENT CURRENT LINE NUMBER
  1497. SX6 X1+LPEFC
  1498. SA6 A1
  1499. SA1 A0 GET NEXT FAMILY CATALOG ADDRESS
  1500. EQ FAM1 CHECK ADDRESS
  1501.  
  1502. FAMA BSS 0 FAMILY CATALOG DISPLAY HEADER
  1503. LDISS 1,NLPTT+1 HEADER LINE ONE
  1504. LDIS 7,(FAMILY )
  1505. LDIS 1,( )
  1506. LDIS 16,( MT/NT SCRATCH)
  1507. LDIS 1,( )
  1508. LDIS 16,( CT SCRATCH )
  1509. LDIS 1,( )
  1510. LDIS 16,( AT SCRATCH )
  1511. LDISE
  1512. LDISS 1,K HEADER LINE TWO
  1513. LDIS 8,( STATUS)
  1514. LDIS 8,( COUNT)
  1515. LDIS 1,( )
  1516. LDIS 7,(NXT-VSN)
  1517. LDIS 1,( )
  1518. LDIS 8,( COUNT)
  1519. LDIS 1,( )
  1520. LDIS 7,(NXT-VSN)
  1521. LDIS 1,( )
  1522. LDIS 8,( COUNT)
  1523. LDIS 1,( )
  1524. LDIS 7,(NXT-VSN)
  1525. LDISE
  1526. FAMAL EQU *-FAMA FAMILY CATALOG DISPLAY HEADER LENGTH
  1527.  
  1528. FAMB BSS 0
  1529. LDISS 1,K+1 FAMILY CATALOG ENTRY LINE ONE
  1530. DFFM LDIS 7,(FAMNAME) FAMILY NAME
  1531. DFBS LDIS 1,( ) BUSY FLAG
  1532. DFSM LDIS 8,( 0) *MT/NT* SCRATCH COUNT
  1533. LDIS 1,( )
  1534. DFNM LDIS 6,(------) *MT/NT* NEXT SCRATCH VSN
  1535. LDIS 1,( )
  1536. DFSC LDIS 8,( 0) *CT* SCRATCH COUNT
  1537. LDIS 1,( )
  1538. DFNC LDIS 6,(------) *CT* NEXT SCRATCH VSN
  1539. LDIS 1,( )
  1540. DFSA LDIS 8,( 0) *AT* SCRATCH COUNT
  1541. LDIS 1,( )
  1542. DFNA LDIS 6,(------) *AT* NEXT SCRATCH VSN
  1543. LDISE
  1544. FAMB2 BSS 0
  1545. LDISS 1,K FAMILY CATALOG ENTRY LINE TWO
  1546. LDIS 1,( )
  1547. DFST LDIS 40,( ) STATUS
  1548. LDISE
  1549. FAMBL EQU *-FAMB FAMILY CATALOG ENTRY LINE LENGTH
  1550.  
  1551. NWIFD EQU FAMBL*NLPPG/LPEFC+FAMAL NUMBER OF WORDS IN *FAM* DIS
  1552. HEL SPACE 4,10
  1553. ** HEL - BUILD *HELP* DISPLAY.
  1554. *
  1555. * EXIT *HELP* DISPLAY SET INTO DISPLAY BUFFER.
  1556. *
  1557. * USES X - 1, 2, 6.
  1558. * A - 1.
  1559. *
  1560. * MACROS MOVE.
  1561.  
  1562.  
  1563. HEL SUBR ENTRY/EXIT
  1564. SA1 PAG GET PAGE NUMBER
  1565. SA1 X1+HELA-1
  1566. SX2 X1
  1567. AX1 18
  1568. MOVE X1,X2,DBUF+DBUFS SET *HELP* DISPLAY IN BUFFER
  1569. EQ HELX RETURN
  1570.  
  1571. HELA BSS 0 LENGTHS AND POINTERS TO HELP DISPLAY PAGES
  1572. LOC 1
  1573. VFD 24/0,18/HELBL,18/HELB PAGE ONE
  1574. LOC *O
  1575.  
  1576. HELB BSS 0 HELP DISPLAY PAGE ONE
  1577. LDISS 1,NLPTT+2
  1578. LDIS 4,(HELP)
  1579. LDISE
  1580. LDISS 20,K-1
  1581. LDIS 23,(DISPLAY VALID COMMANDS.)
  1582. LDISE
  1583. LDISS 1,K
  1584. LDIS 3,(FAM)
  1585. LDISE
  1586. LDISS 20,K-1
  1587. LDIS 43,(DISPLAY *TMS* FAMILY TAPE CATALOG STATUSES.)
  1588. LDISE
  1589. LDISS 1,K
  1590. LDIS 4,(COPY)
  1591. LDISE
  1592. LDISS 20,K-1
  1593. LDIS 36,(COPY CURRENT DISPLAY TO OUTPUT FILE.)
  1594. LDISE
  1595. LDISS 1,K
  1596. LDIS 1,(+)
  1597. LDISE
  1598. LDISS 20,K-1
  1599. LDIS 20,(TOGGLE PAGE FORWARD.)
  1600. LDISE
  1601. LDISS 1,K
  1602. LDIS 1,(-)
  1603. LDISE
  1604. LDISS 20,K-1
  1605. LDIS 21,(TOGGLE PAGE BACKWARD.)
  1606. LDISE
  1607. LDISS 1,K
  1608. LDIS 4,(END )
  1609. LDISE
  1610. LDISS 20,K-1
  1611. LDIS 20,(TERMINATE *TMSDIS* .)
  1612. LDISE
  1613. CON 0 END OF DISPLAY
  1614. HELBL EQU *-HELB LENGTH OF HELP DISPLAY
  1615.  
  1616. NWIHD EQU HELBL NUMBER OF WORDS IN *HELP* DISPLAY
  1617. TITLE SYSTEM STATUS SUBROUTINES.
  1618. CCB SPACE 4,10
  1619. ** CCB - CLEAR CATALOG BUFFER.
  1620. *
  1621. * (A0) = ADDRESS OF CATALOG BUFFER.
  1622. *
  1623. * EXIT CATALOG BUFFER FIELDS SET TO ZERO.
  1624. * (TMSM) SET TO SIX HYPHENS.
  1625. * (TMSC) SET TO SIX HYPHENS.
  1626. * (TMSA) SET TO SIX HYPHENS.
  1627. *
  1628. * MACROS CLEAR, MBSATA.
  1629.  
  1630.  
  1631. CCB SUBR ENTRY/EXIT
  1632. CLEAR A0,SBUFE CLEAR CATALOG BUFFER
  1633. MBSATA HYPHENS,A0+SBCWL+/TFM/TMSM,6*6,59,59 *MT/NT* SCRATCH
  1634. MBSATA HYPHENS,A0+SBCWL+/TFM/TMSC,6*6,59,59 *CT* SCRATCH
  1635. MBSATA HYPHENS,A0+SBCWL+/TFM/TMSA,6*6,59,59 *AT* SCRATCH
  1636. EQ CCBX RETURN
  1637. CCS SPACE 4,20
  1638. ** CCS - CHECK CATALOG STATUS.
  1639. *
  1640. * ENTRY (A0) = ADDRESS OF CATALOG BUFFER.
  1641. * (X4) = *CSCFA* IF CATALOG IS FAST-ATTACHED.
  1642. * = *CSCFB* IF CATALOG IS BUSY.
  1643. *
  1644. * EXIT ((A0)+0) = BIT 47 SET IF CATALOG IS BUSY.
  1645. * (X4) = *CSERR* IF CATALOG ERROR.
  1646. * = *CSNSV* IF NO SCRATCH VSNS OF ANY TYPE.
  1647. * = *CSCFA* IF NO SPECIAL STATUS.
  1648. * (CCE) INCREMENTED IF CATALOG ERROR.
  1649. * (CNSN) INCREMENTED IF NO *MT/NT* SCRATCH VSNS.
  1650. * (TMSM) SET TO SIX HYPHENS IF NO *MT/NT* SCRATCH VSNS.
  1651. * (CNSC) INCREMENTED IF NO *CT* SCRATCH VSNS.
  1652. * (TMSC) SET TO SIX HYPHENS IF NO *CT* SCRATCH VSNS.
  1653. * (CNSA) INCREMENTED IF NO *AT* SCRATCH VSNS.
  1654. * (TMSA) SET TO SIX HYPHENS IF NO *AT* SCRATCH VSNS.
  1655. *
  1656. * USES X - 0, 1, 4, 6, 7.
  1657. * A - 1, 6.
  1658. *
  1659. * MACROS MBSATA, MBSXTA.
  1660.  
  1661.  
  1662. CCS5 SA1 CCSB CHECK TOTAL SCRATCH COUNT FOR FAMILY
  1663. NZ X1,CCSX IF SCRATCH VSN-S OF ANY TYPE FOUND
  1664. SX4 CSNSV SET ERROR STATUS
  1665.  
  1666. CCS SUBR ENTRY/EXIT
  1667. SX6 X4-CSCFA
  1668. SX1 B0
  1669. ZR X6,CCS1 IF CATALOG IS FAST-ATTACHED
  1670. SX4 CSCFA
  1671. SX1 B1+
  1672. CCS1 MBSXTA X1,A0,1,0,47 SET/CLEAR CATALOG BUSY BIT
  1673. MX0 -24 CHECK *MT/NT* SCRATCH VSN COUNT
  1674. SA1 A0+SBCWL+/TFM/TMSM
  1675. BX6 -X0*X1
  1676. SA6 CCSB
  1677. NZ X6,CCS2 IF *MT/NT* SCRATCH VSNS
  1678. MBSATA HYPHENS,A0+SBCWL+/TFM/TMSM,6*6,59,59 CLEAR VSN
  1679. SA1 CNSM COUNT OF FAMILIES WITH NO *MT/NT* SCRATCH
  1680. SX6 X1+B1
  1681. SA6 A1
  1682. CCS2 MX0 -24 CHECK *CT* SCRATCH VSN COUNT
  1683. SA1 A0+SBCWL+/TFM/TMSC
  1684. BX2 -X0*X1
  1685. SA1 CCSB INCREMENT TOTAL SCRATCH COUNT
  1686. IX6 X1+X2
  1687. SA6 A1
  1688. NZ X2,CCS3 IF *CT* SCRATCH VSNS
  1689. MBSATA HYPHENS,A0+SBCWL+/TFM/TMSC,6*6,59,59 CLEAR VSN
  1690. SA1 CNSC COUNT OF FAMILIES WITH NO *CT* SCRATCH
  1691. SX6 X1+B1
  1692. SA6 A1
  1693. CCS3 MX0 -24 CHECK *AT* SCRATCH VSN COUNT
  1694. SA1 A0+SBCWL+/TFM/TMSA
  1695. BX2 -X0*X1
  1696. SA1 CCSB INCREMENT TOTAL SCRATCH COUNT
  1697. IX6 X1+X2
  1698. SA6 A1
  1699. NZ X2,CCS4 IF *AT* SCRATCH VSNS
  1700. MBSATA HYPHENS,A0+SBCWL+/TFM/TMSA,6*6,59,59 CLEAR VSN
  1701. SA1 CNSA COUNT OF FAMILIES WITH NO *AT* SCRATCH
  1702. SX6 X1+B1
  1703. SA6 A1
  1704. CCS4 SX0 /TFM/FETS CHECK FOR CATALOG ERROR
  1705. SA1 A0+SBCWL+/TFM/TMFM
  1706. BX1 X0*X1
  1707. ZR X1,CCS5 IF NO CATALOG ERROR
  1708. SA1 CCE INCREMENT CATALOG ERROR COUNT
  1709. SX6 X1+B1
  1710. SA6 A1
  1711. SX4 CSERR
  1712. EQ CCSX RETURN
  1713.  
  1714.  
  1715. CCSB CON 0 TOTAL SCRATCH COUNT FOR THIS FAMILY
  1716. CNF SPACE 4,10
  1717. ** CNF - CHECK NON-FAST ATTACHED FILE STATUS.
  1718. *
  1719. * EXIT CALL *CCS* IF CATALOG ERROR.
  1720. * CALL *CCB* IF NO CATALOG ERROR.
  1721. *
  1722. * USES X - 0, 1.
  1723. * A - 1.
  1724. *
  1725. * CALLS CCB, CCS.
  1726.  
  1727.  
  1728. CNF1 RJ CCB CLEAR CATALOG BUFFER
  1729.  
  1730. CNF SUBR ENTRY/EXIT
  1731. SX0 /TFM/FETS CHECK FOR CATALOG ERROR
  1732. SA1 A0+SBCWL+/TFM/TMFM
  1733. BX1 X0*X1
  1734. ZR X1,CNF1 IF NO CATALOG ERROR
  1735. SX4 CSCFA
  1736. RJ CCS CHECK CATALOG STATUS
  1737. EQ CNFX RETURN
  1738. GCS SPACE 4,20
  1739. ** GCS - GET CATALOG STATUSES.
  1740. *
  1741. * EXIT CATALOG STATUS BUFFERS SET INTO *SBUF*.
  1742. * FAMILY ORDINAL TABLE SET INTO *FBUF*.
  1743. * FIRST CATALOG STATUS BUFFER ENTRY FOR EACH DISPLAY
  1744. * PAGE SET INTO *TFDP*.
  1745. * WORD 0 OF EACH CATALOG STATUS BUFFER ENTRY SET -
  1746. *T, 12/STATUS, 1/BUSY FLAG, 29/0, 18/ADDRESS OF NEXT ENTRY
  1747. * (CCE) = NUMBER OF FAMILY CATALOGS WITH ERRORS.
  1748. * (CNS) = NUMBER OF FAMILY CATALOGS WITH NO SCRATCH.
  1749. * (TMS) = 0 IF *TMS* IS ACTIVE.
  1750. *
  1751. * USES X - 0, 1, 2, 4, 5, 6.
  1752. * A - 0, 1, 2, 4, 5, 6.
  1753. * B - 2, 3.
  1754. *
  1755. * CALLS ACF, SWP.
  1756. *
  1757. * MACROS CLEAR, MBSATA, MBSXTA, RDMEM, READ, READW, REWIND,
  1758. * RJM.
  1759.  
  1760.  
  1761. GCS13 SX6 B2 SET NUMBER OF PAGES
  1762. SA6 TNDP+DISFC
  1763.  
  1764. GCS SUBR ENTRY/EXIT
  1765. CLEAR TFCF,NFCST PRESET POINTER TABLES
  1766. CLEAR TFCL,NFCST
  1767. CLEAR TFDP,NPGFD PRESET *TFDP*
  1768. SX6 B0 CLEAR CATALOG STATUS COUNTS
  1769. SA6 CCE
  1770. SA6 CNSM
  1771. SA6 CNSC
  1772. SA6 CNSA
  1773. SA6 TNDP+DISFC
  1774. SYSTEM SFM,R,TMS,GTSF*100B GET *TMS* STATUS
  1775. MX0 1 SAVE *TMS* STATUS
  1776. SA1 TMS
  1777. BX1 X0*X1
  1778. BX6 X0-X1
  1779. SA6 TMS
  1780. SA1 MXF GET FAMILY ORDINAL TABLE
  1781. SA2 FFO
  1782. RDMEM ABS,X2,X1,FBUF
  1783. SA5 MXF GET CATALOG SYSTEM BLOCKS
  1784. SA0 SBUF
  1785. GCS1 SX5 X5-1
  1786. NG X5,GCS5 IF END OF FAMILIES
  1787. MX0 42 GET FAMILY NAME
  1788. SA1 X5+FBUF
  1789. BX1 X0*X1
  1790. SX4 CSFNF
  1791. ZR X1,GCS2 IF NO FAMILY NAME
  1792. SX2 377777B
  1793. RJ SWP SWAP TO FAMILY NAME AND USER INDEX
  1794. NZ X4,GCS2 IF FAMILY NOT FOUND
  1795. RJ ACF ATTACH CATALOG FILE
  1796. NZ X1,GCS2 IF CATALOG NOT ATTACHED
  1797. SX6 X4 SAVE STATUS
  1798. SA6 GCSB
  1799. REWIND P,R GET SYSTEM BLOCK
  1800. READ P,R
  1801. MX0 -5 CHECK FOR ERROR
  1802. SA1 P
  1803. AX1 9
  1804. BX1 -X0*X1
  1805. ZR X1,GCS1.1 IF NO ERROR ON READ
  1806. SX6 CSCNF FLAG AS CATALOG FILE NOT FOUND
  1807. SA6 GCSB
  1808. EQ GCS1.2 RETURN CATALOG FILE
  1809.  
  1810. GCS1.1 READW P,A0,SBUFE
  1811. GCS1.2 RETURN P
  1812. SA4 GCSB GET STATUS
  1813. GCS2 SA1 X4+TFCP
  1814. RJM X1 EXECUTE PROCESSOR FOR CATALOG STATUS
  1815. MBSATA X5+FBUF,A0+SBCWL+/TFM/TMFM,42,59,59 SET FAMILY NAME
  1816. MBSXTA X4,A0,12,11,59 SET CATALOG STATUS
  1817. MBSATA X4+TFCF,A0,18,17,17 LINK STATUS ENTRIES
  1818. SX1 A0
  1819. MBSXTA X1,X4+TFCF,18,17,17
  1820. SA1 X4+TFCM
  1821. ZR X1,GCS3 IF USE MESSAGE BUFFER
  1822. MBSATA X1,A0+SBCWL+/TFM/TMMB,/TFM/MBML*60,59,59 SET MESSAGE
  1823. GCS3 SA1 X4+TFCL
  1824. NZ X1,GCS4 IF ALREADY A LAST ENTRY
  1825. SX6 A0 SET LAST ENTRY
  1826. SA6 A1
  1827. GCS4 SA0 A0+SBUFE
  1828. EQ GCS1 CHECK NEXT FAMILY
  1829.  
  1830. GCS5 SA1 OFM GET ORIGINAL FAMILY NAME
  1831. SA2 OUI
  1832. RJ SWP SWAP TO FAMILY NAME AND USER INDEX
  1833. SA4 GCSA LINK STATUS ENTRIES
  1834. GCS6 ZR X4,GCS10 IF END OF TABLE
  1835. SA5 A4+B1
  1836. SA2 X4
  1837. ZR X2,GCS9 IF NO ENTRIES FOR THIS STATUS
  1838. SA1 TFDP+0
  1839. NZ X1,GCS7 IF FIRST ENTRY ALREADY SET
  1840. SA1 X4+TFCF-TFCL SET FIRST ENTRY
  1841. SX6 X1
  1842. SA6 TFDP+0
  1843. GCS7 ZR X5,GCS10 IF END OF TABLE
  1844. SA1 X5+TFCF-TFCL
  1845. NZ X1,GCS8 IF ENTRIES FOR THIS STATUS
  1846. SA5 A5+B1
  1847. EQ GCS7 CHECK NEXT STATUS
  1848.  
  1849. GCS8 MBSATA A1,X2,18,17,17 LINK STATUS ENTRIES
  1850. GCS9 SA4 A5
  1851. EQ GCS6 CHECK NEXT STATUS
  1852.  
  1853. GCS10 SA5 TFDP+0 COUNT NUMBER FAMILY CATALOG ENTRIES
  1854. SB2 B0 PRESET PAGE NUMBER
  1855. SB3 B0
  1856. GCS11 SX5 X5
  1857. ZR X5,GCS13 IF END OF ENTRIES
  1858. SB3 B3-LPEFC
  1859. PL B3,GCS12 IF NOT END OF PAGE
  1860. SX6 X5 SET FIRST ENTRY OF PAGE
  1861. SA6 B2+TFDP
  1862. SB2 B2+B1 INCREMENT PAGE NUMBER
  1863. SB3 NLPPG-1
  1864. GCS12 SA5 X5
  1865. EQ GCS11 CHECK NEXT ADDRESS
  1866.  
  1867. GCSA BSS 0 TABLE OF CATALOG STATUS LINKS
  1868. CON CSERR+TFCL CATALOG ERROR
  1869. CON CSNSV+TFCL NO SCRATCH VSNS
  1870. CON CSCFA+TFCL CATALOG FAST-ATTACHED
  1871. CON CSCFN+TFCL CATALOG NOT FAST-ATTACHED
  1872. CON CSCNF+TFCL CATALOG FILE NOT FOUND
  1873.  
  1874. CON 0 END OF TABLE
  1875.  
  1876. GCSB CON 0 CATALOG STATUS
  1877. TITLE INPUT/OUTPUT SUBROUTINES.
  1878. GDI SPACE 4,10
  1879. ** GDI - GET *DISPLAY* INPUT.
  1880. *
  1881. * EXIT (CBUF+1) = INPUT COMMAND.
  1882. *
  1883. * ERROR ABORT WITH *L-DISPLAY NOT AVAILABLE*.
  1884. *
  1885. * USES X - 1, 2, 6.
  1886. * A - 1, 6.
  1887. *
  1888. * MACROS DSDINP, ABTMSG.
  1889.  
  1890.  
  1891. GDI SUBR ENTRY/EXIT
  1892. SX6 CBUFL SET BUFFER LENGTH
  1893. LX6 48
  1894. SA6 CBUF
  1895. DSDINP A6 REQUEST L-DISPLAY INPUT
  1896. SA1 CBUF CHECK FOR ERRORS
  1897. SX2 X1-2*NERR-1
  1898. ZR X2,GDIX IF NO ERROR
  1899. SX2 X1-2*NCMD-1
  1900. SX6 B0 PRESET COMMAND
  1901. SA6 CBUF+1
  1902. ZR X2,GDIX IF NO COMMAND ENTERED
  1903. SX6 B1 FLAG L-DISPLAY ERROR
  1904. SA6 LDE
  1905. ABTMSG DFLN *L-DISPLAY NOT AVAILABLE.*
  1906. GIN SPACE 4,10
  1907. ** GIN - GET INPUT.
  1908. *
  1909. * ENTRY (OPT) = INPUT OPTION.
  1910. *
  1911. * EXIT INPUT PROCESSOR EXECUTED FOR OPTION.
  1912. *
  1913. * USES X - 1.
  1914. * A - 1.
  1915. *
  1916. * MACROS RJM, WRITER.
  1917.  
  1918.  
  1919. GIN SUBR ENTRY/EXIT
  1920. SA1 TOU
  1921. NZ X1,GIN1 IF NOT TERMINAL OUTPUT
  1922. WRITER L,R FLUSH BUFFER
  1923. GIN1 CLEAR CBUF+1,CBUFL CLEAR INPUT BUFFER
  1924. SA1 OPT GET INPUT OPTION
  1925. SA1 X1+GINA
  1926. RJM X1 PROCESS INPUT
  1927. EQ GINX RETURN
  1928.  
  1929. GINA BSS 0 INPUT OPTION PROCESSORS
  1930. LOC 0
  1931. OPTLD CON GDI DISPLAY
  1932. OPTLN CON GLI LINE
  1933. OPTSC CON GSI SCREEN
  1934. LOC *O
  1935. GLI SPACE 4,10
  1936. ** GLI - GET LINE INPUT.
  1937. *
  1938. * EXIT (CBUF+1) = INPUT COMMAND.
  1939. *
  1940. * USES X - 1, 2, 6.
  1941. * A - 1, 2, 6.
  1942. *
  1943. * MACROS MBSATA, READC, REWIND.
  1944.  
  1945. GLI1 MBSATA ZEROES,I,15,17,17 CLEAR EOF
  1946.  
  1947. GLI SUBR ENTRY/EXIT
  1948. READC I,CBUF+1,8 READ COMMAND LINE
  1949. ZR X1,GLIX IF NOT EOR/EOF/EOI
  1950. SX6 B0 PRESET COMMAND
  1951. SA6 CBUF+1
  1952. SA1 TIN CHECK FOR TERMINAL INPUT/OUTPUT
  1953. SA2 TOU
  1954. BX1 X1+X2
  1955. ZR X1,GLI1 IF BOTH TERMINAL INPUT AND OUTPUT
  1956. SA1 =0LEND SET TERMINATION COMMAND
  1957. BX6 X1
  1958. SA6 CBUF+1
  1959. EQ GLIX RETURN
  1960. GSI SPACE 4,10
  1961. ** GSI - GET SCREEN INPUT.
  1962. *
  1963. * EXIT (CBUF+1) = INPUT COMMAND.
  1964. * (SIA) = 0 IF INPUT REQUESTED.
  1965. *
  1966. * USES X - 1, 6.
  1967. * A - 1, 6.
  1968. *
  1969. * CALLS GLI.
  1970.  
  1971.  
  1972. GSI1 RJ GLI GET LINE INPUT
  1973. SX6 B0 CLEAR SCREEN INPUT AVAILABLE
  1974. SA6 SIA
  1975.  
  1976. GSI SUBR ENTRY/EXIT
  1977. SA1 SIA
  1978. NG X1,GSI1 IF SCREEN INPUT AVAILABLE
  1979. SX6 B0 SET NO COMMAND
  1980. SA6 CBUF+1
  1981. EQ GSIX RETURN
  1982. IDO SPACE 4,10
  1983. ** IDO - ISSUE *DISPLAY* OUTPUT.
  1984. *
  1985. * EXIT (DBUF) SENT TO L-DISPLAY.
  1986. *
  1987. * ERROR ABORT WITH *L-DISPLAY NOT AVAILABLE*.
  1988. *
  1989. * USES X - 1, 2, 6.
  1990. * A - 1, 6.
  1991. *
  1992. * MACROS DSDOUT, ABTMSG.
  1993.  
  1994.  
  1995. IDO SUBR ENTRY/EXIT
  1996. SX6 LDSY SET BUFFER LENGTH
  1997. LX6 48
  1998. SA6 DBUF
  1999. DSDOUT A6 REQUEST L-DISPLAY OUTPUT
  2000. SA1 DBUF CHECK FOR ERRORS
  2001. SX2 X1-2*NERR-1
  2002. ZR X2,IDOX IF NO ERROR
  2003. SX6 B1 FLAG L-DISPLAY ERROR
  2004. SA6 LDE
  2005. ABTMSG DFLN *L-DISPLAY NOT AVAILABLE.*
  2006. ILO SPACE 4,15
  2007. ** ILO - ISSUE LINE OUTPUT.
  2008. *
  2009. * EXIT (DBUF) COPIED TO OUTPUT FILE.
  2010. *
  2011. * USES X - 1, 2.
  2012. * A - 1.
  2013. * B - 6, 7.
  2014. *
  2015. * CALLS CKD.
  2016. *
  2017. * MACROS WRITEC.
  2018.  
  2019.  
  2020. ILO SUBR ENTRY/EXIT
  2021. SA1 TOU CHECK FOR TERMINAL OUTPUT
  2022. SB7 B0
  2023. ZR X1,ILO1 IF TERMINAL OUTPUT
  2024. WRITEC L,ILOA DOUBLE SPACE
  2025. SB7 B1
  2026. ILO1 SX2 L SET OUTPUT FILE ADDRESS
  2027. SB6 DBUF
  2028. RJ CKD COPY K-DISPLAY TO OUTPUT FILE
  2029. EQ ILOX RETURN
  2030.  
  2031. ILOA DATA C*0* DOUBLE SPACE
  2032. IOU SPACE 4,10
  2033. ** IOU - ISSUE OUTPUT.
  2034. *
  2035. * ENTRY (OPT) = OUTPUT OPTION.
  2036. *
  2037. * EXIT OUTPUT PROCESSOR EXECUTED FOR OPTION.
  2038. *
  2039. * USES X - 1.
  2040. * A - 1.
  2041. *
  2042. * MACROS RJM.
  2043.  
  2044.  
  2045. IOU SUBR ENTRY/EXIT
  2046. SA1 OPT GET OUTPUT OPTION
  2047. SA1 X1+IOUA
  2048. RJM X1 PROCESS OUTPUT
  2049. EQ IOUX RETURN
  2050.  
  2051. IOUA BSS 0 OUTPUT OPTION PROCESSORS
  2052. LOC 0
  2053. DOPT CON IDO DISPLAY
  2054. LOPT CON ILO LINE
  2055. SOPT CON ISO SCREEN
  2056. LOC *O
  2057. ISO SPACE 4,10
  2058. ** ISO - ISSUE SCREEN OUTPUT.
  2059. *
  2060. * EXIT (DBUF) COPIED TO OUTPUT FILE.
  2061. *
  2062. * USES X - 1, 2.
  2063. * A - 1, 2.
  2064. *
  2065. * CALLS ILO.
  2066. *
  2067. * MACROS WRITEC.
  2068.  
  2069.  
  2070. ISO SUBR ENTRY/EXIT
  2071. SA2 SIA
  2072. SA1 ISOB
  2073. ZR X2,ISO1 IF TERMINAL INPUT NOT AVAILABLE
  2074. SX6 -B1 FLAG INPUT AVAILABLE
  2075. SA6 A2
  2076. SA1 ISOA
  2077. ISO1 MBSATA A1,DMIN,DMINC,59,DMINU SET INPUT MESSAGE
  2078. SA1 BEL CHECK IF BELL IS REQUIRED
  2079. SA2 CCE
  2080. NZ X2,ISO2 IF CATALOG ERRORS
  2081. SA2 CNSM
  2082. NZ X2,ISO2 IF CATALOGS WITH NO *MT/NT* SCRATCH
  2083. SA2 CNSC
  2084. NZ X2,ISO2 IF CATALOGS WITH NO *CT* SCRATCH
  2085. SA2 CNSA
  2086. NZ X2,ISO2 IF CATALOGS WITH NO *AT* SCRATCH
  2087. SA2 COA
  2088. NZ X2,ISO2 IF JOBS REQUIRE OPERATOR ACTION
  2089. SX1 2R
  2090. ISO2 MBSXTA X1,TOP,12,11,47 SET/CLEAR BELL
  2091. WRITEC L,TOP GO TO TOP OF SCREEN
  2092. RJ ILO ISSUE LINE OUTPUT
  2093. WRITEC L,CIN CLEAR INPUT LINE
  2094. EQ ISOX RETURN
  2095.  
  2096. ISOA DATA 50HENTER *HELP* FOR HELP. ENTER *END* TO TERMINATE.
  2097. ISOB DATA 50HISSUE *BREAK* TO ENTER INPUT.
  2098. TITLE COMMON SUBROUTINES.
  2099. ACF SPACE 4,15
  2100. ** ACF - ATTACH CATALOG FILE.
  2101. *
  2102. * EXIT (X1) = 0 IF CATALOG ATTACHED.
  2103. * .NE. 0 IF CATALOG NOT ATTACHED.
  2104. * (X4) = CSCFA IF CATALOG FILE IS FAST-ATTACHED.
  2105. * = CSCFB IF CATALOG FILE IS BUSY.
  2106. * = CSCFN IF CATALOG FILE IS NOT FAST-ATTACHED.
  2107. * = CSCNF IF CATALOG FILE IS NOT FOUND.
  2108. *
  2109. * USES X - 0, 1, 6.
  2110. * A - 1, 6.
  2111. *
  2112. * MACROS ATTACH, CATLIST, MBSATA, SETFET.
  2113.  
  2114.  
  2115. ACF SUBR ENTRY/EXIT
  2116. SETFET P,(DTY=B0),(ERA=ACFB) CLEAR DEVICE TYPE
  2117. MBSATA ZEROES,P,16,17,17 CLEAR ERROR CODE
  2118. ATTACH P,,,,RM,,,IP,FA ATTACH CATALOG FILE
  2119. MX0 -8 GET STATUS
  2120. SA1 P
  2121. AX1 10
  2122. BX1 -X0*X1
  2123. SX4 CSCFA
  2124. ZR X1,ACFX IF FILE ATTACHED
  2125. SX1 X1-/ERRMSG/FBS
  2126. SX4 CSCFB
  2127. ZR X1,ACF1 IF FILE BUSY
  2128. SX6 ZBUF RESET BUFFER POINTERS
  2129. SA6 P+2
  2130. SA6 A6+B1
  2131. MBSATA ZEROES,P,16,17,17 CLEAR ERROR CODE
  2132. ATTACH P,,,,RM,,,IP,NF ATTACH CATALOG FILE
  2133. MX0 -8 GET STATUS
  2134. SA1 P
  2135. AX1 10
  2136. BX1 -X0*X1
  2137. SX4 CSCFN
  2138. ZR X1,ACFX IF FILE FOUND
  2139. SX1 X1-/ERRMSG/FBS CHECK FOR FILE BUSY
  2140. SX4 CSCFB
  2141. ZR X1,ACF1 IF FILE BUSY
  2142. SX4 CSCNF
  2143. ACF1 SX1 B1 FLAG CATALOG NOT ATTACHED
  2144. EQ ACFX RETURN
  2145.  
  2146. ACFB BSS 4 *PFM* MESSAGE BUFFER
  2147. CLS SPACE 4,15
  2148. ** CLS - CHECK LINE MODE OUTPUT STATUS.
  2149. *
  2150. * ENTRY (LNS) = 0 IF DO NOT FORCE LINE MODE OUTPUT.
  2151. * .NE. 0 IF FORCE LINE MODE OUTPUT.
  2152. *
  2153. * EXIT (X6) = 0 IF FORCE OUTPUT.
  2154. * .NE. 0 IF DO NOT FORCE OUTPUT.
  2155. * (LNS) = 0.
  2156. *
  2157. * USES X - 1.
  2158. * A - 1, 6.
  2159.  
  2160.  
  2161. CLS SUBR ENTRY/EXIT
  2162. SA1 OPT CHECK INPUT/OUTPUT OPTION
  2163. SX1 X1-OPTLN
  2164. SX6 B0
  2165. NZ X1,CLSX IF NOT LINE MODE
  2166. SA1 LNS GET LINE MODE OUTPUT STATUS
  2167. SA6 A1
  2168. NZ X1,CLSX IF FORCE OUTPUT
  2169. SX6 B1
  2170. EQ CLSX RETURN
  2171. CLY SPACE 4,15
  2172. ** CLY - CONVERT LINE NUMBER TO Y-COORDINATE.
  2173. *
  2174. * ENTRY (X0) = FWA OF L-DISPLAY LINE.
  2175. * (X1) = DISPLAY LINE NUMBER.
  2176. *
  2177. * EXIT Y-COORDINATE SET INTO BYTE 1 OF L-DISPLAY LINE.
  2178. *
  2179. * USES X - 2, 6.
  2180. * A - 2.
  2181. *
  2182. * MACROS MBSXTA.
  2183.  
  2184.  
  2185. CLY SUBR ENTRY/EXIT
  2186. SX6 15 PRESET Y-COORDINATE INCREMENT
  2187. SA2 CON
  2188. ZR X2,CLY1 IF NOT 721 CONSOLE
  2189. SX6 10 RESET Y-COORDINATE INCREMENT
  2190. SX2 7726B-7707B
  2191. CLY1 SX2 X2+7707B
  2192. IX6 X1*X6 COMPUTE Y-COORDINATE
  2193. IX6 X2-X6
  2194. MBSXTA X6,X0,12,11,47 SET Y-COORDINATE
  2195. EQ CLYX RETURN
  2196. CUP SPACE 4,15
  2197. ** CUP - CLEAN UP PROGRAM.
  2198. *
  2199. * EXIT TAPE CATALOG FILE RETURNED.
  2200. * INPUT AND OUTPUT FILES RETURNED IF SCREEN MODE.
  2201. * SWAPPED BACK TO ORIGINAL FAMILY NAME AND USER INDEX.
  2202. * L-DISPLAY CLEARED IF L-DISPLAY MODE.
  2203. *
  2204. * USES X - 0, 1, 2, 6.
  2205. * A - 1, 2, 6.
  2206. *
  2207. * CALLS IDO, SWP.
  2208. *
  2209. * MACROS DSDINP, MBSATA, RETURN, WRITER.
  2210.  
  2211.  
  2212. CUP SUBR ENTRY/EXIT
  2213. MBSATA (=1),P,1,0,0 RETURN TAPE CATALOG FILE
  2214. RETURN P,R
  2215. SA1 OPT CHECK FOR SCREEN MODE
  2216. SX1 X1-OPTSC
  2217. NZ X1,CUP1 IF NOT SCREEN MODE
  2218. MBSATA (=1),I,1,0,0 RETURN TERMINAL INPUT
  2219. RETURN I
  2220. MBSATA (=1),L,1,0,0 RESET CURSOR POSITIONING
  2221. WRITEC L,CPY
  2222. WRITEC L,CSL CLEAR SCREEN
  2223. WRITER L,R
  2224. RETURN L RETURN TERMINAL OUTPUT
  2225. EQ CUP2 RETURN TO ORIGINAL FAMILY/USER INDEX
  2226.  
  2227. CUP1 WRITER L,R FLUSH OUTPUT BUFFER
  2228. CUP2 SA1 OFM GET ORIGINAL FAMILY NAME
  2229. SA2 OUI
  2230. RJ SWP SWAP TO FAMILY NAME AND USER INDEX
  2231. SA1 OPT CHECK FOR L-DISPLAY
  2232. SX1 X1-OPTLD
  2233. NZ X1,CUPX IF NOT L-DISPLAY MODE
  2234. SA1 LDE
  2235. NZ X1,CUPX IF L-DISPLAY ERROR
  2236. SX6 B0 CLEAR L-DISPLAY BUFFER
  2237. SA6 DBUF+1
  2238. RJ IDO ISSUE L-DISPLAY OUTPUT
  2239. SA1 LDE
  2240. NZ X1,CUPX IF L-DISPLAY ERROR
  2241. SX6 CBUFL SET BUFFER LENGTH
  2242. LX6 48
  2243. SA6 CBUF
  2244. DSDINP A6,C CLEAR L-DISPLAY INTERLOCK
  2245. SA1 CBUF CHECK FOR ERROR
  2246. SX6 X1-2*NERR-1
  2247. ZR X6,CUPX IF NO ERROR
  2248. SA6 LDE FLAG L-DISPLAY ERROR
  2249. EQ CUPX RETURN
  2250. RDM SPACE 4,20
  2251. ** RDM - READ MEMORY INTO BUFFER.
  2252. *
  2253. * ENTRY (X1) = ADDRESS OF BUFFER TO RECEIVE DATA.
  2254. * (X2) = ADDRESS TO READ DATA FROM.
  2255. * (X3) = NUMBER OF WORDS TO READ.
  2256. * (X4) = 0 IF READ FROM ABSOLUTE ADDRESS.
  2257. * .LT. 0 IF READ FROM CONTROL POINT ADDRESS.
  2258. * = SUBSYSTEM IDENTIFIER IF READ FROM SUBSYSTEM
  2259. * FIELD LENGTH.
  2260. *
  2261. * EXIT (X1) .LT. 0 IF TRANSFER COMPLETE.
  2262. * .GE. 0 IF ERROR.
  2263. * (X2) = CONTENTS OF FIRST WORD OF DATA.
  2264. *
  2265. * USES X - 4, 6.
  2266. * A - 2, 6.
  2267. *
  2268. * CALLS RSB=.
  2269.  
  2270.  
  2271. RDM SUBR ENTRY/EXIT
  2272. SX6 X1 SAVE BUFFER ADDRESS
  2273. SA6 RDMA
  2274. MX6 1 PRESET ABSOLUTE READ PARAMETERS
  2275. PL X4,RDM1 IF NOT CONTROL POINT READ
  2276. SX4 B0 SET CONTROL POINT READ PARAMETERS
  2277. SX6 X2
  2278. RDM1 SA6 X1 SET READ TYPE
  2279. RJ RSB= READ SUBSYSTEM BLOCK
  2280. PL X1,RDMX IF TRANSFER ERROR
  2281. SA2 RDMA GET FIRST WORD OF DATA
  2282. SA2 X2
  2283. EQ RDMX RETURN
  2284.  
  2285. RDMA BSS 1 ADDRESS OF BUFFER
  2286. STL SPACE 4,15
  2287. ** STL - SEARCH TABLE WITH DEFINED LENGTH.
  2288. *
  2289. * ENTRY (B2) = FWA OF TABLE TO SEARCH.
  2290. * (B3) = LENGTH OF TABLE TO SEARCH.
  2291. * (B6) = RELATIVE ADDRESS OF VALUE IN TABLE ENTRY.
  2292. * (B7) = LENGTH OF TABLE ENTRY.
  2293. * (X0) = SEARCH MASK.
  2294. * (X1) = VALUE TO SEARCH FOR.
  2295. *
  2296. * EXIT (X6) = 0 IF VALUE FOUND.
  2297. * (A2) = ADDRESS OF WORD WITH VALUE.
  2298. * (X2) = IMAGE OF WORD WITH VALUE.
  2299. *
  2300. * USES B - 2, 3.
  2301.  
  2302.  
  2303. STL SUBR ENTRY/EXIT
  2304. SB3 B2+B3 SET LWA+1 OF TABLE
  2305. SX6 B1
  2306. STL1 GE B2,B3,STLX IF ENTRY NOT FOUND
  2307. SA2 B2+B6 COMPARE ENTRY WITH VALUE
  2308. BX6 X1-X2
  2309. BX6 X0*X6
  2310. ZR X6,STLX IF ENTRY FOUND
  2311. SB2 B2+B7
  2312. EQ STL1 CHECK NEXT ENTRY
  2313. STZ SPACE 4,15
  2314. ** STZ - SEARCH TABLE TERMINATED BY A ZERO WORD.
  2315. *
  2316. * ENTRY (B2) = FWA OF TABLE TO SEARCH.
  2317. * (B6) = RELATIVE ADDRESS OF VALUE IN TABLE ENTRY.
  2318. * (B7) = LENGTH OF TABLE ENTRY.
  2319. * (X0) = SEARCH MASK.
  2320. * (X1) = VALUE TO SEARCH FOR.
  2321. *
  2322. * EXIT (X6) = 0 IF VALUE FOUND.
  2323. * (A2) = ADDRESS OF WORD WITH VALUE.
  2324. * (X2) = IMAGE OF WORD WITH VALUE.
  2325. *
  2326. * USES B - 2.
  2327.  
  2328.  
  2329. STZ SUBR ENTRY/EXIT
  2330. SA2 B2 GET FIRST ENTRY
  2331. SB2 B7-B6
  2332. SX6 B1
  2333. STZ1 ZR X2,STZX IF ENTRY NOT FOUND
  2334. SA2 A2+B6 COMPARE ENTRY WITH VALUE
  2335. BX6 X1-X2
  2336. BX6 X0*X6
  2337. ZR X6,STZX IF ENTRY FOUND
  2338. SA2 A2+B2
  2339. EQ STZ1 CHECK NEXT ENTRY
  2340. SWP SPACE 4,15
  2341. ** SWP - SWAP FAMILY AND USER INDEX.
  2342. *
  2343. * ENTRY (X1) = FAMILY NAME TO SWAP TO.
  2344. * (X2) = USER INDEX TO SWAP TO.
  2345. *
  2346. * EXIT (X4) = 0 IF FAMILY FOUND.
  2347. * = CSFNF IF FAMILY NOT FOUND.
  2348. *
  2349. * USES X - 0, 1, 6.
  2350. * A - 1, 6.
  2351. *
  2352. * MACROS SETPFP
  2353.  
  2354.  
  2355. SWP SUBR ENTRY/EXIT
  2356. MX0 42 SET FAMILY NAME IN *SETPFP* BLOCK
  2357. SX6 11B
  2358. BX1 X0*X1
  2359. BX6 X1+X6
  2360. SA6 SWPA+0
  2361. BX6 -X0*X2 SET USER INDEX IN *SETPFP* BLOCK
  2362. SA6 SWPA+2
  2363. SETPFP SWPA CHANGE FAMILY NAME AND USER INDEX
  2364. MX0 -6 GET STATUS
  2365. SA1 SWPA+0
  2366. AX1 12
  2367. BX4 -X0*X1
  2368. ZR X4,SWPX IF SWAP COMPLETE
  2369. SX4 CSFNF
  2370. EQ SWPX RETURN
  2371.  
  2372. SWPA BSS 3 *SETPFP* BLOCK
  2373. VIP SPACE 4,15
  2374. ** VIP - VERIFY INCREMENT PARAMETER.
  2375. *
  2376. * ENTRY (PAR) = ADDRESS OF INCREMENT PARAMETER IN STRING
  2377. * BUFFER.
  2378. *
  2379. * EXIT (PAR) = ADDRESS OF NEXT PARAMETER IN STRING BUFFER.
  2380. * (X6) = INCREMENT IF VALID.
  2381. * (X5) = 0 IF VALID INCREMENT.
  2382. * = *CSII* IF INCORRECT INCREMENT.
  2383. *
  2384. * USES X - 1, 7.
  2385. * A - 1, 6, 7.
  2386. * B - 5, 6, 7.
  2387. *
  2388. * CALLS DXB, POP.
  2389.  
  2390.  
  2391. VIP1 SX5 B0 FLAG VALID PARAMETER
  2392. NZ X6,VIPX IF NON-ZERO INCREMENT
  2393. SX6 B1 RESET INCREMENT
  2394.  
  2395. VIP SUBR ENTRY/EXIT
  2396. SA1 PAR
  2397. SX5 CSII *INCORRECT INCREMENT*
  2398. ZR X1,VIPX IF NO NEXT PARAMETER
  2399. SB6 X1
  2400. RJ POP PICK OUT PARAMETER
  2401. SX7 B6 SAVE NEXT PARAMETER ADDRESS
  2402. SA7 PAR
  2403. SX5 CSII *INCORRECT INCREMENT*
  2404. NG B5,VIPX IF BUFFER EXHAUSTED
  2405. SB5 B5-B1
  2406. GE B5,VIPX IF PARAMETER TOO LARGE
  2407. ZR X6,VIP1 IF NO INCREMENT
  2408. BX5 X6
  2409. SB7 B1
  2410. RJ DXB CONVERT DISPLAY TO BINARY
  2411. SX5 CSII *INCORRECT INCREMENT*
  2412. NZ X4,VIPX IF CONVERSION ERROR
  2413. EQ VIP1 FLAG VALID PARAMETER
  2414. VNP SPACE 4,10
  2415. ** VNP - VERIFY NO MORE PARAMETERS.
  2416. *
  2417. * ENTRY (PAR) = ADDRESS OF NEXT PARAMETER IN STRING BUFFER.
  2418. *
  2419. * EXIT (X5) = 0 IF NO MORE PARAMETERS.
  2420. * = *CSTM* IF MORE PARAMETERS.
  2421. *
  2422. * USES X - 1.
  2423. * A - 1.
  2424.  
  2425.  
  2426. VNP SUBR ENTRY/EXIT
  2427. SA1 PAR CHECK NEXT PARAMETER
  2428. SX5 CSTM *TOO MANY PARAMETERS*
  2429. NZ X1,VNPX IF MORE PARAMETERS
  2430. SX5 B0 FLAG NO PARAMETERS
  2431. EQ VNPX RETURN
  2432. COMMON SPACE 4,10
  2433. ** COMMON DECKS.
  2434.  
  2435.  
  2436. *CALL COMCCOD
  2437. *CALL COMCCDD
  2438. *CALL COMCCIO
  2439. CCKD BSS 0 STARTING ADDRESS OF *COMCCKD*
  2440. CKDL$ EQU NLPDS MAXIMUM NUMBER OF LINES IN DISPLAY
  2441. CKDY$ EQU 7672B DEFINE INITIAL Y-COORDINATE
  2442. *CALL COMCCKD
  2443. CCKDL EQU *-CCKD LENGTH OF *COMCCKD
  2444. *CALL COMCCPM
  2445. *CALL COMCDXB
  2446. *CALL COMCMBS
  2447. *CALL COMCMVE
  2448. *CALL COMCPFM
  2449. *CALL COMCPOP
  2450. *CALL COMCRDC
  2451. *CALL COMCRDW
  2452. *CALL COMCRSB
  2453. *CALL COMCSFN
  2454. *CALL COMCUSB
  2455. *CALL COMCSYS
  2456. *CALL COMCWTC
  2457. *CALL COMCWTH
  2458. *CALL COMCWTW
  2459. *CALL COMCZTB
  2460. TITLE BUFFER AREA.
  2461. BUFFERS SPACE 4,10
  2462. ** BUFFERS THAT CANNOT OVERWRITE *PRESET*.
  2463.  
  2464.  
  2465. USE BUFFERS DEFINE LITERALS
  2466.  
  2467. ZBUF BSS ZBUFL TAPE CATALOG FILE BUFFER
  2468. DBUF BSS 0 L-DISPLAY OUTPUT BUFFER
  2469. VFD 12/DBUFL BUFFER LENGTH
  2470. VFD 1/0 SMALL CHARACTERS
  2471. VFD 1/0 PROGRAM FORMAT
  2472. VFD 1/0 SINGLE SPACING
  2473. VFD 45/0
  2474. LDISS 1,1 FIRST LINE OF TITLE
  2475. LDIS 25,(TMSDIS. )
  2476. DTTS LDIS 14,( TMS ENABLED. ) *TMS* STATUS
  2477. DTDS LDIS 4,(HELP) CURRENT DISPLAY
  2478. LDIS 14,( DISPLAY PAGE )
  2479. DTPN LDIS 1,(1) CURRENT PAGE NUMBER
  2480. LDIS 4,( OF )
  2481. DTPC LDIS 1,(1) PAGE COUNT
  2482. LDIS 1,(.)
  2483. LDISE
  2484. LDISS 1,K THIRD LINE OF TITLE
  2485. LDIS 21,(CATALOGS WITH ERRORS=)
  2486. DTCE LDIS 2,( 0) NUMBER OF CATALOGS WITH ERRORS
  2487. LDIS 34,(. CATALOGS WITH NO MT/NT SCRATCH=)
  2488. DTNM LDIS 2,( 0) NUMBER OF CATALOGS WITH NO *MT/NT* SCRATCH
  2489. LDIS 1,(.)
  2490. LDISE
  2491. LDISS 1,K FOURTH LINE OF TITLE
  2492. LDIS 28,(CATALOGS WITH NO CT SCRATCH=)
  2493. DTNC LDIS 2,( 0) NUMBER OF CATALOGS WITH NO *CT* SCRATCH
  2494. LDIS 31,(. CATALOGS WITH NO AT SCRATCH=)
  2495. DTNA LDIS 2,( 0) NUMBER OF CATALOGS WITH NO *AT* SCRATCH
  2496. LDIS 1,(.)
  2497. LDISE
  2498. LDISS 1,NLPDS+1-NLPMS FIRST LINE OF MESSAGE
  2499. DMIN LDIS 49,(ENTER *HELP* FOR HELP. ENTER *END* TO TERMINATE.)
  2500. LDISE
  2501. LDISS 1,K SECOND LINE OF MESSAGE
  2502. DMMA LDIS 30,( LAST COMMAND)
  2503. LDIS 3,( - )
  2504. DMCM LDIS 30,( )
  2505. LDISE
  2506. DBUFS EQU *-DBUF LENGTH OF START OF DISPLAY BUFFER
  2507.  
  2508. ERRNG DBUFL-DBUFS-NWIFD *FAM* DISPLAY OVERFLOW
  2509. ERRNG DBUFL-DBUFS-NWIHD *HELP* DISPLAY OVERFLOW
  2510.  
  2511. BUFF BSS 0 FWA OF OVERWRITTEN BUFFER AREA
  2512. BSS DBUFL-DBUFS REMAINDER OF DISPLAY BUFFER
  2513.  
  2514. ERRNZ *-DBUF-DBUFL DISPLAY BUFFER MISMATCH
  2515.  
  2516. CON 0 END OF DISPLAY BUFFER
  2517. BUFFERS SPACE 4,10
  2518. ** BUFFERS THAT CAN OVERWRITE *PRESET*.
  2519.  
  2520.  
  2521. CBUF BSS 1 COMMAND BUFFER
  2522. BSS CBUFL
  2523. FBUF BSS FBUFL FAMILY ORDINAL TABLE BUFFER
  2524. IBUF BSS IBUFL INPUT FILE BUFFER
  2525. LBUF BSS LBUFL OUTPUT FILE BUFFER
  2526. SBUF BSS SBUFL CATALOG SYSTEM BLOCKS BUFFER
  2527. TFCF BSS NFCST TABLE OF FAMILY CATALOG FIRST ENTRIES
  2528. TFCL BSS NFCST TABLE OF FAMILY CATALOG LAST ENTRIES
  2529. TFDP BSS NPGFD TABLE OF FAMILY CATALOG DISPLAY PAGES
  2530. BUFFL EQU *-BUFF LENGTH OF BUFFER AREA
  2531. TITLE PRESET AREA.
  2532. SPACE 4
  2533. ORG BUFF
  2534. FETS SPACE 4,10
  2535. ** *STATUS* FET.
  2536.  
  2537.  
  2538. Z BSS 0 *STATUS* FET
  2539. Z555555 FILEB 0,0,(FET=5)
  2540. TARG SPACE 4,10
  2541. ** TARG - TABLE OF COMMAND ARGUMENTS.
  2542.  
  2543.  
  2544. TARG BSS 0 TABLE OF COMMAND ARGUMENTS
  2545. ID ARG ID,ID,400B INITIAL DISPLAY
  2546. OP ARG OP,OP,400B INPUT/OUTPUT MODE
  2547. I ARG I,I,400B INPUT FILE
  2548. L ARG L,L,400B OUTPUT FILE
  2549. NOBELL ARG (-=2R ),BEL NO BELL OPTION
  2550. WT ARG WT,WT,400B WAITING TIME
  2551. CON 0 END OF TABLE
  2552. TOPT SPACE 4,10
  2553. ** TOPT - TABLE OF VALID INPUT/OUTPUT OPTIONS.
  2554.  
  2555.  
  2556. TOPT BSS 0 TABLE OF VALID INPUT/OUTPUT OPTIONS
  2557. LOC 0
  2558. OPTLD VFD 42/0LL,18/OPTLD L-DISPLAY MODE
  2559. OPTLN VFD 42/0LLINE,18/OPTLN LINE MODE
  2560. OPTSC VFD 42/0LSCREEN,18/OPTSC SCREEN MODE
  2561. LOC *O
  2562. TOPTL EQU *-TOPT LENGTH OF TABLE
  2563. TDIS SPACE 4,10
  2564. ** TDIS - TABLE OF VALID DISPLAY DIRECTIVES.
  2565.  
  2566.  
  2567. TDIS BSS 0 TABLE OF VALID DISPLAY DIRECTIVES.
  2568. VFD 42/0LFAM,18/DISFC FAMILY CATALOG DISPLAY
  2569. VFD 42/0LHELP,18/DISHP HELP DISPLAY
  2570. TDISL EQU *-TDIS LENGTH OF TABLE
  2571. TTSC SPACE 4,10
  2572. ** TTSC - TABLE OF TERMINAL SCREEN CHARACTERS.
  2573. *
  2574. * ENTRY ONE WORD PER TERMINAL TYPE.
  2575. *T, VFD 24/ , 12/ BCHAR, 12/ CCHAR, 12/ TCHAR
  2576. *
  2577. * BCHAR = BELL CHARACTER
  2578. * CCHAR = CLEAR SCREEN CHARACTER.
  2579. * TCHAR = TOP OF SCREEN CHARACTER.
  2580.  
  2581.  
  2582. TTSC BSS 0 TABLE OF TOP OF SCREEN CHARACTERS
  2583. LOC 0
  2584. VFD 24/,12/2R^*,12/2R ,12/2R NO SCREEN MODE
  2585. VFD 24/,12/2R ,12/2R ,12/2R RESERVED
  2586. VFD 24/,12/2R^*,12/2R^=,12/2R^? CDC 721
  2587. VFD 24/,12/2R^*,12/2R^',12/2R CDC 722
  2588. VFD 24/,12/2R^*,12/2R ,12/2R DEC VT100
  2589. VFD 24/,12/2R^*,12/2R ,12/2R Z19 OR H19
  2590. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2591. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2592. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2593. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2594. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2595. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2596. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2597. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2598. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2599. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2600. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2601. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2602. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2603. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2604. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2605. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2606. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2607. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2608. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2609. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2610. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2611. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2612. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2613. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2614. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2615. VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
  2616. ERRNZ *-40B INCORRECT TABLE SIZE
  2617. LOC *O
  2618. WORKING SPACE 4,10
  2619. ** PRESET WORKING STORAGE.
  2620.  
  2621.  
  2622. DF DATA C*"DEFRN"* DEFAULT WAITING TIME NON-SYSTEM ORIGIN
  2623. GP BSS 3 *GETPFP* BLOCK
  2624. ID DATA C*HELP* INITIAL DISPLAY
  2625. OP DATA C*L* INPUT/OUTPUT MODE
  2626. PI BSS 1 PARAMETER IMAGE
  2627. RT CON 10 CATALOG ATTACH RETRY COUNT
  2628. WT DATA C*"DEFRS"* WAITING TIME
  2629. PRS SPACE 4,10
  2630. ** PRS - PRESET PROGRAM.
  2631.  
  2632.  
  2633. PRS SUBR ENTRY/EXIT
  2634. MX0 1 SET THE REAL-TIME BIT IN TAPE CATALOG FET
  2635. SA1 P+1
  2636. LX0 43-59+60
  2637. BX6 X0+X1
  2638. SA6 A1
  2639. GETPFP GP GET FAMILY NAME, USER NAME, AND USER INDEX
  2640. MX0 42 SAVE ORIGINAL FAMILY NAME
  2641. SA1 GP+0
  2642. BX6 X0*X1
  2643. SA6 OFM
  2644. SA1 GP+2 SAVE ORIGINAL USER INDEX
  2645. BX6 -X0*X1
  2646. SA6 OUI
  2647. RJ GSF GET SCRATCH FILE NAME
  2648. SX1 3 SET LOCAL FILE NAME FOR CATALOG FILE
  2649. BX6 X6+X1
  2650. SA6 P
  2651. REPRIEVE RPVA,SET,237B SET EXTENDED REPRIEVE
  2652. MX0 -12 CHECK ORIGIN TYPE
  2653. SA1 JOPR
  2654. AX1 24
  2655. BX6 -X0*X1
  2656. SA6 JOT
  2657. SX6 X6-SYOT
  2658. ZR X6,PRS5 IF SYSTEM ORIGIN
  2659. SX6 X6+SYOT-IAOT
  2660. SX5 X6
  2661. PRS1 RJ ACF ATTACH CATALOG FILE
  2662. SX4 X4-CSCFA
  2663. ZR X4,PRS2 IF FILE ATTACHED
  2664. SX4 X4-CSCFB+CSCFA
  2665. NZ X4,PRS3 IF NOT FILE BUSY
  2666. NZ X5,PRS1.1 IF NOT INTERACTIVE ORIGIN
  2667. SA1 RT DECREMENT RETRY COUNT
  2668. SX6 X1-1
  2669. SA6 A1
  2670. NG X6,PRS3 IF RETRY COUNT EXHAUSTED
  2671. PRS1.1 ROLLOUT =1
  2672. EQ PRS1 RETRY ATTACH
  2673.  
  2674. PRS2 REWIND P,R GET SYSTEM BLOCK
  2675. READ P,R
  2676. MX0 -5 CHECK FOR ERROR
  2677. SA1 P
  2678. AX1 9
  2679. BX1 -X0*X1
  2680. NZ X1,PRS3 IF ERROR ON READ
  2681. READW P,PRSA,SBCWL+/TFM/TMUN+/TFM/UNCL
  2682. RETURN P,R
  2683. MX0 42 CHECK FOR VALID USER NAME
  2684. SA1 GP+2
  2685. SRCHTAB X1,PRSA+SBCWL+/TFM/TMUN,0,1,/TFM/UNCL
  2686. ZR X6,PRS4 IF VALID USER NAME
  2687. PRS3 RETURN P,R
  2688. ABTMSG DFIC *INCORRECT COMMAND.*
  2689.  
  2690. PRS4 SX6 -1 DISABLE L-DISPLAY MODE
  2691. SA6 TOPT+OPTLD
  2692. SA1 TOPT+OPTLN SWITCH TO LINE MODE DEFAULT
  2693. BX6 X1
  2694. SA6 OP
  2695. SA1 DF RESET DEFAULT WAITING TIME
  2696. BX6 X1
  2697. SA6 WT
  2698. SA1 JOT CHECK ORIGIN TYPE
  2699. SX1 X1-IAOT
  2700. ZR X1,PRS6 IF INTERACTIVE ORIGIN
  2701. PRS5 SX6 -1 DISABLE SCREEN MODE
  2702. SA6 TOPT+OPTSC
  2703. PRS6 RJ GTC GET TERMINAL CHARACTERISTICS
  2704. MX0 -12 GET ORDER DEPENDENT ARGUMENTS
  2705. SA1 ACTR GET ARGUMENT COUNT
  2706. SB4 X1
  2707. SA4 ARGR GET FIRST ARGUMENT
  2708. SB5 TARG GET FWA OF ARGUMENT TABLE
  2709. PRS7 ZR B4,PRS14 IF END OF ARGUMENTS
  2710. SA2 B5 CHECK FOR EQUIVALENCED ARGUMENTS
  2711. LX2 59-47
  2712. NG X2,PRS12 IF END OF EQUIVALENCED ARGUMENTS
  2713. SX2 X4 CHECK FOR EQUIVALENCED ARGUMENT
  2714. SX2 X2-1R=
  2715. ZR X2,PRS12 IF END OF ORDER DEPENDENT ARGUMENTS
  2716. SB4 B4-B1 DECREMENT ARGUMENT COUNT
  2717. SA2 B5 GET TABLE ENTRY
  2718. ZR X2,PRS13 IF END OF TABLE
  2719. BX6 X0*X4 SAVE ARGUMENT
  2720. SA4 A4+B1
  2721. SB2 X2 GET ADDRESS TO RECEIVE ARGUMENT
  2722. LX2 12 GET OPTION POINTER
  2723. BX3 -X0*X2
  2724. LX2 18 GET ASSUMED VALUE
  2725. SB3 X2
  2726. LX2 12 GET *0* STATUS
  2727. BX2 -X0*X2
  2728. SX3 X3-77B CHECK FOR TWO CHARACTER ARGUMENT
  2729. SB5 B5+B1
  2730. NZ X3,PRS8 IF TWO CHARACTER ARGUMENT
  2731. SB5 B5+B1
  2732. PRS8 NZ X6,PRS9 IF ARGUMENT SPECIFIED
  2733. SA1 B3 GET DEFAULT ARGUMENT
  2734. BX6 X1
  2735. PRS9 SX2 X2-4000B
  2736. ZR X2,PRS10 IF DISPLAY *0* ALLOWED
  2737. SX1 1R0
  2738. LX1 54
  2739. BX1 X6-X1
  2740. NZ X1,PRS10 IF NOT DISPLAY *0*
  2741. SX6 B0
  2742. PRS10 MX2 42
  2743. NZ X6,PRS11 IF NON-ZERO ARGUMENT
  2744. MX2 60
  2745. PRS11 SA1 B2 SET VALUE FOR ARGUMENT
  2746. BX1 -X2*X1
  2747. BX6 X6+X1
  2748. SA6 A1
  2749. EQ PRS7 CHECK NEXT ARGUMENT
  2750.  
  2751. PRS12 RJ ARG PROCESS ORDER INDENPENDENT ARGUMENTS
  2752. ZR X1,PRS14 IF VALID ARGUMENTS
  2753. PRS13 MX0 42 SET INCORRECT PARAMETER IN MESSAGE
  2754. BX1 X0*X4
  2755. SB2 1R$
  2756. SB3 DFUP
  2757. SB5 -B3
  2758. RJ SNM SET NAME IN MESSAGE
  2759. ABTMSG DFUP *UNKNOWN PARAMETER - PPPPPPP.*
  2760.  
  2761. PRS14 MX0 42 CHECK INITIAL DISPLAY PARAMETER
  2762. SA1 ID
  2763. SRCHTAB X1,TDIS,0,1,TDISL
  2764. SX7 2RID
  2765. LX7 48
  2766. NZ X6,PRS18 IF VALUE NOT FOUND
  2767. BX6 -X0*X2
  2768. SA6 DIS SET INITIAL DISPLAY VALUE
  2769. MX0 42 CHECK INPUT/OUTPUT MODE
  2770. SA1 OP
  2771. SRCHTAB X1,TOPT,0,1,TOPTL
  2772. SX7 2ROP
  2773. LX7 48
  2774. NZ X6,PRS18 IF VALUE NOT FOUND
  2775. BX6 -X0*X2
  2776. SA6 OPT SET INPUT/OUTPUT MODE
  2777. SA5 WT CHECK WAITING TIME
  2778. SB7 -B1
  2779. RJ DXB CONVERT DISPLAY TO BINARY
  2780. SA1 WT
  2781. SX7 2RWT
  2782. LX7 48
  2783. NZ X4,PRS18 IF INCORRECT WAITING TIME
  2784. SX1 X6-10000B
  2785. NG X1,PRS16 IF LESS THAN THE MAXIMUM
  2786. SX6 7777B
  2787. PRS16 SA1 OPT CHECK FOR LINE MODE
  2788. SX1 X1-OPTLN
  2789. NZ X1,PRS17 IF NOT LINE MODE
  2790. SX6 B0
  2791. PRS17 SA6 ROT SET ROLLOUT TIME
  2792. ZR X6,PRS19 IF NO ROLLOUT TIME
  2793. SA1 OPT
  2794. SX1 X1-OPTLD
  2795. NZ X1,PRS19 IF NOT DISPLAY MODE
  2796. SX1 LINE SET EVENT DESCRIPTOR FOR ROLLOUT
  2797. MBSXTA X1,ROT,12,11,23
  2798. EQ PRS20 CHECK FOR TERMINAL INPUT
  2799.  
  2800. PRS18 SA7 PI SAVE PARAMETER IMAGE
  2801. SB2 1R$ SET VALUE IMAGE IN MESSAGE
  2802. SB3 DFIV
  2803. SB5 -B3
  2804. RJ SNM SET NAME IN MESSAGE
  2805. SA1 PI SET PARAMETER IMAGE IN MESSAGE
  2806. SB2 1R#
  2807. SB3 DFIV
  2808. SB5 -B3
  2809. RJ SNM SET NAME IN MESSAGE
  2810. ABTMSG DFIV *INCORRECT VALUE FOR PP PARAMETER - VVVV.*
  2811.  
  2812. PRS19 SA1 OPT CHECK FOR SCREEN MODE
  2813. SX1 X1-OPTSC
  2814. NZ X1,PRS20 IF NOT SCREEN MODE
  2815. SX4 2RTT SET DEVICE TYPE
  2816. SETFET I,(DTY=X4)
  2817. RJ GSF GET SCRATCH FILE NAME
  2818. SX1 B1 SET SCRATCH FILE NAME INTO INPUT FET
  2819. BX6 X6+X1
  2820. SA6 I
  2821. REQUEST A6,TT,NOMSG ASSIGN INPUT FILE TO TERMINAL
  2822. SX4 2RTT SET DEVICE TYPE
  2823. SETFET L,(DTY=X4)
  2824. RJ GSF GET SCRATCH FILE NAME
  2825. SX1 B1 SET SCRATCH FILE NAME INTO OUTPUT FET
  2826. BX6 X6+X1
  2827. SA6 L
  2828. REQUEST A6,TT,NOMSG ASSIGN OUTPUT FILE TO TERMINAL
  2829. PRS20 SX2 I
  2830. RJ STF SET TERMINAL FILE
  2831. SA6 TIN SAVE TERMINAL INPUT STATUS
  2832. SX2 L
  2833. RJ STF SET TERMINAL FILE
  2834. SA6 TOU SAVE TERMINAL OUTPUT STATUS
  2835. CSET NORMAL SET 6-BIT CHARACTER SET
  2836. RDMEM ABS,FOTP,1,FFO GET FAMILY ORDINAL TABLE ADDRESS
  2837. MX0 -24
  2838. LX2 24
  2839. BX6 -X0*X2
  2840. SA6 FFO
  2841. MX0 -12 GET MAXIMUM FOT ENTRIES
  2842. LX2 12
  2843. BX6 -X0*X2
  2844. SA6 MXF
  2845. SA1 OPT CHECK INPUT/OUTPUT MODE
  2846. SX1 X1-OPTLD
  2847. NZ X1,PRSX IF NOT L-DISPLAY
  2848. CSTATUS CON GET CONSOLE TYPE
  2849. SA1 CON
  2850. ZR X1,PRSX IF NOT 721 CONSOLE
  2851. MOVE PRSBL,PRSB,CCKD REWRITE COMMON DECK *COMCCKD*
  2852. SX3 KDL
  2853. RJ PRK PROCESS K-DISPLAY
  2854. EQ PRSX RETURN
  2855.  
  2856. PRSA BSS SBCWL+/TFM/TMUN+/TFM/UNCL CATALOG WORKING BUFFER
  2857. PRSB BSS 0 IMAGE OF *COMCCKD* FOR 721 CONSOLE
  2858. LOC CCKD
  2859. QUAL PRSB
  2860. QUAL$ EQU 1 QUALIFY COMMON DECK
  2861. CKDI$ EQU 10 DEFINE Y-COORDINATE INCREMENT
  2862. CKDY$ EQU 7714B DEFINE INITIAL Y-COORDINATE
  2863. *CALL COMCCKD
  2864. QUAL *
  2865. PRSBL EQU *-CCKD LENGTH OF *COMCCKD*
  2866. LOC *O
  2867. ERRNZ CKD-/PRSB/CKD COMMON DECK ENTRY MISMATCH
  2868. ERRNZ CCKDL-PRSBL COMMON DECK LENGTH MISMATCH
  2869. GSF SPACE 4,10
  2870. ** GSF - GET SCRATCH FILE NAME.
  2871. *
  2872. * EXIT (X6) = UNASSIGNED SCRATCH FILE NAME.
  2873. *
  2874. * USES X - 1, 4, 6.
  2875. * A - 1, 6.
  2876. *
  2877. * MACROS PDATE, STATUS.
  2878.  
  2879.  
  2880. GSF4 SX1 B1 SET FILE NAME IN FET
  2881. BX6 X6+X1
  2882. SA6 Z
  2883. STATUS Z CHECK FILE STATUS
  2884. SX6 7776B
  2885. SA1 Z
  2886. BX6 X6*X1
  2887. NZ X6,GSF1 IF FILE EXISTS
  2888. MX6 42 GET FILE NAME
  2889. BX6 X6*X1
  2890.  
  2891. GSF SUBR ENTRY/EXIT
  2892. GSF1 SA1 GSFA
  2893. NZ X1,GSF2 IF BINARY NUMBER EXISTS
  2894. SA1 GSFC SET INITIAL BINARY
  2895. BX6 X1
  2896. SA6 GSFA
  2897. PDATE GSFB GET PACKED DATE AND TIME
  2898. MX6 -6 RANDOMIZE BINARY
  2899. SA1 GSFB
  2900. BX6 -X6*X1
  2901. LX6 15
  2902. SA1 GSFA
  2903. BX6 X1-X6
  2904. SA6 A1
  2905. BX1 X6
  2906. GSF2 SX6 B1 RESET BINARY
  2907. IX6 X1-X6
  2908. SA6 A1
  2909.  
  2910. * CONVERT BINARY TO FILE NAME.
  2911.  
  2912. SX6 B0
  2913. GSF3 ZR X1,GSF4 IF END OF BINARY
  2914. MX4 -5 CONVERT 5 BINARY BITS TO 6 BIT CHARACTER
  2915. BX4 -X4*X1
  2916. SX4 X4+B1
  2917. BX6 X6+X4
  2918. LX6 -6+60
  2919. AX1 5
  2920. EQ GSF3 GET NEXT CHARACTER CODE
  2921.  
  2922. GSFA CON 0 BINARY NUMBER
  2923. GSFB CON 0 PACKED DATE AND TIME
  2924. GSFC CON 317777777777B
  2925. GTC SPACE 4,10
  2926. ** GTC - GET TERMINAL CHARACTERISTICS.
  2927. *
  2928. * EXIT (BEL) = BELL CHARACTER IN BITS 11 - 0.
  2929. * (CSL) = CLEAR SCREEN CHARACTER IN BITS 47 - 36.
  2930. * (TOP) = TOP OF SCREEN CHARACTER IN BITS 35 - 24.
  2931. *
  2932. * USES X - 0, 1, 4.
  2933. * A - 1.
  2934. *
  2935. * MACROS MBSATA, SETSLM.
  2936.  
  2937.  
  2938. GTC SUBR ENTRY/EXIT
  2939. SA1 JOT CHECK IF INTERACTIVE
  2940. SX1 X1-IAOT
  2941. ZR X1,GTCX IF NOT INTERACTIVE ORIGIN TYPE
  2942. SETSLM GTCA GET TERMINAL MODEL
  2943. MX0 -5
  2944. SA1 GTCA
  2945. BX4 -X0*X1
  2946. MBSATA X4+TTSC,BEL,12,35,11 SET BELL CHARACTER
  2947. MBSATA X4+TTSC,CSL,12,23,47 SET CLEAR SCREEN CHARACTER
  2948. MBSATA X4+TTSC,TOP,12,11,35 SET TOP OF SCREEN CHARACTER
  2949. EQ GTCX RETURN
  2950.  
  2951. GTCA BSS 1 TERMINAL MODEL WORD
  2952. COMMON SPACE 4,10
  2953. ** PRESET COMMON DECKS.
  2954.  
  2955.  
  2956. *CALL COMCARG
  2957. *CALL COMCDCP
  2958. KDL BSS 0 TABLE OF L-DISPLAY LINES
  2959. KDL HERE
  2960. PRK HERE
  2961. *CALL COMCLFM
  2962. *CALL COMCSFM
  2963. *CALL COMCSNM
  2964. *CALL COMCSTF
  2965. TITLE *TMSON* AND *TMSOFF* PROGRAM AREA.
  2966. SPACE 4,10
  2967. QUAL TMSON
  2968. FBUF IFLT *,FBUF+FBUFL
  2969. BSS FBUF+FBUFL-* PREVENT OVERWRITE BY FAMILY TABLE BUFFER
  2970. FBUF ENDIF
  2971. FETS SPACE 4,10
  2972. ** FETS.
  2973.  
  2974.  
  2975. TF BSS 0 *TMS* CATALOG FET FOR *TFM*
  2976. "TMFC" FILEB 0,0,(FET=16),EPR
  2977. TARG SPACE 4,10
  2978. ** TARG - TABLE OF COMMAND ARGUMENTS.
  2979.  
  2980.  
  2981. TARG BSS 0 TABLE OF COMMAND ARGUMENTS
  2982. FM ARG FM,FM,400B FAMILY NAME
  2983. TARGN BSS 0
  2984. * CON 0 END OF TABLE FOR *TMSOFF*
  2985. DEFTO ARG DT,DT,400B DEFAULT *TO* FOR NON-*SYOT*
  2986. DEFTOS ARG DS,DS,400B DEFAULT *TO* FOR *SYOT*
  2987. CON 0 END OF TABLE
  2988. TDEF SPACE 4,10
  2989. ** TDEF - TABLE OF *TO* ARGUMENT OPTIONS.
  2990.  
  2991.  
  2992. TDEF BSS 0 TABLE OF *TO* ARGUMENT OPTIONS
  2993. VFD 18/58,12/0,30/1RF BIT POSITION 0, CLEAR BIT, *TO=F*
  2994. VFD 18/58,12/1,30/1RT BIT POSITION 0, SET BIT, *TO=T*
  2995. VFD 18/56,12/0,30/1RE BIT POSITION 1, CLEAR BIT, *TO=E*
  2996. VFD 18/56,12/1,30/1RC BIT POSITION 1, SET BIT, *TO=C*
  2997. CON 0 END OF TABLE
  2998. TDES SPACE 4,10
  2999. ** TDES - TABLE OF *TO* ARGUMENT OPTIONS FOR SYOT JOBS.
  3000.  
  3001.  
  3002. TDES BSS 0 TABLE OF *TO* ARGUMENT OPTIONS
  3003. VFD 18/57,12/0,30/1RF BIT POSITION 0, CLEAR BIT, *TO=F*
  3004. VFD 18/57,12/1,30/1RT BIT POSITION 0, SET BIT, *TO=T*
  3005. VFD 18/55,12/0,30/1RE BIT POSITION 1, CLEAR BIT, *TO=E*
  3006. VFD 18/55,12/1,30/1RC BIT POSITION 1, SET BIT, *TO=C*
  3007. CON 0 END OF TABLE
  3008. WORKING SPACE 4,10
  3009. ** WORKING STORAGE.
  3010.  
  3011.  
  3012. DS CON 0 *TO* FOR SYSTEM ORIGIN
  3013. DT CON 0 *TO* FOR NON-SYSTEM ORIGIN
  3014. FM CON 0 FAMILY NAME
  3015. PPC CON 0 PP CHECK FLAG FET ADDRESS
  3016. PPS CON 0 PP ERROR FLAG
  3017. SSI CON 0 SUBSYSTEM ID
  3018. TM CON 0 *TMSON* FLAG
  3019. TMSOFF SPACE 4,10
  3020. ** TMSOFF - MAIN PROGRAM.
  3021.  
  3022.  
  3023. TMSOFF SB1 1 ENTRY
  3024. SX6 B0 CLEAR *DEFTO* AND *DEFTOS* ARGUMENTS
  3025. SA6 TARGN
  3026. RJ PRS PRESET PROGRAM
  3027. SA1 FM
  3028. ZR X1,END IF NO FAMILY CATALOGS TO DELETE
  3029. SX6 X1-1
  3030. ZR X6,TMF1 IF DELETE ALL FAMILY CATALOGS
  3031. MX0 42 FIND FAMILY IN TABLE
  3032. SA5 MXF
  3033. SRCHTAB X1,FBUF,0,1,X5
  3034. RJ DCF DELETE FAMILY CATALOG
  3035. ZR X3,END IF CATALOG DELETED
  3036. SX3 X3-2
  3037. SX5 DFFN *FAMILY NOT FOUND.*
  3038. ZR X3,ABT IF FAMILY NOT FOUND
  3039. SX5 B0
  3040. EQ ABT ABORT PROGRAM
  3041.  
  3042. TMF1 SA5 MXF GET CATALOG SYSTEM BLOCKS
  3043. TMF2 SX5 X5-1
  3044. NG X5,END IF END OF FAMILIES
  3045. MX0 42 GET FAMILY NAME
  3046. SA1 X5+FBUF
  3047. RJ DCF DELETE FAMILY CATALOG FILE
  3048. EQ TMF2 CHECK NEXT FAMILY
  3049. TMSON SPACE 4,10
  3050. ** TMSON - MAIN ROUTINE.
  3051.  
  3052.  
  3053. TMSON SB1 1 ENTRY
  3054. SX6 B1 FLAG *TMSON*
  3055. SA6 TM
  3056. RJ PRS PRESET PROGRAM
  3057. SA1 FM
  3058. ZR X1,TMN3 IF NO FAMILY CATALOGS TO INITIALIZE
  3059. SX6 X1-1
  3060. ZR X6,TMN1 IF INITIALIZE ALL FAMILY CATALOGS
  3061. MX0 42 FIND FAMILY IN TABLE
  3062. SA5 MXF
  3063. SRCHTAB X1,FBUF,0,1,X5
  3064. RJ ICF INITIALIZE FAMILY CATALOG FILE
  3065. ZR X3,TMN3 IF CATALOG INITIALIZED
  3066. SX1 X3-2
  3067. SX5 DFFN *FAMILY NOT FOUND.*
  3068. ZR X3,ABT IF FAMILY NOT FOUND
  3069. SX5 B0
  3070. EQ ABT ABORT PROGRAM
  3071.  
  3072. TMN1 SA5 MXF GET CATALOG SYSTEM BLOCKS
  3073. TMN2 SX5 X5-1
  3074. NG X5,TMN3 IF END OF FAMILIES
  3075. MX0 42 GET FAMILY NAME
  3076. SA1 X5+FBUF
  3077. RJ ICF INITIALIZE FAMILY CATALOG FILE
  3078. EQ TMN2 CHECK NEXT FAMILY
  3079.  
  3080. TMN3 SA1 SSI CHECK SUBSYSTEM ID
  3081. SX1 X1-MTSI
  3082. NZ X1,END IF NOT *MAGNET* SUBSYSTEM
  3083. MX6 1 SET *TMS* SYSTEM STATUS BITS
  3084. SA1 TMS
  3085. BX6 X6+X1
  3086. SA6 TMS
  3087. SYSTEM TFU,R,TMS,/TFU/STSF*100B CALL *TFU*
  3088. EQ END TERMINATE PROGRAM
  3089. ABT SPACE 4,15
  3090. ** ABT - ABORT PROGRAM.
  3091. *
  3092. * ENTRY (X5) = ADDRESS OF DAYFILE MESSAGE.
  3093. *
  3094. * EXIT MESSAGE ISSUED TO USER AND SYSTEM DAYFILES.
  3095. * PROGRAM ABORTED.
  3096. *
  3097. * USES X - 1, 2.
  3098. * A - 1, 2.
  3099. *
  3100. * CALLS SWP.
  3101. *
  3102. * MACROS ABORT, MESSAGE, RETURN.
  3103.  
  3104.  
  3105. ABT BSS 0 ENTRY
  3106. MBSATA (=3),P,18,17,17 SET FET COMPLETION BIT
  3107. RETURN P,R RETURN CATALOG FILE
  3108. SA1 OFM GET ORIGINAL FAMILY NAME/USER INDEX
  3109. SA2 OUI
  3110. RJ SWP SWAP TO FAMILY NAME/USER INDEX
  3111. ZR X5,ABT1 IF NO DAYFILE MESSAGE
  3112. MESSAGE X5,0,R ISSUE DAYFILE MESSAGE
  3113. ABT1 ABORT ABORT PROGRAM
  3114. DCF SPACE 4,20
  3115. ** DCF - DELETE FAMILY CATALOG FILE.
  3116. *
  3117. * ENTRY (X1) = FAMILY NAME.
  3118. *
  3119. * EXIT (X3) = 0 IF FILE IS DELETED.
  3120. * = 1 IF FILE CANNOT BE DELETED.
  3121. * = 2 IF FAMILY NOT FOUND.
  3122. * MESSAGE *DFUF* ISSUED TO DAYFILE IF (X3) = 1.
  3123. *
  3124. * USES X - 0, 1, 2, 6, 7.
  3125. * A - 1, 3, 6, 7.
  3126. * B - 2, 3, 5.
  3127. *
  3128. * CALLS SWP.
  3129. *
  3130. * MACROS ATTACH, DFAT, MBSATA, MBSXTA, RETURN, SETFET.
  3131.  
  3132.  
  3133. DCF2 RETURN P,R RETURN FILE
  3134. SA3 DCFB GET STATUS
  3135.  
  3136. DCF SUBR ENTRY/EXIT
  3137. MX0 42 SAVE FAMILY NAME
  3138. BX6 X0*X1
  3139. SA6 DCFA
  3140. SX3 B1+B1
  3141. ZR X6,DCFX IF NO FAMILY NAME
  3142. SX2 377777B
  3143. RJ SWP SWAP TO FAMILY NAME AND USER INDEX
  3144. SX3 B1+B1
  3145. NZ X4,DCFX IF FAMILY NOT FOUND
  3146. SX6 B0 PRESET FILE STATUS
  3147. SA6 DCFB
  3148. MBSATA ZEROES,P,16,17,17 CLEAR ERROR CODE
  3149. SETFET P,(DTY=B0),(ERA=ACFB)
  3150. ATTACH P,,,,W,,,IP,FA ATTACH SYSTEM FILE
  3151. MX0 -8 CHECK ERROR CODE
  3152. SA1 P
  3153. AX1 10
  3154. BX1 -X0*X1
  3155. NZ X1,DCF1 IF ERROR IN ACCESS
  3156. SX6 B0 CLEAR PP ERROR FLAG
  3157. SA6 PPS
  3158. SX6 P SET PP CHECK FLAG
  3159. SA6 PPC
  3160. SX1 B1 SET IGNORE FAMILY ACTIVITY
  3161. MBSXTA X1,P,1,0,9
  3162. DFAT P DELETE FAST-ATTACHED STATUS
  3163. SA3 PPS
  3164. NZ X3,DCF1 IF UNABLE TO DELETE FILE
  3165. EQ DCF2 RETURN FILE
  3166.  
  3167. DCF1 SX6 B1 FLAG UNABLE TO DELETE FILE
  3168. SA6 DCFB
  3169. SA1 DCFA SET FAMILY NAME IN MESSAGE
  3170. SB2 1R#
  3171. SB3 DCFC
  3172. SB5 -DFUF
  3173. RJ SNM SET NAME IN MESSAGE
  3174. MESSAGE DCFC,0,R *UNABLE TO TURN OFF *TMS* CATALOG*
  3175. EQ DCF2 RETURN FILE
  3176.  
  3177. DCFA BSS 1 FAMILY NAME
  3178. DCFB CON 0 FILE STATUS
  3179. DCFC DATA C$ UNABLE TO TURN OFF *TMS* CATALOG FOR #######.$
  3180. END SPACE 4,10
  3181. ** END - TERMINATE PROGRAM.
  3182. *
  3183. * EXIT PROGRAM TERMINATED.
  3184. *
  3185. * USES X - 1, 2.
  3186. * A - 1, 2.
  3187. *
  3188. * CALLS SWP.
  3189. *
  3190. * MACROS ENDRUN, RETURN.
  3191.  
  3192.  
  3193. END BSS 0 ENTRY
  3194. RETURN P,R RETURN CATALOG FILE
  3195. SA1 OFM GET ORIGINAL FAMILY NAME/USER INDEX
  3196. SA2 OUI
  3197. RJ SWP SWAP TO FAMILY NAME/USER INDEX
  3198. ENDRUN TERMINATE PROGRAM
  3199. ICF SPACE 4,20
  3200. ** ICF - INITIALIZE FAMILY CATALOG FILE.
  3201. *
  3202. * ENTRY (X1) = FAMILY NAME.
  3203. *
  3204. * EXIT (X3) = 0 IF FILE IS INITIALIZED.
  3205. * = 1 IF FILE CANNOT BE INITIALIZED.
  3206. * = 2 IF FAMILY NOT FOUND.
  3207. * MESSAGE *DFUN* ISSUED IF (X3) = 1.
  3208. *
  3209. * USES X - 0, 1, 2, 6, 7.
  3210. * A - 1, 3, 6, 7.
  3211. * B - 2, 3, 5.
  3212. *
  3213. * CALLS SWP.
  3214. *
  3215. * MACROS ATTACH, DFAT, ENFA, MBSATA, RETURN, SETFET, SYSTEM.
  3216.  
  3217.  
  3218. ICF4 RETURN P,R RETURN FILE
  3219. SA3 ICFB GET STATUS
  3220.  
  3221. ICF SUBR ENTRY/EXIT
  3222. MX0 42 SAVE FAMILY NAME
  3223. BX6 X0*X1
  3224. SA6 ICFA
  3225. SX3 B1+B1
  3226. ZR X6,ICFX IF NO FAMILY NAME
  3227. SX2 377777B
  3228. RJ SWP SWAP TO FAMILY NAME AND USER INDEX
  3229. SX3 B1+B1
  3230. NZ X4,ICFX IF FAMILY NOT FOUND
  3231. ICF0.1 BSS 0
  3232. SX6 B0 PRESET FILE STATUS
  3233. SA6 ICFB
  3234. SX6 ICFC SET *TFM* ERROR MESSAGE ADDRESS
  3235. SA6 TF+/TFM/TFEA
  3236. MBSATA ZEROES,P,16,17,17 CLEAR ERROR CODE
  3237. SETFET P,(DTY=B0),(ERA=ACFB)
  3238. ATTACH P,,,,W,,,IP,NF ATTACH SYSTEM FILE
  3239. MX0 -8 CHECK ERROR CODE
  3240. SA1 P
  3241. AX1 10
  3242. BX1 -X0*X1
  3243. ZR X1,ICF0.2 IF NO ERROR
  3244. SX0 X1-/ERRMSG/PFA
  3245. NZ X0,ICF1 IF NOT UTILITY ACTIVE
  3246. ROLLOUT =10 WAIT 10 SECONDS
  3247. EQ ICF0.1 RETRY ATTACH
  3248.  
  3249. ICF0.2 BSS 0
  3250. SX1 /TFM/ISFS*10B+4 SET *TFM* SUBFUNCTION
  3251. MBSXTA X1,TF,9,8,8
  3252. SX7 10000B SET INITIALIZE VSNS
  3253. SA7 TF+/TFM/TFES
  3254. SX6 B0 CLEAR PP ERROR FLAG
  3255. SA6 PPS
  3256. SX6 TF SET PP CHECK FLAG
  3257. SA6 PPC
  3258. SYSTEM TFM,R,TF,/TFM/SSJF*100B CALL *TFM* TO INTIALIZE FILE
  3259. SA3 PPS
  3260. NZ X3,ICF3 IF ERROR FROM *TFM*
  3261. MX0 -9 CHECK *TFM* ERROR CODE
  3262. SA1 TF
  3263. AX1 9
  3264. BX1 -X0*X1
  3265. NZ X1,ICF3 IF ERROR FROM *TFM*
  3266. SX6 B0 CLEAR PP ERROR FLAG
  3267. SA6 PPS
  3268. SX6 P SET PP CHECK FLAG
  3269. SA6 PPC
  3270. ENFA P,GLOBAL ENTER GLOBAL FAST ATTACH FILE
  3271. SA3 PPS
  3272. NZ X3,ICF3 IF UNABLE TO ENTER FAST ATTACH FILE
  3273. EQ ICF4 RETURN FILE
  3274.  
  3275. ICF1 SX1 X1-/ERRMSG/FBS
  3276. NZ X1,ICF3 IF NOT *FILE BUSY*
  3277. ATTACH P,,,,W,,,IP,FA ATTEMPT FAST ATTACH
  3278. MX0 -8 CHECK ERROR CODE
  3279. SA1 P
  3280. AX1 10
  3281. BX1 -X0*X1
  3282. ZR X1,ICF4 IF ALREADY FAST ATTACHED ON THIS MACHINE
  3283. SX6 B0 CLEAR PP ERROR FLAG
  3284. SA6 PPS
  3285. SX6 P SET PP CHECK FLAG
  3286. SA6 PPC
  3287. ENFA P,LINK LINK TO EXISTING FAST ATTACH
  3288. SA3 PPS
  3289. NZ X3,ICF3 IF UNABLE TO ENTER FAST ATTACH FILE
  3290. ATTACH P,,,,W,,,IP,FA ATTACH FILE
  3291. MX0 -8 CHECK ERROR CODE
  3292. SA1 P
  3293. AX1 10
  3294. BX1 -X0*X1
  3295. NZ X1,ICF3 IF ERROR IN ACCESS
  3296. SX1 /TFM/ISFS*10B SET FUNCTION CODE
  3297. MBSXTA X1,TF,9,8,8
  3298. SX7 20000B SET TO CLEAR CURRENT AND DOWN MACHINES
  3299. SA7 TF+/TFM/TFES
  3300. SX6 B0 CLEAR PP ERROR FLAG
  3301. SA6 PPS
  3302. SX6 TF SET PP CHECK FLAG
  3303. SA6 PPC
  3304. SYSTEM TFM,R,TF,/TFM/SSJF*100B CLEAN UP CATALOG
  3305. SA3 PPS
  3306. NZ X3,ICF2 IF ERROR FROM *TFM*
  3307. MX0 -9 CHECK *TFM* ERROR CODE
  3308. SA1 TF
  3309. AX1 9
  3310. BX1 -X0*X1
  3311. ZR X1,ICF4 IF NO ERROR FROM *TFM*
  3312. ICF2 SX6 P SET PP CHECK FLAG
  3313. SA6 PPC
  3314. DFAT P DELETE FAST ATTACH CATALOG FILE
  3315. ICF3 SX6 B1 FLAG UNABLE TO ATTACH FILE
  3316. SA6 ICFB
  3317. SA1 ICFA SET FAMILY NAME IN MESSAGE
  3318. SB2 1R#
  3319. SB3 ICFD
  3320. SB5 -DFUN
  3321. RJ SNM SET NAME IN MESSAGE
  3322. MESSAGE ICFD,0,R *UNABLE TO TURN ON *TMS* CATALOG*
  3323. EQ ICF4 RETURN FILE
  3324.  
  3325. ICFA BSS 1 FAMILY NAME
  3326. ICFB CON 0 FILE STATUS
  3327. ICFC BSS 4 *TFM* ERROR MESSAGE BUFFER
  3328. ICFD DATA C$ UNABLE TO TURN ON *TMS* CATALOG FOR #######.$
  3329. PRS SPACE 4,10
  3330. ** PRS - PRESET PROGRAM.
  3331.  
  3332.  
  3333. PRS SUBR ENTRY/EXIT
  3334. MX0 1 SET THE REAL-TIME BIT IN TAPE CATALOG FET
  3335. SA1 P+1
  3336. LX0 43-59+60
  3337. BX6 X0+X1
  3338. SA6 A1
  3339. GETPFP GP GET FAMILY NAME, USER NAME, AND USER INDEX
  3340. MX0 42 SAVE ORIGINAL FAMILY NAME
  3341. SA1 GP+0
  3342. BX6 X0*X1
  3343. SA6 OFM
  3344. SA1 GP+2 SAVE ORIGINAL USER INDEX
  3345. BX6 -X0*X1
  3346. SA6 OUI
  3347. SA1 TF SET FILE NAME
  3348. BX6 X1
  3349. SA6 P
  3350. MX0 -12 CHECK ORIGIN TYPE
  3351. SA1 JOPR
  3352. AX1 24
  3353. BX6 -X0*X1
  3354. SX6 X6-SYOT
  3355. SX5 DFIC *INCORRECT COMMAND.*
  3356. NZ X6,ABT IF NOT SYSTEM ORIGIN
  3357. SYSTEM SFM,R,TMS,GTSF*100B GET *TMS* STATUS
  3358. GETSSID SSI GET SUBSYSTEM ID
  3359. SA1 SSI CHECK FOR MAGNET SUBSYSTEM
  3360. SX1 X1-MTSI
  3361. ZR X1,PRS1 IF *MAGNET* SUBSYSTEM
  3362. SA1 TM
  3363. ZR X1,PRS1 IF *TMSOFF*
  3364. SA1 TMS CHECK IF *TMS* IS ENABLED
  3365. SX5 DFIC *INCORRECT COMMAND.*
  3366. PL X1,ABT IF *TMS* IS DISABLED
  3367. SX6 B0 CLEAR *DEFTO* AND *DEFTOS* ARGUMENTS
  3368. SA6 TARGN
  3369. PRS1 SA1 ACTR GET ARGUMENT COUNT
  3370. SB4 X1
  3371. ZR B4,PRS5 IF NO ARGUMENTS
  3372. SA4 ARGR GET FIRST ARGUMENT
  3373. SB5 TARG
  3374. RJ ARG PROCESS ARGUMENTS
  3375. ZR X1,PRS2 IF VALID ARGUMENTS
  3376. MX0 42 SET INCORRECT PARAMETER IN MESSAGE
  3377. BX1 X0*X4
  3378. SB2 1R$
  3379. SB3 DFUP
  3380. SB5 -B3
  3381. RJ SNM SET NAME IN MESSAGE
  3382. SX5 DFUP *UNKNOWN PARAMETER - PPPPPPP.*
  3383. EQ ABT ABORT PROGRAM
  3384.  
  3385. PRS2 SX6 B0 RESET *DEFTO* AND *DEFTOS* ARGUEMENTS
  3386. SA6 TMS
  3387. MX0 42 CHECK *DEFTO*
  3388. SA1 DT
  3389. ZR X1,PRS3 IF *DEFTO* NOT SPECIFIED
  3390. SB2 DT
  3391. RJ USB UNPACK STRING BUFFER
  3392. SX6 B0 FLAG LAST OPTION
  3393. SA6 B7+B1
  3394. SA1 B6 GET FIRST COMMAND OPTION
  3395. MX0 -12
  3396. SA3 TMS GET DEFAULT OPTIONS
  3397. BX7 X3
  3398. PRS2.1 ZR X1,PRS2.4 IF NO MORE OPTIONS
  3399. SA2 TDEF GET FIRST OPTION IN TABLE
  3400. PRS2.2 ZR X2,PRS2.5 IF UNKNOWN OPTION
  3401. BX6 -X0*X2
  3402. BX6 X6-X1
  3403. ZR X6,PRS2.3 IF OPTIONS MATCH
  3404. SA2 A2+B1
  3405. EQ PRS2.2 CHECK NEXT OPTION IN TABLE
  3406.  
  3407. PRS2.3 LX2 18 GET SHIFT COUNT
  3408. SB2 X2
  3409. LX2 12 GET SET/CLEAR STATUS
  3410. BX2 -X0*X2
  3411. SX6 B1
  3412. LX2 B2 SET/CLEAR DEFAULT OPTION
  3413. LX6 B2
  3414. BX7 -X6*X7
  3415. BX7 X7+X2
  3416. SA1 A1+B1
  3417. EQ PRS2.1 CHECK NEXT OPTION ON COMMAND
  3418.  
  3419. PRS2.4 SA7 A3 SET DEFAULT TAPE OPTION
  3420. EQ PRS3 CHECK *DEFTOS*
  3421.  
  3422. PRS2.5 SA1 =0LDEFTO GET PARAMETER IMAGE
  3423. BX7 X1
  3424. SA1 DT
  3425. EQ PRS4 ISSUE ERROR MESSAGE
  3426.  
  3427. PRS3 MX0 42 CHECK *DEFTOS*
  3428. SA1 DS
  3429. ZR X1,PRS5 IF *DEFTOS* NOT SPECIFIED
  3430. SB2 DS
  3431. RJ USB UNPACK STRING BUFFER
  3432. SX6 B0 FLAG LAST OPTION
  3433. SA6 B7+B1
  3434. SA1 B6 GET FIRST COMMAND OPTION
  3435. MX0 -12
  3436. SA3 TMS GET DEFAULT OPTIONS
  3437. BX7 X3
  3438. PRS3.1 ZR X1,PRS3.4 IF NO MORE OPTIONS
  3439. SA2 TDES GET FIRST OPTION IN TABLE
  3440. PRS3.2 ZR X2,PRS3.5 IF UNKNOWN OPTION
  3441. BX6 -X0*X2
  3442. BX6 X6-X1
  3443. ZR X6,PRS3.3 IF OPTIONS MATCH
  3444. SA2 A2+B1
  3445. EQ PRS3.2 CHECK NEXT OPTION IN TABLE
  3446.  
  3447. PRS3.3 LX2 18 GET SHIFT COUNT
  3448. SB2 X2
  3449. LX2 12 GET SET/CLEAR STATUS
  3450. BX2 -X0*X2
  3451. SX6 B1
  3452. LX2 B2 SET/CLEAR DEFAULT OPTION
  3453. LX6 B2
  3454. BX7 -X6*X7
  3455. BX7 X7+X2
  3456. SA1 A1+B1
  3457. EQ PRS3.1 CHECK NEXT OPTION ON COMMAND
  3458.  
  3459. PRS3.4 SA7 A3 SET DEFAULT TAPE OPTION
  3460. EQ PRS5 CHECK *FM*
  3461.  
  3462. PRS3.5 SA1 =0LDEFTOS GET PARAMETER IMAGE
  3463. BX7 X1
  3464. SA1 DS
  3465. PRS4 SA7 PI SAVE PARAMETER IMAGE
  3466. SB2 1R$ SET VALUE IMAGE IN MESSAGE
  3467. SB3 DFIV
  3468. SB5 -B3
  3469. RJ SNM SET NAME IN MESSAGE
  3470. SA1 PI SET PARAMETER IMAGE IN MESSAGE
  3471. SB2 1R#
  3472. SB3 DFIV
  3473. SB5 -B3
  3474. RJ SNM SET NAME IN MESSAGE
  3475. SX5 DFIV *INCORRECT VALUE FOR PP PARAMETER - VVVV.*
  3476. EQ ABT ABORT PROGRAM
  3477.  
  3478. PRS5 SA1 FM CHECK *FM*
  3479. SA2 =1L*
  3480. BX1 X1-X2
  3481. NZ X1,PRS6 IF NOT ALL FAMILIES
  3482. SX6 B1 FLAG ALL FAMILIES
  3483. SA6 A1
  3484. PRS6 RDMEM ABS,FOTP,1,FFO GET FAMILY ORDINAL TABLE ADDRESS
  3485. MX0 -24
  3486. LX2 24
  3487. BX6 -X0*X2
  3488. SA6 FFO
  3489. MX0 -12 GET MAXIMUM FOT ENTRIES
  3490. LX2 12
  3491. BX7 -X0*X2
  3492. SA7 MXF
  3493. RDMEM ABS,X6,X7,FBUF GET FAMILY ORDINAL TABLE
  3494. REPRIEVE RPVA,SET,237B SET EXTENDED REPRIEVE
  3495. EQ PRSX RETURN
  3496. RPV SPACE 4,15
  3497. ** RPV - REPRIEVE PROCESSOR.
  3498. *
  3499. * ENTRY (PPC) = 0 IF ABORT ON PP ERROR.
  3500. * = FET ADDRESS IF DO NOT ABORT ON PP ERROR.
  3501. *
  3502. * EXIT (PPC) = 0.
  3503. * (PPS) .NE. IF PP ERROR.
  3504. * COMPLETION BIT SET IN PP ERROR FET.
  3505. *
  3506. * USES X - 0, 1, 5, 6.
  3507. * A - 1, 6.
  3508. *
  3509. * CALLS ABT.
  3510. *
  3511. * MACROS REPRIEVE.
  3512.  
  3513.  
  3514. RPV BSS 0 ENTRY/EXIT
  3515. MX0 -12 CHECK ERROR FLAG
  3516. SA1 RPVA+/COMSRPV/OSEF
  3517. BX1 -X0*X1
  3518. SX1 X1-PPET
  3519. SX5 B0
  3520. NZ X1,ABT IF NOT PP CALL ERROR
  3521. SA1 PPC
  3522. ZR X1,ABT IF NOT PP CHECK
  3523. SX6 B0 CLEAR PP CHECK FLAG
  3524. SA6 A1
  3525. SX6 B1 SET PP ERROR FLAG
  3526. SA6 PPS
  3527. MX0 42 SET COMPLETION BIT IN FET
  3528. SA1 X1
  3529. BX1 X0*X1
  3530. SX6 3
  3531. BX6 X1+X6
  3532. SA6 A1
  3533. REPRIEVE RPVA,RESUME,237B RESUME PROGRAM EXECUTION
  3534.  
  3535. RPVA RPVBLK RPV REPRIEVE BLOCK
  3536. SPACE 4,10
  3537. QUAL *
  3538. TMSOFF EQU /TMSON/TMSOFF *TMSOFF* ENTRY POINT
  3539. TMSON EQU /TMSON/TMSON *TMSON* ENTRY POINT
  3540. TITLE FIELD LENGTH DEFINITIONS.
  3541. RFL SPACE 4,10
  3542. ** FIELD LENTH DEFINITION.
  3543.  
  3544.  
  3545. RFL IFGT BUFF+BUFFL,*
  3546. RFL= EQU BUFF+BUFFL PROGRAM FIELD LENGTH
  3547. RFL ELSE
  3548. RFL= EQU * PROGRAM FIELD LENGTH
  3549. RFL ENDIF
  3550. SPACE 4
  3551. END