14 22FL SEG FHLIST,864,SECTION FILE,OLP 4 22KH ...[ 15 22PD ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983 4 22T* ...[ 10 22_= SEGENTRY K1FHLIST,PERI 11 23DW SEGENTRY K2FHLIST,PCARUN 4 23YG # 21 24D6 # THIS SEGMENT IMPLEMENTS FOUR FILEHANDLER PERIS (MODES #201 TO #204) 21 24XQ # TO ENABLE A SUBJECT PROGRAM TO 'READ' THE OUTPUT NORMALLY DIRECTED 21 25CB # BY LISTFILE TO THE LINE PRINTER. IT IS COMPLETELY SEPARATE FROM THE 11 25X2 # OTHER FILEHANDLER SEGMENTS. 4 26BL # 9 26W= # USE OF AWORK WORDS : 4 27*W # 12 27TG # AWORK1 HOLDS THE PERI MODE 21 28*6 # AWORK2 CONTAINS THE PROGRAM BUFFER ADDRESS, MODES #201 TO #203 19 28SQ # AWORK3 CONTAINS THE SECOND BUFFER ADDRESS FOR MODE #201 15 29#B # AWORK4 BIT SIGNIFICANT, AS FOLLOWS :- 4 29S2 # 16 2B8L BITDEFS AWORK4,23,MFH201 [MODE #201 ISSUED 16 2BN= BITDEFS AWORK4,22,MFH202 [MODE #202 ISSUED 16 2C7W BITDEFS AWORK4,21,MFH203 [MODE #203 ISSUED 18 2CMG BITDEFS AWORK4,0,MFHEND [END OF LISTING REACHED 4 2D76 # 5 2DLQ PLINK 20 2F6B LINK FHLIST,2 [LINK TO PCA FOR LISTFILE ACTION 6 2FL2 RESETLINK 21 2G5L LINK FHLIST,1 [RETURN LINK AFTER OLPODD ERROR ACTIO 4 2G=S ...# 8 2GD2 ...MAXCOUNT +512 4 2GK= # 8 2H4W # SUBROUTINES 4 2HJG # 13 2J46 # CHECK AND LOCK PROGRAM BUFFER AREA 4 2JHQ # 5 2K3B XCHECKB 8 2KH2 SBX 6 FX1 16 2L2L CHECKB 5,4,RESVIOL,3,W,YESBUFF,HLOCK2,,PERI 5 2LG= YESBUFF 8 2L_W ADX 6 FX1 7 2MFG EXIT 6 0 4 2M_6 # 21 2NDQ # CHECK IF PROGRAM USING COMPACT MODE AND ADJUST BUFFER ADDRESS IF SO 4 2NYB # 5 2PD2 TEST22AM 9 2PXL ANDX 5 BITS22LS 8 2QC= PMODES 0,3 8 2QWW ANDN 0 #10 8 2RBG BNZ 0 Y22AM 8 2RHN ... ANDX 5 BSP16 5 2RNW ...Y22AM 7 2RW6 EXIT 6 0 4 2T*2 # 21 2TSL # TRANSFER CONTROL TO PCA(APET) WITH LINK TO K2FHLIST THEN PUT OLPA TO 14 2W#= # SLEEP WHILE THIS CODE IS BEING OBEYED. 4 2WRW # 5 2X?G XTOPCA 8 2XR6 SBX 6 FX1 21 2Y=Q LDX 0 APETADDR(2) [RELATIVISE MEMBER ELEMENT ADDRESS 21 2YQB SBS 0 EVENT1(2) [IN PREPARATION FOR PROGRAM UNPLUG 20 2_=2 LDX 4 ACNUM(2) [REMEMBER ACTIVITY NUMBER OF OLPA 17 2_PL LDX 7 AWORK1(2) [REMEMBER PERI MODE 20 329= ... LDX 5 FTYPNO-1(2) [REMEMBER TYPE/UNIT OF CHANNEL 18 32NW TOPCA PLINK(1) [TRANSFER CONTROL TO PCA 17 338G ... COOR1 [PUT OLPA TO SLEEP 20 33N6 BRN PERI [ERROR RETURN. PROCESS NEXT PERI 20 347Q LDX 3 APETADDR(2) [NORMAL RETURN TO OLPA. UPDATE 18 34MB ADS 3 EVENT1(2) [MEMBER ELEMENT ADDRESS 19 3572 LOCKCA 3,ACAP(2) [RELOCK PROGRAM CONTROL AREA 20 35LL ADX 6 FX1 [CONTINUE PROCESSING CURRENT PERI 7 366= EXIT 6 0 4 36KW # 21 375G # MOVE DATA FROM PROGRAM (ADDRESS IN X4) TO A SPECIFIED ADDRESS IN X5 4 37K6 # 5 384Q XOUTMOVE 14 38JB FOUTMOVE APETADDR(2),4,5,7,HLOCK1,2 7 3942 EXIT 6 0 4 39HL # 21 3=3= # MOVE DATA FROM A SPECIFIED AREA IN X3 TO THE PROGRAM (ADDRESS IN X4) 4 3=GW # 5 3?2G XINMOVE 14 3?G6 FINMOVE APETADDR(2),4,3,5,HLOCK2,2 7 3?_Q EXIT 6 0 4 3#FB # 21 3#_2 # LOCATE THE OLPA GIVEN ACTIVITY NUMBER IN X4, AND RESTORE REPLY WORD 10 3*DL # FROM X7 INTO ACOMMUNE9 4 3*Y= # 5 3BCW XFIND 8 3BXG FINDACTNO 3,4 10 3CC6 STO 7 ACOMMUNE9(3) 7 3CWQ EXIT 6 0 4 3DBB # 4 3DW2 # 4 3F*L # 4 3FT= # 12 3G#W # NORMAL ENTRY TO PROCESS A PERI 4 3GSG # 4 3H#6 PERI 10 3HRQ LDX 3 APETADDR(2) 19 3J?B LOCKCA 3,ACAP(2) [LOCK PROGRAM CONTROL AREA 7 3JR2 LDN 7 4 9 3K=L LDX 4 ACAP(2) 9 3KQ= LDN 5 ACA1(2) 19 3L9W CALL 6 XOUTMOVE [MOVE CONTROL AREA INTO OLPA 9 3LPG LDX 4 ACA1(2) 8 3M96 ANDN 4 #7777 16 3MNQ STO 4 AWORK1(2) [STORE PERI MODE 8 3N8B SBN 4 #201 9 3NN2 BNG 4 NMODNR 7 3P7L SBN 4 4 19 3PM= BPZ 4 NMODNR [ERROR IF MODE OUT OF RANGE 7 3Q6W ADN 4 4 9 3QLG LDX 0 AWORK4(2) 20 3R66 BNZ 0 NFIRST [J IF NOT FIRST PERI ON CHANNEL 18 3RKQ BNZ 4 NILLMODE [ERROR IF NOT MODE #201 5 3S5B NFIRST 7 3SK2 SBN 4 3 20 3T4L BZE 4 MODE204 [MODE #204. NO BUFFER TO CHECK. 16 3TJ= LDX 5 ACA4(2) [BUFFER ADDRESS 9 3WHG LDX 0 AWORK1(2) 8 3X36 SBN 0 #203 17 3XGQ ... BNZ 0 N203 [J IF NOT MODE #203 21 3Y2B LDCT 4 #600 [IF MODE #203,CHECK BUFFER ADDRESS 18 3YG2 BCHX 5 / [POINTS TO CHAR 3 OF WORD 7 3Y_L ANDX 4 5 15 3_F= BNZ 4 NILLCHAR [ERROR IF NOT 18 3_YW SBN 5 1 [READJUST BUFFER ADDRESS 4 4264 ...N203 9 42?= ... BNG 5 NOT203 5 42DG T22AM 9 42Y6 CALL 6 TEST22AM 18 43CQ STO 5 AWORK2(2) [PRESERVE BUFFER ADDRESS 17 43XB LDX 4 ACA3(2) [CONTROL AREA COUNT 9 4478 ... BNG 4 NILLCOUNT 9 44C2 LDX 0 AWORK1(2) 8 44WL SBN 0 #203 16 45B= BZE 0 YM203 [J IF MODE #203 7 45G7 ... ADN 0 1 8 45L4 ... BNZ 0 N202 19 45P_ ... LDN 4 3 [SET COUNT TO 3 FOR MODE #202 9 45TW ... BRN YCHECK 4 45_R ...N202 7 465N ... SLL 4 1 20 469K ... ADX 4 ACA3(2) [MUST BE MODE #201 , SO CONVERT 21 46*G BRN YCHECK [COUNT OF PROPERTY NAMES INTO WORDS 5 46T6 YM203 9 474Y ... BZE 4 NILLCOUNT 19 47#Q ADN 4 6 [ROUND UP CHARACTER COUNT AND 16 47SB SRL 4 2 [CONVERT TO WORDS 5 48#2 YCHECK 19 48HS ... BXGE 4 MAXCOUNT(1),NILLCOUNT [J IF COUNT OUT OF RANGE 21 48RL CALL 6 XCHECKB [CHECK BUFFER ADDRESS FOR VIOLATION 9 49?= LDX 0 AWORK1(2) 8 49QW SBN 0 #201 20 4==G BZE 0 NEXTBUFF [CHECK SECOND BUFFER IF MODE #201 7 4=Q6 SBN 0 1 15 4?9Q BZE 0 MODE202 [MODE #202 15 4?PB BRN MODE203 [MODE #203 5 4#92 NOT203 20 4#NL ADN 0 2 [ERROR IF BUFFER ADDRESS NEGATIVE 19 4*8= BNZ 0 RESVIOL [AND MODE NOT #203 OR #201 16 4*MW NEXTBUFF [MODE #201 ONLY 17 4B7G LDX 3 ACAP(2) [PROGRAM CONTROL AREA 15 4BM6 ADN 3 4 [FIFTH WORD 13 4C6Q FADDRESS APETADDR(2),3,HLOCK1,2 20 4CLB LDX 5 0(3) [PICK UP SECOND BUFFER ADDRESS 10 4D62 LDX 3 APETADDR(2) 9 4DKL CALL 6 TEST22AM 20 4F5= STO 5 AWORK3(2) [PRESERVE SECOND BUFFER ADDRESS 21 4FJW ... LDN 4 19 [NO OF WORDS TO BE WRITTEN TO BUFFER 21 4G4G CALL 6 XCHECKB [CHECK BUFFER ADDRESS FOR VIOLATION 4 4GJ6 # 17 4H3Q # WE NOW ENTER INDIVIDUAL CODE PATHS FOR EACH PERI MODE 4 4HHB # 15 4J32 MODE201 [MODE #201 21 4JGL JBS NILLMODE,2,MFH201 [ERROR IF MODE #201 ALREADY ISSUED 9 4K2= LDX 0 ACA4(2) 19 4KFW BNG 0 NOPROPS [J IF NO PROPERTIES SPECIFIED 18 4K_G LDX 4 ACA3(2) [COUNT OF PROPERTY NAMES 9 4L?X ... BZE 4 NOPROPS 21 4LL# ... SLL 4 2 [SET UP PROPERTY BLOCK LARGE ENOUGH 21 4LYQ ADN 4 2 [TO CONTAIN A 4-WORD RECORD FOR EACH 21 4MDB SETUPCOR 4,1,APERI,APROPS [PROPERTY NAME PLUS R.H. AND COUNT. 16 4MY2 STO 4 A1(1) [RECORD HEADER 9 4NCL LDX 7 ACA3(2) 16 4NX= STO 7 A1+1(1) [COUNT OF NAMES 20 4PBW LDN 6 3 [NO OF WORDS TO MOVE FROM PROGRAM 18 4PWG LDX 3 AWORK2(2) [PROGRAM BUFFER ADDRESS 5 4QB6 PROPLOOP 21 4QTQ LDN 0 12 [STORE NO OF CHARS IN FIRST WORD OF 16 4R*B STO 0 A1+2(1) [PROPERTY RECORD 7 4RT2 ADN 1 1 21 4S#L LDN 5 A1+2(1) [X5 -> START OF PROPERTY NAME AREA 21 4SS= LDX 4 3 [BUFFER ADDRESS CONTAINING NEXT NAME 21 4TRG FOUTMOVE APETADDR(2),4,5,6,HLOCK1,2 [MOVE ACROSS PROPERTY NAME 18 4W?6 ADN 3 3 [UPDATE BUFFER ADDRESS 20 4WQQ ADN 1 3 [UPDATE PROPERTY BLOCK POINTER 19 4X=B BCT 7 PROPLOOP [EXIT IF NO MORE PROPERTIES 4 4XQ2 # 21 4Y9L # WE NOW WISH TO COMMUNICATE WITH THE LISTFILE ROUTINES TO PASS ACROSS 21 4YP= # THE PROPERTY BLOCK AND OBTAIN FILE DETAILS IN RETURN. WE MUST BE IN 21 4_8W # THE CPA TO DO THIS SO FIRST WE CHAIN THE PROPERTY BLOCK TO THE PCA 21 4_NG # AND THEN TRANSFER CONTROL TO PCA (PUTTING OLPA TO SLEEP). THE CODE AT 10 5286 # K2FHLIST IS THEN ENTERED. 4 52MQ # 11 537B MHUNT 1,APERI,APROPS 20 53M2 CHAIN 1,APETADDR(2) [RECHAIN PROPERTY BLOCK AFTER CPA 5 546L NOPROPS 21 54L= CALL 6 XTOPCA [TRANSFER CONTROL,PUT OLPA TO SLEEP 4 555W # 21 55KG # THE NEXT BIT OF CODE IS ENTERED IN THE OLPA AFTER IT HAS BEEN WOKEN 16 5656 # UP ON COMPLETION OF ACTION BY LISTFILE ROUTINES. 4 56JQ # 20 574B TESTRPN2 OK,M201FAIL [J IF NON-OK REPLY FROM NIPSTART 10 57J2 MHUNT 3,GOUT,INFO 19 583L ... LDX 7 GMODE(3) [PICK UP MODE WORD FOR LATER 8 58H= ADN 3 GUSER 18 592W LDX 4 AWORK3(2) [SECOND PROGRAM BUFFER 17 59GG LDN 5 6 [NO OF WORDS TO MOVE 20 5=26 CALL 6 XINMOVE [MOVE USERNAME AND JOBNAME OF JOB 20 5=FQ LDX 3 AWORK3(2) [ISSUING LF INTO PROGRAM BUFFER 7 5=_B ADN 3 6 17 5?F2 FADDRESS APETADDR(2),3,HLOCK1,2 [ABSOLUTE ADDRESS 19 5?JX ... STO 7 0(3) [STORE MODE WORD IN BUFFER 10 5?NS ... MHUNT 3,GOUT,INFO 8 5?SP ... ADN 3 GFTY 9 5?YL ... LDX 4 AWORK3(2) 7 5#4H ... ADN 4 7 19 5#8D ... LDN 5 3 [MOVE TYPE WORD AND MULTIFILE 19 5##* ... CALL 6 XINMOVE [DETAILS INTO PROGRAM BUFFER 10 5#D= MHUNT 3,FILE,FABSNB 8 5#GF ... LDX 0 A1(3) 8 5#JN ... SBN 0 10 8 5#LX ... BNZ 0 NOT10 8 5#P6 ... ADN 3 A1+1 9 5#R* ... BRN NOWMOVE 5 5#TJ ...NOT10 8 5#XR ... SMO A1(3) 8 5*22 ... ADN 3 A1-6 7 5*49 ... LDX 4 3 7 5*6D ... SBN 4 2 7 5*8M ... MOVE 3 6 7 5*=W ... SBN 3 5 5 5**5 ...NOWMOVE 9 5*CG LDX 4 AWORK3(2) 8 5*X6 ... ADN 4 10 21 5BBQ LDN 5 9 [MOVE FILE DESCRIPTION OF LISTFILE 17 5BWB CALL 6 XINMOVE [INTO PROGRAM BUFFER 9 5CB2 MFREE GOUT,INFO 10 5CTL MFREE FILE,FABSNB 20 5D*= BS 2,MFH201 [MODE #201 SUCCESSFULLY COMPLETED 17 5DSW LDN 7 0 [SET UP REPLY WORD 5 5F#G SETREP 9 5FS6 LDX 3 ACAP(2) 7 5G?Q ADN 3 1 13 5GRB FADDRESS APETADDR(2),3,HLOCK1,2 19 5H?2 STO 7 0(3) [STORE REPLY WORD IN PROGRAM 15 5HQL OLPEND [GO TO SLEEP 17 5J== BRN PERI [PROCESS NEXT PERI 4 5JPW # 5 5K9G M201FAIL 17 5KP6 LDCT 7 #040 [BIT 3 OF REPLY WORD 16 5L8Q TESTREP2 FAIL,XFAIL,MAXATT,XMAX,NOTAV,XNOTAV 10 5LNB MHUNT 3,CPB,CUNI 8 5M82 ... ADN 3 APARA 7 5MML LDN 5 3 20 5N7= LDX 4 AWORK3(2) [MOVE INVALID PROPERTY NAME INTO 16 5NLW CALL 6 XINMOVE [PROGRAM BUFFER 9 5P6G MFREE CPB,CUNI 17 5PL6 TESTREP2 FORMAT,XFORM,XCPROP,XCPROP,XPROP,XPROP 5 5Q5Q XFORM 7 5QKB ADN 7 1 9 5R52 BRN SETREP 5 5RJL XCPROP 7 5S4= ADN 7 2 9 5SHW BRN SETREP 5 5T3G XPROP 7 5TH6 ADN 7 3 9 5W2Q BRN SETREP 4 5WGB XMAX 7 5X22 ADN 7 4 9 5XFL BRN SETREP 5 5X_= XNOTAV 7 5YDW ADN 7 5 9 5YYG BRN SETREP 5 5_D6 XFAIL 7 5_XQ ADN 7 6 9 62CB BRN SETREP 4 62X2 # 4 63BL # 4 63W= # 15 64*W MODE202 [MODE #202 20 64TG JBC NILLMODE,2,MFH201 [ERROR IF MODE #201 NOT ISSUED 21 65*6 JBS NILLMODE,2,MFH203 [ERROR IF MODE #203 ALREADY ISSUED 7 65SQ LDN 7 3 19 66#B ... SETUPCOR 7,1,APERI,ARPERT [SET UP REPERTOIRE INFO BLOCK 8 66S2 LDN 5 A1(1) 19 67?L LDX 4 AWORK2(2) [ADDRESS OF PROGRAM BUFFER 20 67R= CALL 6 XOUTMOVE [MOVE REPERTOIRE INFO INTO BLOCK 4 68=W # 21 68QG # WE NOW WISH TO PASS THE REPERTOIRE INFORMATION ACROSS TO THE LISTFILE 17 69=6 # ROUTINES AND AS FOR MODE #201 WE MUST BE IN THE CPAT. 4 69PQ # 10 6=9B ... MHUNT 1,APERI,ARPERT 20 6=P2 CHAIN 1,APETADDR(2) [CHAIN REPERTOIRE BLOCK AFTER PCA 21 6?8L CALL 6 XTOPCA [TRANSFER CONTROL. PUT OLPA TO SLEEP 4 6?N= # 16 6#7W # BACK IN OLPA AGAIN. LISTFILE ACTION COMPLETED. 20 6#MG TESTRPN2 OK,M202FAIL [J IF NON-OK REPLY FROM NIPREP 20 6*76 ... BS 2,MFH202 [MODE #202 SUCCESSFULLY COMPLETED 7 6*LQ LDN 7 0 17 6B6B BRN SETREP [SET UP REPLY WORD 4 6BL2 # 5 6C5L M202FAIL 16 6CK= LDCT 7 #040 [B3 OF REPLY WORD 17 6D4W TESTREP2 WRONG,XWRONG,FORMAT,XFORMAT,TOOHIGH,XHIGH 5 6DJG XLONG 7 6F46 ... ADN 7 1 9 6FHQ BRN SETREP 5 6G3B XWRONG 7 6GH2 ... ADN 7 2 9 6H2L BRN SETREP 5 6HG= XFORMAT 7 6H_W ... ADN 7 3 9 6JFG BRN SETREP 5 6J_6 XHIGH 7 6KDQ ... ADN 7 4 9 6KYB BRN SETREP 4 6LD2 # 4 6LXL # 4 6MC= # 15 6MWW MODE203 [MODE #203 20 6NBG JBC NILLMODE,2,MFH201 [ERROR IF MODE #201 NOT ISSUED 15 6NL# ... JBC NILLMODE,2,MFH202 [NOR MODE #202 21 6NW6 JBS XENDLIST,2,MFHEND [J IF END OF LISTING ALREADY REACHED 10 6P*Q HUNT 3,GOUT,GLINES 20 6PTB BPZ 3 YBLOCK [J IF LINES BLOCK ALREADY PRESENT 4 6Q*2 # 20 6QSL # WE NOW WISH TO COMMUNICATE WITH THE LISTFILE ROUTINES TO OBTAIN A 21 6R#= # GLINES BLOCK CONTAINING THE NEXT BATCH OF RECORDS FROM THE FILE. AS 16 6RRW # WITH MODE #201 THIS MUST BE DONE FROM THE CPAT, 4 6S?G # 21 6SR6 CALL 6 XTOPCA [TRANSFER CONTROL. PUT OLPA TO SLEEP 4 6T=Q # 14 6TQB # BACK IN OLPA. LISTFILE ACTION COMPLETED. 20 6W=2 TESTRPN2 OK,M203FAIL [J IF NON-OK REPLY FROM NIPLINES 10 6WPL MHUNT 3,GOUT,GLINES 5 6X9= YBLOCK 21 6XNW ADX 3 GNEXTL(3) [X3 -> FIRST WORD OF NEXT LINE(RECORD 18 6Y8G LDX 6 GCHARS(3) [NO OF CHARS IN RECORD 18 6YN6 BZE 6 YEND [J IF END OF FILE REACHED 16 6_7Q LDX 0 ACA3(2) [PROGRAM COUNT 17 6_MB BXGE 0 6,NUFF [J IF RECORD < COUNT 7 7272 LDX 6 0 4 72LL NUFF 18 736= LDX 4 ACA4(2) [PROGRAM BUFFER ADDRESS 17 73KW ADN 3 GPFCC [ADDRESS OF PFCC WORD 8 745G LDCT 0 #600 19 74K6 ORS 0 3 [X3 -> CHAR 3 OF PFCC WORD 20 754Q FINMVCH APETADDR(2),4,3,6,HLOCK2,2 [MOVE RECORD INTO PROGRAM 19 75JB LDX 7 6 [STORE COUNT IN REPLY WORD 10 7642 MHUNT 1,GOUT,GLINES 10 76HL LDX 0 GUSELIN(1) 7 773= ADN 0 1 20 77GW BXE 0 GTOTLIN(1),YENDBLK [J IF END OF GLINES BLOCK REACHED 19 782G STO 0 GUSELIN(1) [UPDATE USED LENGTH OF BLOCK 9 78G6 SMO GNEXTL(1) 20 78_Q LDX 0 GCHARS(1) [NO OF CHARS IN RECORD JUST MOVED 7 79FB ADN 0 6 16 79_2 SRL 0 2 [CONVERT TO WORDS 16 7=DL ADN 0 1 [RECORD HEADER 19 7=Y= ADS 0 GNEXTL(1) [UPDATE 'NEXT LINE' POINTER 4 7?CW YSET 20 7?XG BS 2,MFH203 [MODE #203 SUCCESSFULLY COMPLETED 9 7#C6 BRN SETREP 5 7#WQ YENDBLK 17 7*BB FREECORE 1 [FREE GLINES BLOCK 8 7*W2 BRN YSET 4 7B*L YEND 15 7BT= NGN 7 1 [REPLY WORD 19 7C#W BS 2,MFHEND [SET 'END OF LISTING' SWITCH 10 7CSG MFREE GOUT,GLINES 9 7D#6 BRN SETREP 4 7DRQ # 5 7F?B M203FAIL 16 7FR2 LDCT 7 #040 [B3 OF REPLY WORD 17 7G=L ... TESTREP2 STOP,XSTOP,CORRUPT,XRUPT,CHANGED,XCHANG 5 7GQ= XNOPROP 7 7H9W ... ADN 7 1 9 7HPG BRN SETREP 5 7J96 XSTOP 7 7JNQ ... ADN 7 2 9 7K8B BRN SETREP 5 7K=K ...XRUPT 7 7K#S ... ADN 7 3 9 7KC3 ... BRN SETREP 5 7KF= ...XCHANG 7 7KHF ... ADN 7 4 9 7KKN ... BRN SETREP 4 7KN2 # 4 7L7L # 4 7LM= # 15 7M6W MODE204 [MODE #204 20 7MLG ... JBC NILLMODE,2,MFHEND [J IF END OF LISTING NOT REACHED 20 7N66 JBC NILLMODE,2,MFH201 [ERROR IF MODE #201 NOT ISSUED 21 7NKQ CALL 6 XTOPCA [INSTRUCT LISTFILE ROUTINES TO CLOSE 17 7P5B [FILE AND TIDY UP. 17 7PK2 MBC 2,MFHEND,MFH201,MFH203 [CLEAR SWITCHES 16 7Q4L LDN 7 0 [SET REPLY WORD 9 7QJ= BRN SETREP 4 7R3W # 20 7RHG # ENTRY WHEN COMMUNICATION WITH LISTFILE ROUTINES IS REQUIRED. THE 21 7S36 # CURRENT ACTIVITY IS THE PCA(SEE SUBROUTINE XTOPCA). X7 CONTAINS MODE, 20 7SGQ # X4 CONTAINS ACNUM OF OLPA, X5 CONTAINS TYPE/UNIT NO. OF PROGRAM 18 7T2B # CHANNEL. ANY BLOCKS NEEDED HAVE BEEN CHAINED AFTER PCA. 21 7TG2 # FOR EACH MODE, WE TRANSFER CONTROL TO THE CPA, ISSUE AN APPROPRIATE 18 7T_L # MACRO,RETURN CONTROL TO THE PCA,THEN REACTIVATE THE OLPA. 4 7WF= # 5 7WYW PCARUN 16 7XDG UNPLUG [UNPLUG PROGRAM 8 7XY6 SBN 7 #203 18 7YCQ BPZ 7 Y3OR4 [J IF MODE #203 OR #204 7 7YXB ADN 7 1 16 7_C2 BZE 7 Y2 [J IF MODE #202 15 7_WL HUNT 1,APERI,APROPS [MODE #201 19 82B= BPZ 1 Y1 [J IF PROPERTY BLOCK PRESENT 5 82TW Y3OR4 21 83*G CAPCA [CHANGE TO PCA. NO BLOCKS TO TRANSFER 16 83T6 BZE 7 Y3 [J IF MODE #203 16 84#Q BNG 7 Y1A [J IF MODE #201 21 84SB NIPENDLF ZBREAK,5 [MODE #204. CLOSE FILE AND TIDY UP. 9 85#2 ... BRN XPLUG1 4 87=G Y3 21 87Q6 NIPLINES ZBREAK,5 [READ A BLOCK OF RECORDS. MODE #203 10 889Q LDX 7 ACOMMUNE9(2) 18 88FJ ... BNZ 7 XPLUG2 [_ IF ERROR REPLY 21 88PB PCAPLUG ZBREAK,GOUT,GLINES [RETURN CONTROL TO PCA TAKING BLOCK 15 8992 CALL 6 XFIND [X3 -> OLPA 10 89NL MHUNT 1,GOUT,GLINES 19 8=8= CHAIN 1,3 [RECHAIN GLINES AFTER OLPA 9 8=MW BRN XTOLPA 4 8?7G Y1 21 8?M6 CAPCA APERI,APROPS [CHANGE TO CPA TAKING PROPERTY BLOCK 18 8#6Q Y1A NIPSTART ZBREAK,5 [OPEN FILE TO BE LISTED 10 8#LB LDX 7 ACOMMUNE9(2) 19 8#N# ... TESTREP2 OK,PLUGOK,FAIL,XPLUG2,MAXATT,XPLUG2,NOTAV,XPLUG2 11 8#Q= ... PCAPLUG ZBREAK,CPB,CUNI 8 8#S8 ... CALL 6 XFIND 21 8#W6 ... MHUNT 1,CPB,CUNI [RECHAIN BLOCK CONTAINING REJEC 20 8#Y4 ... CHAIN 1,3 [PROPERTY NAME AFTER ALTER 9 8*22 ... BRN XTOLPA 5 8*3Y ...PLUGOK 14 8*62 PCAPLUG ZBREAK,GOUT,INFO,FILE,FABSNB 15 8*KL CALL 6 XFIND [X3 -> OLPA 20 8B5= MHUNT 1,GOUT,INFO [RECHAIN BLOCKS CONTAINING JOB 20 8BJW CHAIN 1,3 [DETAILS AND FILE DESCRIPTION OF 19 8C4G MHUNT 1,FILE,FABSNB [FILE TO BE LISTED AFTER OLPA 8 8CJ6 CHAIN 1,3 9 8D3Q BRN XTOLPA 21 8DHB ...Y2 CAPCA APERI,ARPERT [CHANGE TO CPA WITH REPERTOIRE BLOCK 20 8F32 NIPREP ZBREAK,5 [PASS REPERTOIRE INFO TO LISTFILE 5 8F=S ...XPLUG1 10 8FGL LDX 7 ACOMMUNE9(2) 5 8FQD ...XPLUG2 9 8G2= PCAPLUG ZBREAK 15 8GFW CALL 6 XFIND [X3 -> OLPA 5 8G_G XTOLPA 7 8HF6 LDX 2 3 7 8HYQ LDN 0 1 16 8JDB ADJUSTLK 2 [UPDATE OLPA LINK 19 8JY2 FPUT [PUT OLPA ON ACTIVITY LIST 20 8KCL LINKSET 2,GVFN [RESET PCA LINK AND GO TO SLEEP 6 8KX= COOR1X 4 8LBW # 5 8LWG ZBREAK 19 8MB6 STEPBACK [STEP BACK THE OBJECT PROGRAM 7 8MTQ PROGBRKIN 4 8N*B # 18 8NT2 # THE FOLLOWING SECTION DEALS WITH ALL ILLEGAL CONDITIONS 5 8P#L NMODNR 9 8PS= LDN 3 FYMODE 4 8Q?W XILL 8 8QRG CALL 6 TOPCA 9 8R?6 ACROSS OLPODD,4 5 8RQQ RESVIOL 9 8S=B LDN 3 FYNOBUF 8 8SQ2 BRN XILL 5 8T9L NILLCHAR 9 8TP= LDN 3 FYCHAR 8 8W8W BRN XILL 6 8W#R ...NILLCOUNT 9 8WDN ... LDN 3 FYCOUNT 8 8WJK ... BRN XILL 5 8WNG NILLMODE 9 8X86 LDN 3 FYMODESEQ 8 8XMQ BRN XILL 5 8Y7B XENDLIST 9 8YM2 LDX 0 ACA1(2) 7 8_6L SRL 0 6 8 8_L= ANDN 0 #777 8 925W SBN 0 #300 8 92KG BNZ 0 NOMON 8 9356 LDCT 7 #050 9 93JQ BRN SETREP 5 944B NOMON 9 94J2 LDN 3 FYENDFILE 9 953L LDX 4 FTYPNO(2) 8 95H= BRN XILL 4 962W # 20 96GG # SUBROUTINE TO RESET OLPA LINK TO START OF SEGMENT AND TRANSFER TO 17 9726 # PCA BEFORE GOING ACROSS TO OLPODD TO REPORT ILLEGAL 4 97FQ # 5 97_B TOPCA 10 98F2 TOPCA1 RESETLINK(1) 7 98YL EXIT 6 0 4 99D= # 4 99XW # 10 9=CG MENDAREA 20,K99FHLIST 4 9=X6 # 4 9?BQ #END 6 ____ ...044647370001