LISTOPEN867

(George Source)

Macros used: ACROSS, AND, ANOTHER, BC, BITDEFS, BS, BSXD, CHAIN, CLOSE, CLOSEDIR, CLOSETHAW, CLOSETOP, COOR1, COOR1X, DO, DOWN, ELSE, ELSF, FCAJO, FI, FREECORE, FSHENTRY, GEOERR, IF, JOBLOCK, KEEPREP, LFBBS, LFBBUS, LFBITCLR, LFBITSET, LFEND, LFHUNT, LFTHAW, LONGON1, MBSXD, MFREE, MFREEW, MHUNT, MHUNTW, NAME, NAMETOP, OPEN, OR, PICKREP2, PUTREP2, REPEAT, RV, SAWCEJ, SEGENTRY, SETNCORE, SETPROP, SETREP, SETREP2, STARTACT, STEP, TERMON, THEN, TOPFCB, UNNORM, VFREE, WHILE

LISTOPEN867.txt
22FL    #OPT           K0LISTOPEN=0 
22^=    #LIS           K0LISTOPEN   
23DW    #SEG           LISTOPEN            [ COMM   
23YG          8HLISTOPEN
248# ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983
24D6       SEGENTRY K1LISTOPEN,Z1LISTOPEN   
24J3 ...       FSHENTRY K2LISTOPEN,,Z2LISTOPEN,Z2LISTOPEN   
24MY ...       FSHENTRY K3LISTOPEN,,Z3LISTOPEN,Z3LISTOPEN   
24RT ...       FSHENTRY K4LISTOPEN,,Z4LISTOPEN,Z4LISTOPEN   
24TR ...       FSHENTRY K5LISTOPEN,Z5LISTOPEN,,Z5LISTOPEN   
24W= ...      SEGENTRY K6LISTOPEN,Z6LISTOPEN
24WP ...      SEGENTRY K7LISTOPEN,Z7LISTOPEN
24X8 ...      SEGENTRY K8LISTOPEN,Z8LISTOPEN
24X# ...[   
24XD ...[ ENTRY POINTS K50,K51 USED BY THE LFSTARTJL MACRO  
24XJ ...[   
24XQ    [ CARE MUST BE TAKEN WITH THE FOLLOWING INTERLOCKS: 
25CB    [ 1. WHEN THE MAINFILE IS OPENED,IT IS REQUIRED TO GET THE TIME AND 
25X2    [ DATE LAST ACCESSED.THIS INFORMATION CAN BE OBTAINED FROM THE FILE/ENT 
26BL    [ AND WILL BE ACCURATE UNLESS THE DIRECTORY IS ABOUT TO BE UPDATED BY   
26W=    [ AN AUTOCLOSE.IN THIS CASE A BIT WILL BE SET IN THE FCB,AND THE TIME   
27*W    [ LAST ACCESSED IS TAKEN TO BE THE CURRENT TIME.TO MAINTAIN AN INTERLOCK
27TG    [ IT IS NECESSARY TO KEEP THE DIRECTORY OPEN WHILE THIS IS DONE 
28*6    [   
28SQ    [ 2. IF THE OPEN FAILS BECAUSE THE FILE IS OFFLINE,A RETRIEVE IS ISSUED.
29#B    [ HOWEVER TO ENSURE THAT ITS RETRIEVAL IS NOT MISSED,A KEY BLOCK IS 
29S2    [ SET UP AND CHAINED IN THE LFCHAIN,TOGETHER WITH A COPY OF THE FABSNB. 
2=?L    [ THIS OVERHEAD WILL ONLY BE ENCOUNTERED IF A MULTIFILE 
2=R=    [ ELEMENT IS OFFLINE ( REMEMBER WE DONT CHECK FOR OFFLINE MULTIFILES
2?=W    [ IN LISTFREE ) OR IF A FROZEN FILE HAS BEEN THROWN OFFLINE 
2?QG    [   
2#=6    [   
2#PQ    [***********************************************************************
2*9B    [   
2*P2    [ PRESET DATA   
2B8L    [   
2BN=    [***********************************************************************
2C7W    [   
2CMG    [ BITS IN CPAT  
2D76    [   
2DLQ       BITDEFS  JOBEVENTS,0,WBBREAKIN,,WBNOTICED
2F6B       BITDEFS  EXT+9,22,WBSERVICE  
2FL2    [   
2G5L    PLISTING       12H#LISTING OF   
2GK=    [   
2H4W    TABFILE 
2HJG          #40000012                    [ GRAPHIC
2J46          0                            [ AMORPHOUS  
2JHQ          #40000002                    [ NORMAL 
2K3B          #40000022                    [ ALLCHAR
2KH2          #00100000                    [ PAPER TAPE PUNCH - MK6 
2L2L    [   
2LG=    [ MAIN FILE TYPE BITS FOR GOUT/INFO 
2L^W    TABMTYPE
2MFG       BSXD     4,BLFBASIC  
2M^6       LDN   4  0   
2NDQ       MBSXD    4,BLFNORM,BLFBASIC  
2NYB       MBSXD    4,BLFALLC,BLFBASIC  
2PD2       BSXD     4,BLFTPMK6  
2PXL    [   
2QC=    [ SETUP FILE TYPE BITS FOR GOUT/INFO
2QWW    TABSTYPE
2RBG       BSXD     4,BLFSETBAS 
2RW6       LDN   4  0   
2S*Q       MBSXD    4,BLFSETNORM,BLFSETBAS  
2STB       MBSXD    4,BLFSETALLC,BLFSETBAS  
2T*2       LDN   4  0   
2TSL    [   
2W#=    [***********************************************************************
2WRW    [   
2X?G    SFILETYPE   
2XR6    [   
2Y=Q    [***********************************************************************
2YQB    [   
2^=2    [ CONVERT FILE TYPE IN FILE/ENT TO TYPE IN GOUT/INFO
2^PL    [   
329=    [ X6 = TABMTYPE OR TABSTYPE  IE. MAIN OR SETUP FILES
32NW    [   
338G    [ ON EXIT  X1 -> GOUT/INFO  
33N6    [   
347Q       MHUNT    1,FILE,ENT  
34MB       LDX   4  ETM(1)  
3572       LDX   1  FX1 
35LL       WHILE    4,U,TABFILE(1)      [ FILE TYPE NOT FOUND   
366=       DO   
36KW          ADN   1  1
375G       REPEAT   
37K6       SMO      6   
384Q       OBEY     0(1)                [ TYPE BIT(S) IN X4 
38JB       MHUNT    1,GOUT,INFO 
3942       ORS   4  GFTY(1)             [ INTO GOUT/INFO
39HL       EXIT  7  0   
3=3=    [   
3=GW    [   
3?2G    [***********************************************************************
3?G6    [   
3?^Q    SOPEN   
3#FB    [   
3#^2    [***********************************************************************
3*DL    [   
3*Y=    [ OPEN A FILE   
3BCW    [   
3BXG    [ X1 -> COPY OF A FILE/FABSNB   
3CC6    [   
3CWQ    [ ON EXIT   
3DBB    [  X2 = FX2 
3DW2    [   
3F*L    [ 1) REPLY OK  ( OPEN SUCCESSFUL )  
3FT=    [    FILE/ENT EXISTS
3G#W    [    COPY OF FILE/FABSNB CALLED FILE/FABSNB 
3GSG    [   
3H#6    [ 2) REPLY MAG  ( FILE OFFLINE )
3HRQ    [    X3 -> GOUT/GUPDATE 
3J?B    [    GOUT/GUPDATE ( GMODE = 0 ) AND FILE/FABSNB ON LF CHAIN 
3JR2    [   
3K=L    [ 3) REPLY NOFILE  ( FILE DOES NOT EXIST )  
3KQ=    [    AWORK2 = GMODE 
3L9W    [    GOUT/INFO ( GMODE = 0 ) AND GOUT/INFO4 ON ACTIVITY CHAIN   
3LPG    [   
3M96       SBX   7  FX1 
3MNQ       SMO      FX2 
3N8B       STO   7  AWORK1  
3NN2       NAMETOP  1,FILE,FABSNB   
3P7L    [   
3PM=    [ REENTRY POINT FROM WITHIN THE SUBROUTINE  
3Q6W    [   
3QLG    SOPENA  
3R66    [   
3RKQ    [   
3S5B       OPEN     (GEOERR),READ,LEAVE,NOWAIT,ERASING,DIROPEN,REPLY,QUERY  
3SK2       IF       REP2,OK 
3T4L       THEN 
3TJ=          TOPFCB   1
3W3W          IF       MBAS,1,BFUWB,BFSOLE [ DIRECTORY ENTRY TO BE UPDATED  
3WHG                                       [ BY AUTOCLOSE AFTER BEING WRITTEN   
3X36          THEN  
3XGQ             MHUNTW   1,FILE,ENT
3Y2B             LDX   0  EDATE               [ DO THE UPDATE FOR HEADINGS  
3YG2             STO   0  EWRITDAY(1)   
3Y^L             LDX   0  CLEANCT   
3^F=             STO   0  EWRITTIME(1)  
3^YW          FI
42DG          MHUNT    1,FILE,FABSNB
42Y6          IF       BC,1,BFABWORK       [ NOT A WORKFILE 
43CQ          THEN  
43XB             CLOSEDIR                     [ DIRECTORY AT LEVEL 1
44C2          FI
44WL       ELSE 
45B=          PICKREP2 6                   [ SAVE OPEN REPLY
45TW          VFREE    FILE,ENT 
46*G          MHUNT    1,FILE,FABSNB
46GN ...      IF       RPN2,CLOSEAB 
46MW ...      THEN  
46T6          IF       BC,1,BFABWORK       [ NOT A WORKFILE 
47#Q          THEN  
47SB             CLOSETOP                     [ CLOSE DIRECTORY AT LEVEL 0  
48#2          FI
48HS ...      FI
48RL          PUTREP2  6                   [ RESET OPEN REPLY   
49?=          IF       REP2,CANT
49QW          THEN  
4==G             BRN      SOPENA              [ TRY AGAIN   
4=Q6             [--------------
4?9Q          ELSF     REP2,MAG            [ OFFLINE
4?PB          THEN  
4#92             ANOTHER  FILE,FABSNB   
4#NL             LDX   2  FX2   
4*8=             MHUNT    1,GOUT,INFO   
4*MW             LDX   0  GMODE(1)  
4B7G             STO   0  AWORK2(2) 
4BM6             LDX   0  GOUTKEY1(1)   
4C6Q             STO   0  AWORK3(2) 
4CLB             LDX   0  GOUTKEY2(1)   
4D62             STO   0  AWORK4(2) 
4DKL             STOZ     GMODE(1)  
4F5=             NAME     1,GOUT,GKEY   
4FJW             CHAIN    1,BLF+1             [ PUT GOUT/GKEY AND FILE/FABSNB ON
4G4G             CHAIN    3,BLF+1             [ TO NOTICE FILE COMING ONLINE
4GJ6             RV 
4H3Q             LFHUNT   7,AWORK3(2),AWORK4(2) [ FIND GOUT/GKEY ON LF CHAIN
4HHB             IF       EITHER,REP2,ONLINE  [ ONLINE BY RV MACRO  
4J32             OR       BS,3,BLFCLOSE       [ ONLINE DURING RV MACRO  
4JGL             THEN   
4K2=                LDX   1  FPTR(3)             [ -> FILE/FABSNB   
4KFW                FREECORE 1  
4K^G                NAME     3,GOUT,INFO
4LF6                CHAIN    3,2                 [ RESET GOUT/INFO ON ACTIVITY C
4LYQ                LDX   0  AWORK2(2)  
4MDB                STO   0  GMODE(3)   
4MY2                BRN      SOPENA              [ OPEN AGAIN   
4NCL                [-------------- 
4NX=             ELSF     REP2,OK   
4PBW             THEN   
4PWG                NAME     3,GOUT,GUPDATE 
4QB6                SETREP2  MAG
4QTQ             ELSF     REP2,LOST           [ NO VALID INC. NO.   
4R*B             THEN   
4RT2                LDX   1  FPTR(3)             [ -> FILE/FABSNB   
4S#L                NAMETOP  1,GOUT,INFO4   
4SS=                NAME     3,GOUT,INFO         [ NB. GMODE = 0
4T?W                CHAIN    1,2
4TRG                CHAIN    3,2                 [ NOW ON ACTIVITY CHAIN
4W?6                SETREP   NOFILE 
4WQQ             ELSE   
4X=B                GEOERR   1,LFRVREP  
4XQ2             FI 
4Y9L ...      ELSF     REP2,NOFILE         [ FILE NOT EXIST -   
4YP=                                       [ OR SPARSE MULTIFILE
4^8W          THEN  
4^#2 ...             MHUNTW    1,GOUT,INFO  
4^C6 ...             LDX   0  GMODE(1)  
4^G= ...             STO   0  AWORK2(2)    [AWORK = COPY OF GMODE   
4^KB ...             STOZ      GMODE(1)     [GMODE = ZERO - DELETE ENTRY FROM SY
4^NG             MHUNT    1,FILE,FABSNB 
5286             NAMETOP  1,GOUT,INFO4  
5295 ...      ELSF     REP2,CLOSEAB        [ FILE NOT EXIST -      THEN 
52=4 ...      THEN  
52?3 ...             MHUNT   1,FILE,FABSNB  
52#2 ...             IF       BC,1,BFABWORK 
52#^ ...             THEN   
52*Y ...                      CLOSEDIR  
52BX ...             FI 
52CW ...            CLOSETHAW   
52DT ...             SETREP    NOFILE   
52FS ...             MHUNTW    1,GOUT,INFO  
52GR ...             LDX   0  GMODE(1)  
52HQ ...             STO   0  AWORK2(2)    [AWORK = COPY OF GMODE   
52JP ...             STOZ      GMODE(1)     [GMODE = ZERO - DELETE ENTRY FROM SY
52KN ...         MHUNT    1,FILE,FABSNB 
52LM ...         NAMETOP  1,GOUT,INFO4  
52MQ          ELSE  
537B             GEOERR   1,LFOPEN  
53M2          FI
546L       FI   
54L=       LDX   2  FX2 
555W       LDX   7  AWORK1(2)   
55KG       ADX   7  FX1 
5656       EXIT  7  0   
56JQ    [   
574B    [   
57J2    [***********************************************************************
583L    [   
58H=    SFINDCPA
592W    [   
59GG    [***********************************************************************
5=26    [   
5=FQ    [   
5=^B    [ FIND CPA FOR JOB WHICH ISSUED ONLINE REQUEST  
5?F2    [ NO NEED TO CHECK AUXILARLY STYLE AS ONLY URGENCY & JOB NO.
5?YL    [   
5#D=    [ ON EXIT   
5#XW    [ X1 NEGATIVE - NOT FOUND   
5*CG    [ X1 POSITIVE -> CPAT   
5*X6    [   
5BBQ       MHUNT    1,GOUT,INFO 
5BWB       JOBLOCK  GJOBS(1),1  
5CB2       IF       1,PZ                [ JOB BLOCK 
5CTL          FCAJO    1
5D*=       AND      1,PZ                [ CPAT  
5DSW          LDEX  0  CLNG1(1) 
5F#G          SBN   0  #27  
5FS6       AND      0,ZE                [ WAITNG FOR ONLINE 
5G?Q       THEN 
5GRB          IF       BS,1,WBSERVICE      [ BREAKIN LOCKED OUT 
5GYJ ...      AND      BS,1,WBBREAKIN   
5H5Q ...      AND      BC,1,WBNOTICED   
5H?2          THEN  
5HQL             BC       1,WBSERVICE         [ FREE LOCK   
5KP6                TERMON   1,#27               [ SIMULATE BREAKIN 
5L8Q                NGN   1  #7777  
5M82          FI
5MML       ELSE 
5N7=          NGN   1  #7777
5NLW       FI   
5P6G       EXIT  7  0   
5PL6    [   
5Q5Q    [   
5QKB    [ NO CPA FOUND EXIT PATH
5R52    [   
5RJL    ZNOCPA  
5RM9 ...      MHUNT      1,GOUT,INFO
5RPS ...      IF       BS,1,BLFSETUP
5RSC ...      THEN  
5RX2 ...               CLOSE
5R^K ...      FI
5S2X ...ZNOCP2  
5S4=       CALL  7  STIDYER 
5S#4 ...      MFREEW   GOUT,INFO
5SHW       ACROSS   LISTNEXT,5  
5T3G       [------------------  
5TH6    [   
5W2Q    [   
5WGB    [   
5X22    [***********************************************************************
5XFL    [   
5X^=    STIDYPROP   
5YDW    [   
5YYG    [***********************************************************************
5^D6    [   
5^XQ    [   
62CB    [ TIDY UP BLOCKS USED / SET UP  
62X2    [   
63BL       LDX   2  FX2 
65*6       MHUNT    1,GOUT,INFO 
65SQ       LDX   0  GOUTKEY1(1) 
66#B       STO   0  AWORK1(2)   
66S2       LDX   0  GOUTKEY2(1) 
67?L       STO   0  AWORK2(2)   
67R=       FREECORE 1   
68=W    [   
68QG    [   
69=6    STIDYER 
69PQ    [   
6=9B    [   
6=P2       VFREE    APERI,APROPNOS  
6?8L       VFREE    GOUT,INFO2  
6?N=       VFREE    GOUT,INFO3  
6#7W    [   
6#MG    [   
6*76    STIDYSET
6*LQ    [   
6B6B    [   
6BL2       VFREE    FILE,ENT
6C5L       VFREE    FILE,FABSNB 
6CK=       EXIT  7  0   
6CK? ...SETFE LDX   2  FX2  
6CK# ...      PUTREP2  6                   [RESET REPLY 
6CK* ...      LFBITSET E,2  
6CKB ...      LFBITCLR F,2  
6CKC ...      STARTACT OUT  
6CKD ...      EXIT  7  0
6CKL ...[   
6CL2 ...[   
6CLB ...[***********************************************************************
6CLQ ...[   
6CM6 ...[SETPROP SUBROUTINE 
6CMG ...[   
6CMW ...[***********************************************************************
6D3W ...#   
6D4W    [   
6D4Y ...#SKI  ANIP  
6D52 ...(   
6D54 ...[   
6D56 ...[   
6D5D ...[***********************************************************************
6D5Q ...[   
6D64 ...SLPSFIN 
6D6B ...[   
6D6N ...[***********************************************************************
6D72 ...[   
6D7# ...[ SUBROUTINE TO WAKE UP NIP CPAT AFTER CLOSING DOWN LISTFILE
6D7L ...[ CALLED ON X7  
6D7Y ...[   
6D8= ...      LFBBS    S,2,SFIN2           [BETWEEN LISTINGS
6D8J ...      LFBITCLR Q,2                 [CLEAR @BEFORE FIRST LINE@ BIT   
6D8W ...      LFBITCLR R,2                 [CLEAR @END OF LISTING@ BIT  
6D98 ...      LFBITSET S,2                 [SET @BETWEEN LISTINGS@ BIT  
6D9G ...      LFBBS    B,2,SBRK            [BREAKIN HAS OCCURRED
6D9S ...[ WAKE UP CPAT - MACRO COMPLETED
6D=6 ...SWAKE LONGON1  AWAITNIP,JOBNO(2)
6D=D ...SFIN3 COOR1X                       [GO TO SLEEP 
6D=Q ...      GEOERR   0,NOLINK            [SHOULD NOT BE FPUT HERE 
6D?4 ...[   
6D?B ...[ BETWEEN LISTINGS - NIPSTART MACRO IN PROGRESS 
6D?N ...SFIN2 LFBBS    B,2,SBRK            [BREAKIN HAS OCCURRED
6D#2 ...      EXIT  7  0
6D## ...[   
6D#L ...[ BREAKIN HAS OCCURRED  
6D#Y ...SBRK  LFBITCLR B,2  
6D*= ...      LONGON1  ANIPBRK,JOBNO(2) 
6D*J ...      BRN      SFIN3               [GO TO SLEEP 
6D*W ...[   
6DB8 ...[   
6DBG ...[***********************************************************************
6DBS ...[   
6DC6 ...SLPSCPAT
6DCD ...[   
6DCQ ...[***********************************************************************
6DD4 ...[   
6DDB ...[ SUBROUTINE TO FIND THE CPAT OF THE NIP JOB
6DDN ...[ MUST CHECK THE BREAKIN BIT BEFORE ACCESSING CPAT  
6DF2 ...[ CALLED ON X7  
6DF# ...[   
6DFL ...      JOBLOCK  JOBNO(2),3   
6DFY ...      BNG   3  (GEOERR)            [MUST EXIST IF BREAKIN CLEAR 
6DG= ...      FCAJO    3
6DGJ ...      BNG   3  (GEOERR)            [MUST EXIST IF BREAKIN CLEAR 
6DGW ...      EXIT  7  0
6DH8 ...[   
6DHG ...[   
6DHS ...)   
6DJ6 ...[   
6DJG    [   
6F46    [***********************************************************************
6FHQ    [   
6G3B    Z1LISTOPEN  
6GH2    [   
6H2L    [***********************************************************************
6HG=    [   
6H^W       MHUNTW   3,GOUT,INFO 
6J9N ...      BC       3,BLFWLSIZE  
6JFG       IF       BS,3,BLFONLINE      [ ONLINE REQUEST
6J^6       THEN 
6KDQ          CALL  7  SFINDCPA 
6KYB ...      BNG   1  ZNOCP2              [ J IF NO JOB
6LD2          MHUNT    1,GOUT,INFO  
6LXL          IF       BS,1,BLFSETUP       [ SETUP FILE 
6MC=          THEN  
6MWW             MHUNT    1,GOUT,INFO3  
6NBG             CALL  7  SOPEN 
6NW6             IF       REP2,NOFILE   
6P*Q             THEN   
6PTB                LFTHAW                       [ SETUP FILE   
6Q*2                CALL  7  STIDYER
6QSL                ACROSS   LISTNEXT,9 
6R#=                [------------------ 
6RRW             ELSF     REP2,MAG  
6S?G             THEN   
6SR6                BS       3,BLFSETNAV         [ SETUP FILE NOT ONLINE
6T=Q                CALL  7  SFINDCPA   
6TQB                IF       1,NG                [ NO JOB   
6W=2                THEN
6WPL                   LDX   1  FPTR(3) 
6X9=                   FREECORE 1                   [ FREE BLOCKS ON LF CHAIN   
6XNW                   FREECORE 3   
6Y8G                FI  
6YN6                CALL  7  STIDYER
6^7Q                ACROSS   LISTNEXT,5 
6^MB             FI 
7272             LDN   6  TABSTYPE  
72LL             CALL  7  SFILETYPE 
736=             CALL  7  STIDYSET  
73KW          FI
745G          CALL  7  SFINDCPA 
74K6          BNG   1  ZNOCPA              [ J IF NO JOB
754Q          SETPROP  XOCANT,XOCANT
75JB    XOCANT  
75S8 ...      PICKREP2 6            [SAVE REPLY 
7642          CALL  7  SFINDCPA 
76HL          BNG   1  ZNOCPA   
773=          IF       RPN2,OK             [ PROPERTIES NOT ON DEVICE   
77GW          THEN  
77KF ...         MHUNT 1,GOUT,INFO  
77N4 ...         IF    BS,1,BLFSETUP
77QM ...         THEN   
77T= ...              CLOSE 
77XT ...         FI 
782G             CALL  7  STIDYPROP 
78=# ...      CALL  7  SETFE
78G6             COOR1  
78^Q             [----  
79FB          FI
79^2          BS       1,WBSERVICE         [ LOCK OUT BREAKIN IN JOB
7=DL          LDX   2  FX2  
7=Y=          STOZ     ALFTRANS(2)         [ ACCOUNTING WORDS   
7?CW          STOZ     ALFWORDS(2)  
7?DK ...#   
7?XG       ELSE 
7#C6          MHUNT    1,GOUT,INFO2        [ MAIN FILE FABSNB   
7#WQ          CALL  7  SOPEN
7*BB          IF       REP2,NOFILE  
7*W2          THEN  
7B*L             CALL  7  STIDYER   
7BT=             ACROSS   LISTNEXT,9
7C#W             [------------------
7CSG          ELSF     REP2,MAG 
7D#6          THEN  
7DRQ             BS       3,BLFNAV            [ MAIN FILE NOT ONLINE
7F?B             CALL  7  STIDYER   
7FR2             ACROSS   LISTNEXT,5
7G=L             [------------------
7GQ=          FI
7H9W          MHUNT    1,FILE,FABSNB
7HPG          NAMETOP  1,GOUT,INFO2 
7J96          LDN   6  TABMTYPE 
7JNQ          CALL  7  SFILETYPE
7JQ3 ...#SKI  ANIP  
7JR# ...(   
7JSK ...[ NIP LISTFILES IGNORE ANY SETUP FILE   
7JTW ...      SAWCEJ   XNOT,XNOT,XNOT,XNIP  
7JX7 ...XNIP  IF       BS,1,BLFSETUP
7JYD ...      THEN  
7J^P ...               BC     1,BLFSETUP
7K32 ...               MFREE  GOUT,INFO3
7K4? ...      FI
7K5J ...XNOT
7K6T ...)   
7K8B          IF       BS,1,BLFSETUP       [ SETUP FILE 
7KN2          THEN  
7L7L             MHUNT    1,GOUT,INFO3        [ SETUP FILE FABSNB   
7LM=             CALL  7  SOPEN 
7M6W             IF       REP2,NOFILE   
7MLG             THEN   
7N66                CLOSETHAW                    [ MAIN FILE
7NKQ                MHUNT    1,GOUT,INFO
7P5B                IF       BC,1,BLFNLASTEL     [ NOT OTHER THAN LAST ELEMEN   
7PK2                THEN
7Q4L                   LFTHAW                       [ SETUP FILE
7QJ=                FI  
7R3W                CALL  7  STIDYER
7RHG                ACROSS   LISTNEXT,9 
7S36                [------------------ 
7SGQ             ELSF     REP2,MAG  
7T2B             THEN   
7TG2                BS       3,BLFSETNAV         [ SETUP FILE NOT ONLINE
7T^L                CLOSE                        [ MAIN FILE
7WF=                CALL  7  STIDYER
7WYW                ACROSS   LISTNEXT,5 
7XDG                [------------------ 
7XY6             FI 
7YCQ             LDN   6  TABSTYPE  
7YXB             CALL  7  SFILETYPE 
7^C2             CALL  7  STIDYSET  
7^WL          FI
7^X7 ...#SKI  ANIP  
7^XN ...(   
7^Y9 ...[ IF NIP DO NOT DO SETPROP  
7^YQ ...      SAWCEJ   XNOT1,XNOT1,,XNIP1   
7^^? ...XNOT1   
7^^S ...)   
82B=          SETPROP  XCANT,XCANT  
82TW    XCANT   
835N ...      PICKREP2 6            [SAVE REPLY 
83*G          IF       RPN2,OK  
83T6          THEN  
84#Q             MHUNT    1,GOUT,INFO   
84SB             IF       BS,1,BLFSETUP       [ SETUP FILE  
85#2             THEN   
85RL                CLOSE   
86?=             FI 
86QW             CLOSE  
87=G             CALL  7  STIDYPROP 
87G# ...      CALL  7  SETFE
87Q6             COOR1  
889Q             [----  
88PB          FI
88PJ ...#SKI  ANIP  
88PQ ...XNIP1   
88^N ...#   
892? ...Z2LISTOPEN  
8992          SETNCORE 15,2,ADATA,CREADL
89NL          LDN   4  12   
8=8=          STO   4  A1(2)
8=MW          LDN   4  PLISTING(1)  
8?7G          LDN   5  CPDATA(2)
8?M6          MOVE  4  3
8#6Q          MHUNT    1,GOUT,INFO2 
8#LB          NAMETOP  1,FILE,FABSNB
8*62          UNNORM   TWO  
8*KL          MHUNT    1,FILE,FABSNB
8B5=          NAME     1,GOUT,GABSNB       [ N.B. CLEARS BOTTOM 12 BITS OF ATYPE
8BJW          LDX   2  FX2  
8C4G          STOZ     ALFTRANS(2)         [ ACCOUNTING WORDS   
8CJ6          STOZ     ALFWORDS(2)  
8D3Q          MHUNT    3,GOUT,INFO  
8DHB          IF       EITHER,+GFLI(3),NZ  [ "FROM" SELECTION   
8F32          OR       BS,3,BLFTOCTEXT     [ "TO" CONTEXT SELCTION  
8FGL          THEN  
8G2=             DOWN     LISTRING,2
8GFW          ELSE  
8G^G             LDN   1  0 
8HF6             IF       BS,3,BLFSETUP 
8HYQ             THEN   
8JDB                LDN   1  1  
8JY2             FI 
8KCL             STEP     0(1)                [ GET FIRST RECORD OF MAIN FILE   
8KX=             IF       3,ZE                [ FILE EMPTY  
8LBW             THEN   
8LWG                DOWN     LISTRING,3 
8MB6             FI 
8MTQ          FI
8MX^ ...[ LFSTARTJL RESTORE TIME MACRO  
8N28 ...[ GOES DOWN TO LISTNEXT TO ISSUE THE START OF LF MESSAGE
8N3M ...      SEGENTRY K50LISTOPEN  
8N56 ...      BRN      SNOJL
8N6L ...#UNS  ASTRTJL   
8N8T ...      DOWN     LISTNEXT,12  
8N?4 ...SNOJL SEGENTRY K51LISTOPEN  
8N*B       FI   
8NK8 ...XSOURCE 
8NP5 ...#UNS  ANIP  
8NT2 ...#SKI
8NYX ...      SAWCEJ   XCENTRAL,XIPB
8P4S ...#UNS  ANIP  
8P8P ...   SAWCEJ   XCENTRAL,XIPB,,XNIP2
8P#L       ACROSS   PCTLISTA,1  
8PS=       [------------------  
8Q?W    XIPB
8QRG       ACROSS   IPBLISTA,1  
8R?6       [------------------  
8RQQ    XCENTRAL
8S=B       MHUNT    1,GOUT,INFO 
8SQ2       LDCH  0  GOPTY(1)
8T9L       SBN   0  1   
8TP=       IF       0,ZE                [ TAPE PUNCH
8W8W       THEN 
8WNG          ACROSS   LISTHEAD,1   
8X86          [------------------   
8XMQ       ELSF     TRUE
8Y7B          SBN   0  1
8YM2       AND      0,ZE                [ LINE PRINTER  
8^6L       THEN 
8^L=          ACROSS   LISTINIT,1   
925W          [------------------   
92KG       ELSE                         [ CARD PUNCH
9356          ACROSS   LISTINTC,1   
93JQ          [------------------   
944B       FI   
944S ...#SKI  ANIP  
945= ...(   
945N ...XNIP2   
9466 ...[ FINISH OFF NIPSTART MACRO 
946J ...[ IF BREAKIN SET OR FINISH THEN CANTDO LISTFILE 
9472 ...[ ELSE PASS GOUT/INFO AND FILE/FABSNB TO NIP JOB
947D ...[ AND WAKE IT UP
947W ...      ANOTHER  GOUT,INFO
948# ...      ANOTHER  GOUT,GABSNB  
948Q ...      LDX   2  FX2  
9498 ...      LFBBUS   B,2,XNOTB           [BREAKIN NOT SET 
949L ...[ BREAKIN SET - CANTDO LISTFILE 
94=4 ...XCD   MFREEW   GOUT,GABSNB  
94=G ...      MFREEW   GOUT,INFO
94=Y ...      LFEND    CD   
94?B ...[   
94?S ...[ NOT BREAKIN - CHECK FOR FINISH NOW OR TIMEUP  
94#= ...XNOTB LDX   0  FINISH   
94#N ...      SLL   0  1
94*6 ...      BNG   0  XCD                  [GO TO CANTDO   
94*J ...[ FINISH NIPSTART   
94B2 ...      CALL  7  SLPSCPAT 
94BD ...      MHUNTW   1,GOUT,GABSNB
94BW ...      NAME     1,FILE,FABSNB
94C# ...      CHAIN    1,3  
94CQ ...      MHUNTW   1,GOUT,INFO  
94D8 ...      CHAIN    1,3  
94DL ...      LFBITSET Q,2                  [SET @BEFORE FIRST LINE OF LISTING@ 
94F4 ...      LFBITCLR S,2                  [CLEAR @BETWEEN LISTINGS@   
94FG ...      KEEPREP  6,OK 
94FY ...      BRN      XNTB3                [GO TO SET REPLY AND WAKE CPAT  
94GB ...[   
94GS ...)   
94J2    [   
953L    [   
954H ...#   
955D ...Z3LISTOPEN  
96DY .._
96YJ ...[   
97D8 ...[***********************************************************************
97XS ...[   
98CD ...Z6LISTOPEN  
98X4 ...[   
99BN ...[***********************************************************************
99W# ...[   
9=*Y ...#SKI  ANIP  
9=TJ ...(   
9?*8 ...[ ENTRY POINT FROM LISTFIND WHEN THERE ARE NO AVAILABLE ENTRIES 
9?SS ...[   
9##D ...      LFBBS    B,2,SBRK            [BREAKIN HAS OCCURRED
9#S4 ...      LDX   0  FINISH   
9*?N ...      SLL   0  1
9*R# ...      BNG   0  XNTB4               [FINISH NOW OR TIMEUP
9B=Y ...      KEEPREP  6,NOTAV             [NO AVAILABLE ENTRIES
9BQJ ...XNTB6 CALL  7  SLPSCPAT 
9C=8 ...XNTB3 STO   6  EXEC3(3) 
9CPS ...      BRN      SWAKE               [GO TO WAKE CPAT 
9D9D ...[   
9DP4 ...)   
9F8N ...[   
9FN# ...[   
9G7Y ...[***********************************************************************
9GMJ ...[   
9H78 ...Z7LISTOPEN  
9HLS ...[   
9J6D ...[***********************************************************************
9JL4 ...[   
9K5N ...#SKI  ANIP  
9KK# ...(   
9L4Y ...[ ENTRY POINT FROM LISTNEXT WHEN FINISH HAS OCCURRED AFTER CLOSING  
9LJJ ...[ DOWN A LISTFILE   
9M48 ...[   
9MHS ...      CALL  7  SLPSFIN             [GO TO SLEEP UNLESS NIPSTART 
9N3D ...XNTB4 KEEPREP  6,FAIL   
9NH4 ...      BRN      XNTB6               [GO TO WAKE CPAT 
9P2N ...[   
9PG# ...)   
9P^Y ...[   
9QFJ ...[   
9Q^8 ...[***********************************************************************
9RDS ...[   
9RYD ...Z8LISTOPEN  
9SD4 ...[   
9SXN ...[***********************************************************************
9TC# ...[   
9TWY ...#SKI  ANIP  
9WBJ ...(   
9WW8 ...[ ENTRY POINT FROM LISTNEXT IF NORMAL CLOSEDOWN OF LISTFILE 
9X*S ...[   
9XTD ...      CALL  7  SLPSFIN              [GO TO SLEEP UNLESS NIPSTART
9Y*4 ...[IF NIPSTART MUST HAVE FOUND AN @UNSUITABLE FILE@ AND HAD TO
9YSN ...[ CLOSE DOWN LISTFILE. MUST ALLOW THE SCHEDULER TO HAVE ANOTHER GO  
9^## ...      LFEND    EB   
9^RY ...[   
=2?J ...)   
=2R8 ...#END
^^^^ ...767411130001