.TITLE ^P^A^G^E^R ^V4(6) .SUBTITLE ^PREFACE .SPACING 2 .PARAGRAPH ^PAGER IS A PROGRAM TO AID THE USER IN THE LISTING OF PROGRAMS OR OTHER TEXTUAL MATERIALS. ^IT WILL TAKE THE SOURCE FILE AND PRODUCE A NICE, NEAT FORMATTED PAGED COPY ON ANY OUTPUT DEVICE. ^THIS GUIDE COVERS ^PAGER ^V4(6), 11-20-72. .SPACING 1 .SUBTITLE ^OPERATION .PAGE .PARAGRAPH ^PAGER IS A NON-SHARABLE PROGRAM REQUIRING 1^K OF CORE. ^THE PROGRAM ONLY NEEDS THE NAME OF THE FILE TO BE PAGED, OTHER SPECIFICATIONS ARE GIVEN TO ^PAGER WHEN CALLED. ^TEXT FORMATTING PROGRAMS SUCH AS ^RUNOFF CANNOT BE USED FOR SOURCE FILE OUTPUT WITHOUT MUCH FILE MODIFICATION, NO EXTRA EDITING IS NEEDED WITH ^PAGER. .PARAGRAPH ^PAGER CAN BE CALLED WITH THE NORMAL "^R" COMMAND IF IT RESIDES ON "^S^Y^S:", OR "^R^U^N" IF IT EXISTS IN YOUR DISK AREA. ^THE "^P^A^G^E" COMMAND CAN ALSO BE USED IF IMPLEMENTED ON YOUR SYSTEM. .PARAGRAPH ^IF PAGER IS RUN NORMALLY, IT WILL PRINT AN ASTERISK. ^HERE YOU ENTER THE INPUT FILENAME OF THE FILE TO BE PAGED, AND THE OUTPUT FILENAME WHERE THE PAGED FILE WILL BE. ^IT IS OF THE FORMAT: .SKIP 1 ^^INPUT-FILE>OUTPUT-FILE\\ .BREAK ##WHERE THE ^^FILE\\ CONSISTS OF: .BREAK ^^DEVICE:FILENAME.EXTENSION[PROJ,PROG]\\ .SKIP 2 ^DEFAULTS .LEFT MARGIN 10 ^INPUT ^SPECIFICATIONS .SKIP 1 .INDENT -10 DEVICE####"^D^S^K" .INDENT -10 FILE######NECESSARY .INDENT -10 EXT######BLANK IF PERIOD IN INPUT FILENAME, .BREAK "^B^A^S" IF NO PERIOD IN INPUT FILENAME .INDENT -10 PPN#######YOUR OWN PROJECT-PROGRAMMER NUMBER. .SKIP 2 ^OUTPUT ^SPECIFICATIONS .SKIP 1 .INDENT -10 DEVICE####"^T^T^Y" OR "^D^S^K" .INDENT -10 FILE######BLANK .INDENT -10 EXT#######BLANK IF PERIOD IN OUTPUT FILENAME, .BREAK "^P^A^G" IF NO PERIOD IN OUTPUT FILENAME .INDENT -10 PPN#######YOUR OWN .SKIP 2 .LEFT MARGIN 0 ^IF ANY OUTPUT SPECIFICATION EXISTS, (THE ">" AND FILENAME), DEVICE "^D^S^K" IS ASSUMED. ^OTHERWISE DEVICE "^T^T^Y" IS USED AS A DEFAULT. ^EXAMPLE: .SKIP 1 .NOFILL ^^.R PAGER *MYFILE.MAC>DTA0:MYFILE *PROG2>OUTPUT[3,7] *PTR:X>LPT: *MYPROG ### MYPROG\\ IS LISTED ON ^T^T^Y: .FILL .JUSTIFY .SUBTITLE ^SWITCHES .PAGE .CENTER ^^S#W#I#T#C#H#E#S\\ .PARAGRAPH ^PAGER OUTPUT IS ALTERED BY SWITCHES YOU ENTER WITH THE FILENAME. ^SWITCHES (PRECEDED BY A SLASH "/") CAN BE GIVEN AFTER THE INPUT AND/OR THE OUTPUT FILENAMES. ^EXAMPLE: .SKIP 1 ^^*PAGER.MAC/F/T .SKIP 1 *DTA0:TIME>DTA1:TIME/E\\ .SKIP 2 ^SWITCH#########^MEANING .SKIP 1 .LEFT MARGIN 15 .INDENT -15 /^^CUT\\###########^CUT OFF LINE IF IT EXCEEDS LINE WIDTH. ^ASSUME: ADJUST LINE COUNTER FOR A LONG LINE. .SKIP 1 .INDENT -15 /^^DATE\\##########^INCLUDE TODAYS DATE ON EACH PAGE AT THE TOP. ^ASSUME: NO DATE OUTPUT. .SKIP 1 .INDENT -15 /^^END\\###########^WHEN FINISHED PAGING, PRINT OUT THE TOTAL NUMBER OF PAGES THE FILE NEEDED ON THE ^T^T^Y. ^ASSUME: NO PRINTOUT. .SKIP 1 .INDENT -15 */^^FROM\\#########^START PAGING FROMA CERTAIN PAGE IN THE FILE. ^ASSUME: START FROM PAGE ONE. .SKIP 1 .INDENT -15 /^^HELP\\##########^PRINTS OUT THE HELP MESSAGE. ^ASSUME NO HELP PRINTOUT. .SKIP 1 .INDENT -15 */^^ITAB\\#########^SETS TAB TO A CERTAIN NUMBER OF SPACES. (^TAB IS CONTROL ^I). ^ASSUME: TAB IS EIGHT (8) SPACES. .SKIP 1 .INDENT -15 */^^LINE\\#########^SETS NUMBER OF LINES PER PAGE. ^ASSUME: 56 LINES OF TEXT PER PAGE. .SKIP 1 .INDENT -15 /^^MINUTE\\########^INCLUDE PRINTING OF TIME OF DAY ON EACH PAGE (IN FORMAT HH:MM). ^ASSUME: NO TIME OUTPUT. .SKIP 1 .INDENT -15 /^^NUMBER\\########^SUPPRESS OUTPUT OF PAGE NUMBER ON EACH PAGE. ^ASSUME: INCLUDE PAGE NUMBER. .SKIP 1 .INDENT -15 /^^PAUSE\\#########^PAUSE BETWEEN EACH PAGE FOR SINGLE SHEET PAGINGS. ^PAGER IS CONTINUED FROM THIS PAUSE WITH A BELL (CONTROL ^G). ^ASSUME: NO PAUSING BETWEEN PAGES. .SKIP 1 .INDENT -15 */^^SEQUENCE\\#####^START THE ^PAGER PAGE COUNTER AT A CERTAIN VALUE. ^THIS IS USED FOR COLLECTING PROGRAMS AND KEEPING SETS IN ORDER. ^ASSUME: START COUNTER AT ONE. .SKIP 1 .INDENT -15 */^^TITLE\\########^INCLUDE A TITLE ON EACH PAGE OF THE FILE. ^ASSUME: NO TITLE ON OUTPUT. .SKIP 1 .INDENT -15 /^^VTAB\\##########^JUMP TO END OF THE PAGE ON A FORMFEED. ^ASSUME: SUBSTITUTE A LINEFEED FOR A VERITCAL TAB OR FORMFEED. .SKIP 1 .INDENT -15 */^^WIDTH\\########^SET LINE WIDTH (USED WITH /^C). ^ASSUME: LINE WIDTH IS 72 CHARACTERS PER LINE. .SKIP 1 .INDENT -15 /^^ZERO\\##########^SUPPRESS OUTPUT OF LEADING ZEROS ON LINE-NUMBERED FILES (WRITTEN IN ^BASIC, ^GLIDE, ^LINED). ^ASSUME: INCLUDE LEADING ZEROES ON LINE NUMBERS. .SKIP 2 .LEFT MARGIN 0 ^NOTE: ^AN ASTERISK (*) BEFORE THE SLASH IN THE ABOVE MEANS A NUMERIC VALUE OR A STRING WILL BE REQUESTED ONCE THE COMMAND STRING IS ENTERED. ^ALL SWITCHES CAN BE ABBREVIATED TO A SINGLE LETTER. .SUBTITLE ^OTHER ^INFORMATION .PAGE ^C^C^L ^ENTERY ^POINT IN ^PAGER .PARAGRAPH ^PAGER NOW HAS A ^C^C^L ENTRY POINT. ^WHEN IT IS RUN AT THIS POINT, ^PAGER LOOKS FOR A ^^TMPCOR\\ FILE CALLED '^P^A^G'. ^IF FOUND, ^PAGER TAKES ONE COMMAND FROM THERE IN THE SAME FORMAT AS A NORMAL COMMAND. ^IF NOT FOUND, IT TAKES COMMANDS FROM THE TERMINAL. .PARAGRAPH ^COMPIL AND MONITOR HAVE BEEN PATCHED ON OUR SYSTEM TO ALLOW THE '^P^A^G^E' COMMAND. ^FIRST THIS ENTRY WAS ADDED TO ^^COMTAB\\ (^COMCON) BY: .SKIP 1 ^^C PAGE,CCLRUN,NOCORE!NOOPER!TTYRNU!NOCRLF!INCORE!NOACT!NORUN\\ .SKIP 1 .PARAGRAPH ^THE PATCH TO ^COMPIL WAS A ROUTINE TO WRITE IN TMPCOR A FILE NAMED '^P^A^G', EVERYTHING AFTER A NON-ALPHABETIC CHARACTER. ^ALSO, A '^P^I^P' COMMAND WAS ADDED WHICHED PASSED A COMMAND (WITHOUT EXTRA PROCESSING) TO ^P^I^P. ^THIS IS EXTREMELY HELPFUL FOR COMMAND WHICH ARE TOO COMPLEX FOR ^COMPIL SUPPORT. .PAGE ^CHANGES ^V3 TO ^V4 .SKIP 2 .PARAGRAPH ^THE MAJOR CHANGE BETWEEN THE TWO VERSIONS WAS A MORE EFFICIENT PARSING ROUTINE. ^IT CUT ^PAGER DOWN TO RUN IN ABOUT 1/2 ^K. ^THIS ALLOWED NEW DEFAULTS TO BE EASILY ADOPTED. ^ALSO ^C^C^L FEATURES WERE ADDED. ^THE HELP SWITCH WAS ELIMINATED AS TEXT, AND NOW LOOKS FOR ^^PAGER.HLP\\ ON THE HELP PPN. ^TO CHANGE IT FROM THE DEFAULT ([2,5]), TYPE (FOR EXAMPLE): .SKIP 1 ^^HELPPN==1,,4\\ .SKIP 1 .PARAGRAPH ^TO CHANGE THE DEAULT EXTENSIONS FOR INPUT AND OUTPUT, USE "^^INEXT\\" AND "^^OUTEXT\\" RESPECTIVELY. ^INPUT ASSUMES "^B^A^S", OUTPUT ASSUMES "^P^A^G". ^EXAMPLE: .SKIP 1 ^^INEXT=='MAC' .SKIP 1 OUTEXT=='LST'\\ .SKIP 3 ^END OF ^PAGER DOCUMENTATION.