Type ASSEMBLE
Source Lines : 948
Fixes Applied : 5
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [HRC108DK]
Module
DMKSEP
Function
TO PRINT OUTPUT SEPARATOR PAGES ON THE REAL SPOOLING PRINTERS IN BETWEEN THE OUTPUT OF DIFFERENT SYSTEM USERS TO PUNCH OUTPUT SEPARATOR CARDS ON THE REAL SPOOLING PUNCHES IN BETWEEN THE OUTPUT OF DIFFERENT SYSTEM USERS
Attributes
REENTRANT, PAGEABLE, CALLED VIA SVC
Operation
1. THE OUTPUT SEPARATOR PRODUCED BY THIS ROUTINE ASSUMES THAT THE PRINTER HAS MOUNTED ON IT A CARRAIGE CONTROL TAPE WITH A CHANNEL ONE PUNCH AT LINE 3 OF A 66 LINE PAGE PROVIDING THE PRINTER IS NOT A 3800. IF THE PRINTER IS A 3800, THE ASSUMPTION IS THAT CHANNEL 1 SKIPS TO THE FIRST PRINTABLE LINE ON THE PAGE AND THAT THE PAGE IS CAPABLE OF HOLDING AT LEAST 55 LINES OF PRINT AT THE FCB SPECIFIED FOR SEPARATOR PAGES. IF THIS IS A SYSTEM RESTART AND THE DEVICE IS A PRINTER: A'SYSTEM RESTARTED' MESSAGE WITH A LINE OF ASTERISKS BEFORE AND AFTER IS PRINTED ON THE PRINTER, AND EXIT OTHERWISE, CONT: 2. A CHANNEL PROGRAM IS CONSTRUCTED TO PERFORM THE FOLLOWING SEQUENCE OF EVENTS - A. SKIP TO CHANNEL 1 AND SPACE DOWN TO LINE 60 AND GO TO STEP B. EXCEPT FOR A 3800 PRINTER WHEN WE JUST SKIP TO CHANNEL 1 AND GO TO STEP D. B. PRINT 5 LINES OF ASTERISKS C. PRINT ONE LINE OF UNDERSCORES ALONG THE PERFORATION BETWEEN PAPER SHEETS D. PRINT 5 LINES OF ASTERISKS, THE 5TH LINE CONTAINS VERSION AND LEVEL, OUTPUT DEVVICE ADDRESS AND CLASS, DATE AND TIME PRINTED. FOLLOWED BY 3 BLANK LINES IN THIS STEP, IF THE DEVICE IS A 3800 PRINTER, ONLY TWO LINES OF ASTERISKS ARE PRINTED WITH THE SECOND LINE CONTAINING THE DESIRED INFO. E. THE NEXT 16 LINES CONTAINS USERID, DISTRIBUTION CODE, SPOOL FILE NAME AND TYPE, CREATION DATE AND TIME, SPOOLID AND RECORD COUNT. ALSO INCLUDED IN THESE 16 LINES IS A 16 LINE BY 46 CHARACTER AREA. THE INFORMATION FOR THIS AREA IS LOADED FROM DMKBOX AT LABEL DMKBOXBX. IF MODULE IS NOT AVAILABLE, THE DEFAULT INFORMATION LOCATE AT LABEL 'CONSTANT' IN THIS MODULE IS USED. CODE, SPOOL FILE NAME AND TYPE, CREATION DATE, SPOOL FILE ID AND RECORD COUNT. INCLUDED IN THESE 15 LINES IS A 15 BY 46 DC CONSTANT BOX IN WHICH DC INFORMATION CAN BE PLACED FOR PRINTING OF F. PRINT THE USERID OF THE FILE'S OWNER IN A SERIES OF 12 X 12 MATRIX BLOCK LETTERS, FOLLOWED BY 4 BLANK LINES. THE DISTRIBUTION CODE IS PRINTED IN A SERIES OF 12 X 12 MATRIX BLOCK LETTERS, FOLLOWED BY 5 BLANK LINES. 3. AFTER THE CHANNEL PROGRAM HAS BEEN EXECUTED ONCE FROM THE BEGINNING, IT IS RE-EXECUTED STARTING AT STEP B. ABOVE, THEREBY CREATING A SECOND SEPARATOR PAGE FOR A 3800 START FROM STEP A. ABOVE, AND REPEAT. 4. AFTER THE PAGES ARE COMPLETE, DMKSEP RETURNS TO DMKRSPEX 5. FOR PUNCH OUTPUT PUNCH 4 CARDS CONTAINING USER I.D., DISTRIBUTION CODE AND 12-4-9 PUNCHES IN THE LAST 10 COLUMNS. EACH LETTER OF THE DISTRIBUTION CODE IS RIPPLED PUNCHED IN GROUPS OF FOUR STARTING IN COLUMN 19. EXAMPLE OF SEPARATOR CARD FOR USERID OF OPERATOR AND DISTRIBUTION CODE OF 12345678
Calls to Other Routines
DMKIOSQR - TO START THE REAL PRINTER DMKCVTDT - TO OBTAIN THE DATE AND TIME OF OUTPUT DMKDSPCH - TO AWAIT PRINTER INTERRUPTS DMKPGTVG - TO GET A VIRTUAL BUFFER DMKPGTVR - TO RELEASE A VIRTUAL BUFFER DMKPTRUL - TO UNLOCK A LOCK BUFFER PAGE DMKCVTBH - TO CONVERT DEVICE ADDRESS DMKCVTBD - TO CONVERT SPOOLID AND RECORD COUNT DMKTCSSP - TO LOAD A 3800 PRINTER WITH FCB AND CHAR ARR TABLE PRIOR TO PRINTING SEP PAGE