22FL #SEG PAGES8 [A C PUTMAN 22PD ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983 22^= #OPT K0PAGES=0 23DW #LIS K0PAGES>K0PERI>K0COMMAND>K0GREATGEO 23YG # 24D6 8HPAGES 24XQ # 25CB # THIS SEGMENT SERVICES THE PAGES COMMAND FOR ERROR RESTARTS ON 25X2 # LINEPRINTERS DURING LISTFILES. THE ACTLF OWNING THE DEVICE IS 26BL # LOCATED BY SEARCHING ROUND THE LISTFILE SCHEDULER'S JOB-RING. 26W= # IF THIS ACTLF HAS AN EXTANT "PLEASE GIVE PAGES.... " REQUEST 27*W # THE NUMBER OF PAGES GIVEN TO THE COMMAND IS CHECKED AGAINST 27TG # ACOMMUNE6 OF THE ACTLF, AND, IF GREATER, A COMMAND ERROR IS 28*6 # REPORTED. OTHERWISE THE NUMBER IS STORED IN ACOMMUNE6. 28SQ # THE PERIPHERAL DESCRIPTION PARAMETER IS ANALYSED BY PARSORTX 29#B # 29S2 # 2=?L # 2=R= SEGENTRY K1PAGES,X1PAGES 2?=W # 2?QG # 2#=6 XNUMB 8HNUMBER 2#PQ XREQ 36HPLEASEGIVEPAGESFORERRORRESTARTONUNIT 2*9B # ERROR MESSAGE IDENTIFIERS 2*P2 XJPARMIS +JPARMIS [PARAMETER MISSING 2B8L XJTOOMANY +JTOOMANY [TOO MANY PARAMETERS 2BN= XJNUMBER1 +JNUMBER1 [NUMBER 2C7W XJEXT +JEXT [NO SUCH SYSTEM REQUEST 2CMG XJPAGE1 +JPAGE1 [TOO MANY PAGES GIVEN 2D76 XJMIN6 +JMIN6 [NO OF PAGES < 1 2DLQ XJMULT +JMULT [PERIPHERAL TYPE NOT ALLOWED 2F6B XJNOPAR +JNOPAR [NO PARAMETERS 2FL2 # 2G5L # * * * 2GK= # * * ** 2H4W # ** * 2HJG # * * * 2J46 # * * *** 2JHQ # 2K3B X1PAGES [THE ONLY ENTRY POINT 2KH2 LDN 5 0 [PARAMETER ANALYSIS LEVEL 2L2L PARANUMB 4,5 [FIND NO OF PARAMETERS GIVEN 2LG= BZE 4 NOPARAMS 2L^W SBN 4 3 2MFG BPZ 4 TOOMANY [ERROR IF MORE THAN 2 PARAMETERS 2M^6 LDN 3 1 [1ST PARAMETER WANTED 2NDQ LDN 7 10 [LOOK FOR "NUMBER" FIRST 2NYB NUMBER 2PD2 SBN 7 4 2PXL PARABEGX 3,7,XNUMB(1) [PASS NUMBER PARAMETER 2QC= MHUNT 2,CPB,CUNI 2QWW NGX 0 ANUM(2) 2RBG BNG 0 YNUMB [BR IF FOUND 2RW6 BCT 7 NUMBER 2S*Q BRN NONUMBER [NO NUMBER PARAMETER - ERROR 2STB YNUMB 2T*2 LDX 6 JPARNUM(2) [PARAMETER NUMBER 2TSL CHNUMCOD [CONVERT PARAMETER 2W#= TESTREP2 CHNUMERR,TEND [BR IF FAILED 2WRW NGX 0 ACOMMUNE1(2) 2X?G BPZ 0 TERROR [ERROR IF -VE OR ZERO 2XR6 NGS 0 AWORK1(2) [STORE NUMBER OF PAGES 2Y=Q #SKI K6PERI>99$99 2YQB TRACE AWORK1(2),PAGENUMB 2^=2 ERN 6 3 [X6 = PERIPHERAL PARAMETER NUMBER 2^PL PARSORTX XBRK,6 [ANALYSE PERIPHERAL DESCRIPTION 329= MHUNTW 3,CPAR,JSCE 32NW BNG 3 TEND [BR IF IT WAS WRONG 338G LDCH 0 JSCEA(3) [DEVICE TYPE 33N6 SBN 0 2 347Q BNZ 0 NOTYPE [ERROR IF NOT LINEPRINTER 34MB GEOPACK 4,JSCEA(3) [UNIQUE DEVICE IDENTIFIER 3572 #SKI K6PERI>99$99 35LL TRACE 4,GEOPER 35N* ...# 35Q4 ...TRYAGAIN 366= # 36KW # AWORK1 NOW CONTAINS THE NUMBER OF PAGES GIVEN 375G # X4 CONTAINS THE GEOPACKED JSOURCE WORDS FOR THE DEVICE 37K6 # NOW TO LOCATE THE ACTLF OWNING THE DEVICE BY SEARCHING ROUND 384Q # THE LISTFILE SCHEDULER'S JOB RING VIA THE LFPACTLF MACRO 38JB # 39HL LFPACTLF 4,2 [LOCATE ACTLF 3=3= BNG 2 NOMORE [BR IF NOT FOUND 3=3W ...# 3=4G ...XNOTB1 3=GW # 3?2G # X2 NOW POINTS TO THE ACTLF OWNING THE PERIPHERAL SPECIFIED IN 3?G6 # THE ORIGINAL PAGES COMMAND. WE NOW HAVE TO SEE WHETHER OR NOT 3?^Q # IT IS INTERESTED IN US. 3#FB # 3#^2 LDEX 0 CLONG1(2) 3*DL SBN 0 #104 [BR IF ACTLF NOT LOOKING FOR 3*Y= BNZ 0 NOTRIGHT [PAGE RESTART 3BCW LDX 6 ACOMMUNE6(2) [IPAGE? 3BXG SMO FX2 3CC6 LDX 5 AWORK1 [NO OF PAGES GIVEN 3CWQ TXL 6 5 3DBB BCS SURFEIT [BR IF TOO MANY 3DW2 STO 5 ACOMMUNE6(2) [ELSE STORE NUMBER OF PAGES GIVEN 3F*L #SKI APAGESMK7 3FT= LONGON1 #104,4 [AND WAKE UP ACTIVITY 3G#W #SKI APAGESMK7<1$1 3GSG ( 3H#6 TRYNWAKE 3HRQ LONGCLEA 2,#104,WAIT 3J?B BRN WOKEN 3JR2 WAIT 3K=L COOR3 #62 [WAIT 4 SECONDS 3KQ= BRN TRYAGAIN [THEN TRX AGAIN 3L9W ) 3LPG WOKEN 3M96 TEND 3MNQ ENDCOM [THEN PACK UP 3N8B # 3NN2 # BELOW WE HAVE VARIOUS ERROR LABELS 3P7L # 3PM= SURFEIT [TOO MANY PAGES GIVEN 3Q6W OUTPACK 6,1,NUMA [OUTPUT PARAMETER 3QLG LDX 6 XJPAGE1(1) 3R66 NGN 7 1 3RKQ BRN REPORT [NO SUB-MESSAGE 3S5B # 3SK2 NOPARAMS [NO PARAMETERS SPECIFIED 3T4L LDX 6 XJNOPAR(1) [PRIMARY MESSAGE 3TJ= NGN 7 1 [NO SUB-MESSAGE 3W3W BRN REPORT 3WHG # 3X36 TOOMANY [TOO MANY PARAMETERS 3XGQ LDX 6 XJTOOMANY(1) 3Y2B NGN 7 1 [NO SUB-MESSAGE 3YG2 BRN REPORT 3Y^L # 3^F= NONUMBER [NUMBER PARAMETER MISSING 3^YW LDX 6 XJPARMIS(1) 42DG LDX 7 XJNUMBER1(1) 42Y6 BRN REPORT 43CQ # 43XB TERROR [NO OF PAGES GIVEN < 1 44C2 LDX 6 XJMIN6(1) 44WL NGN 7 1 [SUB-MESSAGE IN CPB,CUNI 45B= BRN REPORT 45TW # 46*G NOTYPE [INVALID PERIPHERAL TYPE 46T6 LDX 6 XJMULT(1) 47#Q LDX 4 JSCEQ(2) [PERIPHERAL PARAMETER NUMBER 47SB LDN 5 0 [ANALYSIS LEVEL 0 48#2 SPARANOX 4,5 [REACCES PARAMETER 48RL NGN 7 1 49?= BRN REPORT 49QW # 4==G NOMORE [NO ACTLF FOUND 4=Q6 NOTRIGHT 4?9Q LDX 6 XJEXT(1) 4?PB NGN 7 1 4#92 REPORT 4#NL COMERRX 6,7 [REPORT ERROR 4*8= # 4*MW XBRK 4B7G GEOERR 1,PA BREAK 4BM6 # 4C6Q #PAGE 4CLB MENDAREA 40,K100PAGES 4D62 #END ^^^^ ...43650474000100000000