{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: LISTOPEN867)}}
====== LISTOPEN867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:AND|AND]], [[george:macro:ANOTHER|ANOTHER]], [[george:macro:BC|BC]], [[george:macro:BITDEFS|BITDEFS]], [[george:macro:BS|BS]], [[george:macro:BSXD|BSXD]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CLOSE|CLOSE]], [[george:macro:CLOSEDIR|CLOSEDIR]], [[george:macro:CLOSETHAW|CLOSETHAW]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:COOR1|COOR1]], [[george:macro:COOR1X|COOR1X]], [[george:macro:DO|DO]], [[george:macro:DOWN|DOWN]], [[george:macro:ELSE|ELSE]], [[george:macro:ELSF|ELSF]], [[george:macro:FCAJO|FCAJO]], [[george:macro:FI|FI]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHENTRY|FSHENTRY]], [[george:macro:GEOERR|GEOERR]], [[george:macro:IF|IF]], [[george:macro:JOBLOCK|JOBLOCK]], [[george:macro:KEEPREP|KEEPREP]], [[george:macro:LFBBS|LFBBS]], [[george:macro:LFBBUS|LFBBUS]], [[george:macro:LFBITCLR|LFBITCLR]], [[george:macro:LFBITSET|LFBITSET]], [[george:macro:LFEND|LFEND]], [[george:macro:LFHUNT|LFHUNT]], [[george:macro:LFTHAW|LFTHAW]], [[george:macro:LONGON1|LONGON1]], [[george:macro:MBSXD|MBSXD]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:NAME|NAME]], [[george:macro:NAMETOP|NAMETOP]], [[george:macro:OPEN|OPEN]], [[george:macro:OR|OR]], [[george:macro:PICKREP2|PICKREP2]], [[george:macro:PUTREP2|PUTREP2]], [[george:macro:REPEAT|REPEAT]], [[george:macro:RV|RV]], [[george:macro:SAWCEJ|SAWCEJ]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETPROP|SETPROP]], [[george:macro:SETREP|SETREP]], [[george:macro:SETREP2|SETREP2]], [[george:macro:STARTACT|STARTACT]], [[george:macro:STEP|STEP]], [[george:macro:TERMON|TERMON]], [[george:macro:THEN|THEN]], [[george:macro:TOPFCB|TOPFCB]], [[george:macro:UNNORM|UNNORM]], [[george:macro:VFREE|VFREE]], [[george:macro:WHILE|WHILE]]
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