LISTDEV866

(George Source)

Macros used: ALTLEND, APPEND, CHNUMCOD, CLOSE, COOR1, CREATEB, CREATEWF, DCA, ENDCOM, ENDLIST, ENGPER, FREECORE, FREEPER, GEOERR, GPERI, ISSUCOMB, JFREE, JRIGHT, LADDP, LGEOG, LOCK, LTYPE, MENDAREA, MHUNT, MHUNTW, MONOUT, MONOUTX, ON, OPENWORK, OUTPARAM, PARAPASS, PERCON, SEGENTRY, SETALLOC, SETNCORE, SETWTBWR, TESTREP, UNLOCK, VFREE

LISTDEV866.txt
22FL ...#SEG           LISTDEV             [LEN WAGSTAFF
22KH ...#   
22PD ...#               MODIFIED APRIL 82 TO OUTPUT A LISTFILE IF NO LP FREE
22T* ...#   
22^=    #OPT  K0LISTDEV=0   
23DW    #LIS  K0LISTDEV 
23YG ...               8HLISTDEV
24D6    #DEF  XZ=CPATLEN+A1 
24XQ    #   
25CB    #   
25X2          SEGENTRY K1LISTDEV,X1LISTDEV  
26BL    #   
26W=    #   
26^B ...XER1     20HINVALID PARAMETER   
274G ...XER2     32HDEVICE NOT ON THIS INSTALLATION 
277L ...XER3     20HDEVICE NOT AVAILABLE
27=Q ...XDV      12HDEVICELIST  
27*W    PTI            4HPTI
27TG    XBDT           4HBDT
28*6    TYPE           4HTYPE   
28SQ    UNIT           4HUNIT   
29#B    XFOUR          +4   
29S2    SFOUR          +64  
2=?L    XCON           +10000   
2=R=    XCHERR         +CHNUMERR
2?=W    XJNOPER        +JNOPER  
2?QG    XJPERNA        +JPERNA  
2#=6    XAPIALEN
2#PQ                   +BILEN              [TR  
2#WY ...#UNS  JSKI38
2*46 ...#SKI
2*9B                   +BOLEN              [TP  
2*?5 ...#UNS  JSKI38                       [GLASGOW SPECIALS
2*#S ...               +BTLEN              [TP  
2*BJ ...#UNSET JSKI24                      [PRE VARIABLE WIDTH LPS  
2*HQ ...#SKI
2*P2                   +BOLEN              [LP  
2*W8 ...#UNSET JSKI24                      [POST VARIABLE WIDTH LPS 
2B3B ...               +BLLEN   
2B8L                   +BILEN              [CR  
2BN=                   +BOLEN              [CP  
2C7W                   +BMTLEN             [MT  
2CMG                   +BUDASLEN           [EDS 
2D76                   +BUDASLEN           [MCF 
2DLQ                   +0                  [DS  
2F6B                   +BDRLEN             [DR  
2FL2                   +COMLEN             [UX  
2G5L                   +COMLEN             [MX  
2GK=                   +0                  [CT  
2H4W                   +BUDASLEN           [FDS 
2HJG                   +0                  [AD  
2J46                   +0                  [TYPE 15 
2JHQ                   +0                  [TYPE 16 
2K3B                   +0                  [TYPE 17 
2KH2                   +0                  [TYPE 18 
2L2L                   +0                  [TYPE 19 
2LG=                   +0                  [GP  
2L^W                   +0               [GD 
2MFG                   +0                  [DXC 
2M^6                   +0                  [UD  
2NDQ                   +COMLEN             [IPB 
2NYB                   +BDRLEN             [FASTDRUM
2PD2                   +BUDASLEN           [EDS(30) - (MEDS)
2PXL                   +0                  [TYPE 27 
2QC=                   +0                  [TYPE 28 
2QWW                   +0                  [TYPE 29 
2RBG                   +0                  [TYPE 30 
2RW6                   +0                  [TYPE 31 
2S*Q                   +0                  [TYPE 32 
2STB                   +0                  [TYPE 33 
2T*2                   +0                  [TYPE 34 
2TSL                   +0                  [TYPE 35 
2W#=                   +0                  [TYPE 36 
2WRW                   +0                  [TYPE 37 
2X?G                   +0                  [TYPE 38 
2XR6                   +0                  [TYPE 39 
2Y=Q                   +0                  [TYPE 40 
2YQB                   +0                  [TYPE 41 
2^=2                   +0                  [TYPE 42 
2^PL                   +0                  [TYPE 43 
329=                   +0                  [TYPE 44 
32NW                   +0                  [TYPE 45 
338G                   +0                  [TYPE 46 
33N6                   +0                  [TYPE 47 
347Q                   +0                  [TYPE 48 
34MB                   +0                  [CD  
3572                   +0                  [IP  
35LL                   +0                  [OP  
366=                   +0                  [GE  
36KW                   +0                  [CO  
375G                   +0                  [EM  
37K6                   +0                  [OI  
384Q                   +0                  [OO  
38JB                   +0                  [CS  
3942                   +0                  [RR  
39HL                   +0                  [ET  
3=3=                   +0                  [TYPE RESERVED FOR OBJ PROG PERIS
3=GW                   +0                  [TYPE 61 
3?2G                   +0                  [TYPE 62 
3?G6                   +CONSLEN            [OPERATOR'S CONSOLE  
3?K= ...
3?NB ...#   
3?RG ...QLF            8HLF !,*LP   
3?WL ...#   
3?^Q    X1LISTDEV                          [COMMAND PROCESSOR ENTRY-POINT   
3#FB          STOZ     AWORK2(2)           [ZEROISE SWITCH WORD 
3#^2          STOZ     AWORK1(2)           [ENTRY POINT MARKER  
3*8S ...      STOZ  AWORK4(2)   
3*DL          CALL  7  XGETLP              [GET A LINEPRINTER   
3*Y=          PARAPASS                     [ACCESS PARAMETER
3BCW          MHUNT    3,CPB,CUNI          [FIND THE CPB/CUNI   
3BDX ...      LDN   4  XDV(1)   
3BFY ...      LDN   5  XZ+12(2) 
3BG^ ...      MOVE   4  3             [DEVICELIST   
3BJ2 ...      LDX   0  ANUM(3)        [LOOK AT PARAM LENGTH 
3BK3 ...      BNG   0  XHEAD
3BL4 ...      BZE   0  XHEAD          [JUMP IF NONE OR NULL 
3BM5 ...      ANDN  0  #7777
3BN6 ...      LDN   4  APARA(3) 
3BP7 ...      LDN   5  XZ+15(2) 
3BQ8 ...      SMO      0
3BR9 ...      MVCH   4  0             [COMMAND PARAM
3BS= ...XHEAD LDN   0  #51  
3BT? ...      STO   0  XZ(2)        [NEW PAGE PFCC  
3BW# ...      CALL   7  WRITE          [PRINT HEADING   
3BXG          LDX   0  ANUM(3)  
3CC6          BNG   0  XALL                [BR IF NULL PARAMETER
3CWQ          BZE   0  XALL                [...OR IF NON-EXISTENT   
3DBB          ANDN  0  #7777
3DW2          TXL   0  XFOUR(1) 
3F*L          BCC      PFERR               [ERROR IF PARAMETER TOO LONG 
3FT=          LDCH  0  APARA(3)            [1ST CHARACTER OF PARAMETER  
3G#W          BZE   0  PFERR               [BR IF PARAMETER = 0 
3GSG          SBN   0  #12  
3H#6          BNG   0  XNUMB               [BR IF GEOG NO PARAMETER 
3HRQ          SBN   0  #20  
3J?B          BZE   0  XTYPE               [BR IF TYPE NO PARAMETER 
3JR2          SBN   0  7
3K=L          BZE   0  XALL                [BR IF PARAMETER "ALL"   
3KQ=          SBN   0  #23  
3L9W          BZE   0  XTW                 [BR IF PARAMETER "TW"
3LPG          BRN      PFERR               [NONE OF THESE - ERROR   
3M96    XNUMB                              [GEOG NO PARAMETER   
3MNQ          LDCT  0  #400 
3N8B          ERS   0  AWORK2(2)           [SET GEOG NO PARAMETER MARKER
3NN2          CHNUMCOD 1,3                 [CONVERT PARAMETER   
3P7L          TESTREP  CHNUMERR,PFERR      [...AND TEST REPLY   
3PM=          LDX   4  ACOMMUNE1(2)        [GEOG NO TO X4   
3P^M ...      FINDPERE 3,APGEOG,4,,AV7900,XN1          [FIND DEVICE LIST POINTER
3Q#4 ...XN1 
3QLG          BNG   3  XNPERR              [ERROR IF NOT FOUND  
3R66          LTYPE    3,4  
3RKQ          BRN      PRINT
3S5B    XTYPE                              [TYPE NO PARAMETER   
3SK2          LDCT  0  #200 
3T4L          ERS   0  AWORK2(2)           [SET TYPE NO PARAMETER MARKER
3TJ=          PERCON                       [CONVERT PARAMETER (*LP ETC) 
3W3W ...      TESTREP  PARERR,XEND         [TEST REPLY  
3WHG          MHUNTW   3,CPAR,GPERCON   
3X36          LDX   4  GTYPE(3)            [LOAD PERIPHERAL TYPE
3XGQ          FREECORE 3                   [FREE CPAR/GPERCON BLOCK 
3Y2B          SRL   4  15   
3YG2          BRN      YTYPE
3Y^L    XTW                                [TYPEWRITER PARAMETER
3^F=          LDN   4  63                  [CONSOLE TYPE
3^YW          LDCT  0  #300 
42DG          ERS   0  AWORK2(2)           [SET "TW" PARAMETER MARKER   
42Y6          BRN      YTYPE
43CQ    XALL                               ["ALL" PARAMETER 
43XB          LDCT  0  #40  
44C2          ERS   0  AWORK2(2)           [SET "ALL" PARAMETER MARKER  
44QP ...      STO   0  AWORK4(2)
456D ...      LDN   0  #42  
45G7 ...      STO   0  XZ(2)               [STORE DOUBLE LINE PFFC  
45TW          LDX   0  PTI(1)   
46*G          STO   0  XZ+7(2)             [STORE "PTI" IN BUFFER   
46T6          LDX   0  XBDT(1)  
47#Q          STO   0  XZ+20(2)            [STORE "BDT" IN BUFFER   
47SB          CALL  7  WRITE               [PRINT LINE  
48#2          LDN   0  #42  
48RL          STO   0  XZ(2)               [STORE DOUBLE LINE THROW PFFC
49?=          LDN   4  0                   [INITIALISE X4 FOR TYPE NUMBER   
49QW          LDN   5  JPTI                [LOAD BASE OF PTI
4==G          LDX   6  BDTP                [LOAD POINTER TO BDT 
4=Q6    SLOOP   
4?9Q          ADN   2  XZ+4                [X2 HOLDS DESTINATION ADDRESS
4?PB          CALL  7  XCBD                [CONVERT TO DECIMAL AND STORE
4#92          LDN   0  3
4#NL          ADS   0  XZ+5(2)             [STORE # IN BUFFER   
4*8=          LDN   3  8
4*MW          SMO      5
4B7G          LDX   0  0                   [LOAD NEXT WORD OF PTI   
4BM6    ZIM 
4C6Q          LDN   7  0
4CLB          SLL   70 3                   [CONVERT CONTENTS TO OCTAL   
4D62          DCH   7  XZ+6(2)             [... AND STORE IN BUFFER 
4DKL          BCHX  2  £
4F5=          BCT   3  ZIM  
4FJW          LDX   2  FX2  
4G4G          SBX   6  BDTP                [CHECK FOR END OF BDT
4GJ6          TXL   6  BDTL 
4H3Q          BCC      RR                  [BR IF END OF BDT REACHED
4HHB          ADX   6  BDTP 
4J32          LDN   0  3
4JGL          ADS   0  XZ+19(2)            [STORE "#" IN BUFFER 
4K2=          LDN   3  8                   [CHARACTER COUNT 
4KFW          SMO      6
4K^G          LDX   0  0                   [NEXT WORD OF PTI
4LF6    ZJM 
4LYQ          LDN   7  0
4MDB          SLL   70 3                   [CONVERT IT TO OCTAL 
4MY2          DCH   7  XZ+20(2)            [AND STORE IT IN BUFFER  
4NCL          BCHX  2  £
4NX=          BCT   3  ZJM  
4PBW    RR  
4PWG          ADN   4  1
4QB6          ADN   5  1                   [UPDATE POINTERS 
4QTQ          ADN   6  1
4R*B          LDX   2  FX2  
4RT2          CALL  7  WRITE               [WRITE LINE AWAY 
4S#L          TXL   4  SFOUR(1)            [TEST IF END OF PTI REACHED  
4SS=          BCS      SLOOP               [AND BR IF NOT   
4T?W          LDN   4  0                   [INITIALISE TYPE NO FOR LOOP 
4TRG    YTYPE                              [TYPE NO PARAMETER - ENTRY TO
4W?6    #                                   PRINTING ROUTINE
4WKH ...      FINDPERE 3,APFOTY,4,THO,AV7900,YT1,YT1      [GET DEVICE LIST POINT
4WXY ...YT1 
4X=B          BPZ   3  PRINT               [BR IF FOUND 
4XQ2 ...      LDCT  0  #50  
4Y9L          ANDX  0  AWORK2(2)
4YP=          BZE   0  XNPOTT              [BR IF TYPE PARPMETER ERROR  
4^8W          LDCT  0  #40  
4^NG          ANDX  0  AWORK2(2)
5286          BZE   0  XEND                [BR IF END AND NOT "ALL" PARAMETER   
52MQ          ADN   4  1                   [UPDATE TYPE NO FOR LOOP 
537B          TXL   4  SFOUR(1) 
53M2          BCC      XIT                 [BR IF END (TYPE COUNT = 64) 
546L          BRN      YTYPE
54L=    # THIS IS THE MAIN PRINTING ROUTINE 
555W    PRINT   
55KG          STO   3  XZ+31(2)            [PRESERVE DEVICE LIST POINTER
5656          LDCT  0  #10  
56JQ          ORS   0  AWORK2(2)           [SET PERIPHERAL ACCESSED MARKER  
574B          LDX   3  XZ+31(2)            [RESTORE D/L POINTER OF DEVICE   
57J2    XGOTLP  
583L          LDN   0  #51  
586Q ...      LDX   7  AWORK4(2)      [DOUBLE LINE PFCC FIRST TIME THRO 
589W ...      BNZ   7  XLP1 
58*2 ...      LDN   0  #42  
58D6 ...XLP1
58H=          STO   0  XZ(2)               [NEW PAGE PFFC   
592W          LDX   0  UNIT(1)  
59GG          STO   0  XZ+7(2)             [STORE "UNIT" IN BUFFER  
5=26          LDX   0  TYPE(1)  
5=FQ          STO   0  XZ+10(2)            [STORE "TYPE" IN BUFFER  
5=^B          LDX   6  4                   [PRESERVE TYPE NO
5?F2          LGEOG    3,4                 [LOAD GEOG NO FOR CONVERSION 
5?YL          ADN   2  XZ+8 
5#D=          CALL  7  XCBD                [CONVERT GEOG NO TO DECIMAL & STORE  
5#XW          LDX   4  6                   [RESTORE TYPE NO 
5*CG          ADN   2  XZ+11
5*X6          CALL  7  XCBD                [CONVERT TYPE NO AND STORE   
5BBQ          CALL  7  WRITE               [PRINT LINE  
5BWB          LDN   5  8
5CB2          LDX   4  6
5CTL          SMO      4
5D*=          LDX   0  XAPIALEN(1)         [LOAD LENGTH OF APIA 
5DSW          STO   0  AWORK3(2)           [AND REMEMBER IT 
5F#G          CALL  7  XLENDV              [SET AWORK4 POINTING TO START OF 
5FS6    #                                  [NEXT DEVICE LIST
5N7=    XPLP
5NLW          LDX   2  FX2  
5P6G          LADDP    3,1                 [LOAD ADDRESS OF APIA
5PL6    XNORM   
5Q5Q          STO   1  AWORK1(2)           [STORE START ADDRESS OF APIA 
5QKB          LDN   1  0                   [INITIALISE APIA WORD COUNT  
5R52    V3    LDN   0  3
5RJL          ADS   0  XZ+6(2)             [STORE "#" IN BUFFER 
5S4=          LDX   0  0(3)                [LOAD NEXT WORD OF DEVICE LIST   
5SHW          LDN   5  8
5T3G    ZKM 
5TH6          LDN   7  0
5W2Q          SLL   70 3                   [CONVERT IT TO OCTAL 
5WGB          DCH   7  XZ+7(2)  
5X22          BCHX  2  £
5XFL          BCT   5  ZKM  
5X^=          ADN   2  XZ+3 
5YDW          LDX   5  4                   [PRESERVE X4 
5YYG          LDX   4  1                   [CONVERT WORD NUMBER TO DECIMAL  
5^D6          CALL  7  XCBD                [AND STORE   
5^XQ          LDX   4  5                   [RESTORE TYPE NO 
62CB          LDX   0  AWORK3(2)           [LENGTH OF APIA  
62X2          BZE   0  NMAPIA              [BR IF ZERO LENGTH   
63BL          TXL   1  AWORK3(2)
63W=          BCC      NMAPIA              [BR IF NO MORE APIA TO PRINT 
64*W          LDN   0  3
64TG          ADS   0  XZ+18(2)            [STORE "#" IN BUFFER 
65*6          SMO      AWORK1(2)
65SQ          LDX   0  0(1)                [LOAD NEXT WORD OF APIA  
66#B          LDN   5  8
66S2    ZLM 
67?L          LDN   7  0
67R=          SLL   70 3                   [CONVERT IT TO OCTAL 
68=W          DCH   7  XZ+19(2)            [AND STORE   
68QG          BCHX  2  £
69=6          BCT   5  ZLM  
69PQ          LDX   2  FX2  
6=9B          LDX   0  XZ+5(2)             [LOAD WORD NUMBER
6=P2          STO   0  XZ+17(2) 
6?8L    NMAPIA  
6?N=          CALL  7  WRITE               [PRINT LINE  
6#7W          LDX   1  XZ+32(2)            [RESTORE X1  
6#MG          ADN   1  1
6*76          ADN   3  1                   [UPDATE POINTERS 
6*LQ          TXL   3  AWORK4(2)           [TEST IF END OF D/L REACHED  
6B6B          BCS   V3                     [.. BR IF NOT
6BL2    # COMPLETED PRINTING A DEVICE LIST  
6C5L          LDX   3  XZ+31(2)            [RESTORE DEVICE LIST POINTER 
6CK=          LDX   1  FX1  
6D4W          LDX   0  AWORK2(2)
6DJG          BPZ   0  THO                 [BR IF MORE TO DO
6F46    XIT 
6FHQ ...XEND
6G3B ...      LDX   0  XZ+34(2) 
6GH2 ...      BNZ   0  XCLWF                [JUMP IF USING WORKFILE 
6S?G    XNOTP   
6SR6          FREEPER                      [FREE THE LINEPRINTER
6T=Q    XOVER   
6TCY ...      LDX   0  XZ+33(2)            [RESET CPAT'S CPPTR  
6TK6 ...      STO   0  CPPTR(2) 
6TQB          ENDCOM                       [AND PACK UP 
6TR? ...#   
6TS8 ...#                CODE INSERTED TO CLOSE WORKFILE
6TT5 ...#                AND ISSUE LISTFILE 
6TW2 ...#   
6TWX ...XCLWF   
6TXS ...      CLOSE 
6TYP ...      SETNCORE  4,3,ADATA,CREADL
6T^L ...      LDN   0  8                    [NO OF CHS IN COMMAND   
6W2H ...      STO   0  A1(3)
6W3D ...      LDX   0  QLF(1)   
6W4* ...      STO   0  CPDATA(3)              [MOVE COMMAND 
6W5= ...      LDX   0  QLF+1(1) 
6W67 ...      STO   0  CPDATA+1(3)  
6W74 ...      ISSUCOMB  XOVER,XOVER         [ISSUE LISTFILE COMMAND 
6W7^ ...      BRN      XOVER                [WRAP UP
6W8W ...#   
6W=2    PFERR   
6WPL          LDX   1  FX1  
6WWS ...      LDN   4  XER1(1)  
6X42 ...       LDN   6  5   
6X9=          LDX   7  XCHERR(1)           [PARAMETER FORMAT ERROR  
6XNW          BRN      XOUT                [BR TO OUTPUT MESSAGE
6Y8G    XNPERR  
6YN6          LDX   1  FX1  
6YT# ...      LDN   4  XER2(1)  
6^2G ...      LDN   6  8
6^7Q          LDX   7  XJNOPER(1)          [NO SUCH UNIT
6^MB          BRN      XOUT 
7272    XNPOTT  
736=          LDX   1  FX1  
73?D ...      LDN   4  XER3(1)  
73DL ...      LDN   6  5
73KW          LDX   7  XJPERNA(1)          [NO SUCH TYPE
745G    XOUT
747P ...      LDN   5  XZ+1(2)  
749Y ...      SMO      6
74#7 ...      MOVE  4  0
74BB ...      STO   7  5
74DK ...      CALL  7  WRITE            [SEND ERROR MESSAGE TO PRINTER  
74GS ...      LDX   7  5
74K6          MHUNT    3,CPB,CUNI   
754Q          LDX   4  ANUM(3)  
75JB          ANDN  4  #7777               [CHARACTER COUNT 
7642          OUTPARAM 4,APARA,CPB,CUNI    [SET UP MESSAGE PARAMETER
76HL          MONOUTX  7                   [OUTPUT THE MESSAGE  
773= ...      BRN      XEND 
77GW    #   
782G    #     END OF MAIN ROUTINE   
78G6    #   
78^Q    #     SUBROUTINES FOLLOW
79FB    #   
79^2    XCBD
7=DL    #     CONVERT NUMBER IN X4 TO DECIMAL AND STORE IN WORD POINTED TO BY   
7=Y=    #     X2.X5 IS PRESERVED, X2 = FX2 ON EXIT. LINK IN X7  
7?CW    #   
7?XG          SMO      FX2  
7#C6          STO   5  ACOMMUNE1           [PRESERVE X5 
7#WQ          SMO      FX2  
7*BB          STO   4  ACOMMUNE2           [PRESERVE X4 
7*W2          LDN   5  0
7B*L          SMO      FX1  
7BT=          DVR   4  XCON 
7C#W          LDX   4  5
7CSG          LDCT  5  #200 
7D#6          MODE     1                   [SET ZERO SUPPRESSION MODE   
7DRQ          LDN   0  3
7F?B    XCDB
7FR2          CBD   4  0(2)                [DESTINATION ADDRESS IN X2   
7G=L          BCHX  2  £
7GQ=          BCT   0  XCDB                [4 CHARACTERS TO CONVERT 
7H9W          MODE     0                   [RESET MODE FOR LAST CHARACTER   
7HPG          CBD   4  0(2) 
7J96          LDX   2  FX2  
7JNQ          LDX   5  ACOMMUNE1(2)        [RESTORE X5  
7K8B          LDX   4  ACOMMUNE2(2)        [RESTORE X4  
7KN2          EXIT  7  0
7L7L    XGETLP  
7LM=    #     TO GET A LINEPRINTER BY WHATEVER MEANS NECESSARY  
7M6W    #     LINK IN X7
7MLG    #   
7N66          SBX   7  FX1  
7NKQ          LDX   2  FX2  
7P5B          STOZ     ACOMMUNE1(2) 
7PK2 ...      ALTLEND  2,XZ+34             [EXTEND CPAT FOR BUFFER  
7Q4L          LDX   0  ACES 
7QJ=          STO   0  XZ+1(2)  
7R3W          LDN   0  XZ+1(2)  
7RHG          LDN   1  XZ+2(2)  
7S36          MOVE  0  29                  [AND SPACEFILL IT
7S8# ...      LDX   0  CPPTR(2)            [PRESERVE CPAT'S CPPTR   
7S*G ...      STO   0  XZ+33(2) 
7SD6 ...      STOZ     XZ+34(2)          [SET NON ZERO IF WORKFILE USED 
7SGQ          LDN   6  2                   [LP TYPE 
7T2B          FINDPERE 3,APFOTY,6,RTRY     [GET LP D/L POINTER IN X3
7TG2          BNG   3  XNOTFOUND           [BR IF NOT FOUND 
7T^L          JFREE    3,XFREE             [BR IF DEVICE FREE   
7WF= ...      BRN      RTRY           [TRY FOR ANOTHER ONE  
7WYW ...#   
7XDG ...#                CODE INSERTED TO WARN OPERATOR IF NO LP FREE   
7XY6 ...#                AND OPEN A WORKFILE FOR OUTPUT 
7YCQ ...#   
7YXB ...XNOTFOUND   
7^C2 ...      MONOUT   ANOLP                [SEND WARNING TO CONSOLE
7^WL ...      CREATEWF  
82B= ...      CREATEB  1                       [CREATE WORKFILE 
82TW ...      LDN   0  #12  
83*G ...      ORX   0  GSIGN
83T6 ...      STO   0  CETM(1)              [MARK GRAPHIC FILE  
84#Q ...      OPENWORK XFLOP,APPEND,EMPTY   [OPEN IT
84SB ...      TESTREP  OK,WFOK  
85#2 ...XFLOP GEOERR   1,IDFWFILE             [CANT OPEN FILE   
85RL ...WFOK  NGN   0  1
86?= ...      STO   0  XZ+34(2)             [MARK IN CPAT THAT WORKFILE IN USE  
86QW ...      BRN      XEX  
8G^G    XFREE                              [FREE LP FOUND   
8HF6          JRIGHT   3,XALLOC            [BR IF LP RIGHT  
8KX=          BRN      RTRY                [TRY FOR ANOTHER ONE 
8LBW    XALLOC  
8LWG          SETALLOC 3                   [MARK DEVICE ALLOCATED   
8MB6          STO   3  CPPTR(2)            [TO THIS ACTIVITY
8MKY ...XEX 
8MTQ          LDX   1  FX1  
8N*B          ADX   7  FX1  
8NT2          EXIT  7  0
8P#L    WRITE   
8PS=    #     SUBROUTINE PRINTS THE LINE HELD IN THE EXTENSION OF THE CPAT  
8Q?W    #     AND THEN CLEARS IT. LINK IN X7
8QRG    #   
8R?6          STO   1  XZ+32(2)            [PRESERVE X1 
8RQQ          SBX   7  FX1  
8RXY ...      LDX   0  XZ+34(2) 
8S56 ...      BNZ   0  WRITEWF              [JUMP IF USING WORKFILE 
8S=B    TFAIL   
8SQ2          LDN   0  0
8T9L          DCA      ,DLA,0,MODE         [INSERT MODE 
8TP=          LDN   0  121  
8W8W          DCA      ,STO,0,COUNT        [STORE CHARACTER COUNT   
8WNG          LDN   0  XZ(2)
8X86          BCHX  0  £
8XMQ          BCHX  0  £
8Y7B          BCHX  0  £
8YM2          DCA      ,STO,0,CTSA         [CORE TRANSFER START ADDRESS 
8^6L          LOCK     2                   [LOCK ACTIVITY BLOCK 
8^L=          GPERI    ,2,                 [ISSUE PERI  
925W          COOR1                        [WAIT FOR IT TO FINISH   
92KG          UNLOCK   2
9356          LDX   0  CPRW1(2)            [LOAD REPLY WORD 
93JQ          SLL   0  5
944B          BPZ   0  TOK                 [BR IF OK
94J2          ENGPER   XOXER,,XOXER,1      [OTHERWISE ENGAGE PRINTER
953L          BRN      TFAIL
954H ...#   
955D ...#                CODE INSERTED TO COPY PRINT LINE   
956* ...#               FROM CPAT BUFFER TO FILE,FAPB IF USING WORKFILE 
957= ...#   
9587 ...WRITEWF 
9594 ...      SETNCORE  32,1,FILE,FAPB  
959^ ...      LDN   0  32   
95=W ...      STO   0  A1(1)            [PUT COUNT INTO HEADER  
95?R ...      LDX   0  2
95#N ...      ADN   0  XZ   
95*K ...      ADN   1  A1+1 
95BG ...      MOVE  0  31               [MOVE PRINT LINE TO FAPB
95CC ...      APPEND   0,XEND           [WRITE TO WORKFILE  
95D# ...      TESTREP   REFUSED,XEND
95F9 ...      VFREE    FILE,FAPB
95G6 ...
95H=    TOK 
962W          LDX   0  ACES 
96GG          STO   0  XZ+1(2)  
9726          LDN   0  XZ+1(2)             [SPACEFILL BUFFER BLOCK  
97FQ          LDN   1  XZ+2(2)  
97^B          MOVE  0  29   
98F2          LDN   0  #41  
98YL          STO   0  XZ(2)               [SINGLE LINE PFFC
99D=          LDX   1  FX1  
99XW          ADX   7  FX1  
9=CG          EXIT  7  0
9=X6    XOXER                              [CD ENGAGE LABEL 
9?BQ          SETWTBWR                     [SET WAITING TO BE WRONGED   
9?WB          BRN      XEND                [AND CLOSEDOWN   
9#B2    XLENDV  
9#TL    #     STORE IN AWORK4 A POINTER TO THE DEVICE LIST IMMEDIATELY AFTER
9**=    #     THAT POINTED AT BY X3 LINK IN X4  
9*SW    #   
9B#G          STO   4  ACOMMUNE1(2)        [PRESERVE X4 
9BS6          LDX   0  BITS22LS 
9C?Q          STO   0  AWORK4(2)           [A4 = 4M ODD 
9CRB          LDX   0  BDTP                [X0 POINTS TO BASIC DEVICE TABLE 
9D?2          LDX   1  BDTL 
9DQL          SBN   1  1                   [X1 = COUNT  
9F==    XDOWN   
9FPW          SMO      0
9G9G          LDX   4  0(1)                [LOAD NEXT WORD OF BDT   
9GP6          TXL   4  3
9H8Q          BCS      XUP                 [BR IF GREATER THAN X3   
9HNB          TXU   4  3
9J82          BCC      XUP                 [OR IF EQUAL 
9JML          TXL   4  AWORK4(2)
9K7=          BCC      XUP                 [BR IF > AWORK4  
9KLW          STO   4  AWORK4(2)
9L6G    XUP 
9LL6          BCT   1  XDOWN
9M5Q          ENDLIST  4                   [LOAD POINTER TO END OF DEVICE LISTS 
9MKB          TXL   4  AWORK4(2)
9N52          BCC      YEND                [BR IF >= AWORK4 
9NJL          STO   4  AWORK4(2)
9P4=    YEND
9PHW          LDX   4  ACOMMUNE1(2)        [RESTORE X4  
9Q3G          LDX   1  FX1  
9QH6          EXIT  7  0
9R2Q    #   
9RGB          MENDAREA 40,K100LISTDEV   
9S22    #END
^^^^ ...76715037000300000000