LISTPREP865
(George Source)
Macros used: ACROSS, ALTLEND, CHAIN, COOR1, DCA, DISENGPER, ENGPER, FCAJO, FILEMOVE, FINDLINK, FREECORE, FREELINK, HUNTW, JOBLOCK, JUNBUSY, KEEPREP, LDBIT, LFBBS, LFBBUS, LFBITCLR, LFBITSET, LFEND, LONGON1, LPROP, LPSET, LPUNSET, MHUNTW, NAME, NOTBUSY, OUTPER, SEGENTRY, SETENTRY, SETNCORE, SETUPCORE, TRACEVER, UP, VFREEW
- LISTPREP865.txt
22FL #OPT K0LISTPREP=0 22^= ...#OPT ATPOLTR=0 23YG #LIS K0LISTPREP>K0LISTFILE>K0ALLGEO>K0GREATGEO>K0COMMAND 24D6 #SEG LISTPREP 24XQ 8HLISTPREP 25CB ... SETENTRY LISTPREP,POINT,4 26BL [ 26W= [THIS SEGMENT IS ENTERED FROM LISTINIT.IT SETS UP THE SHORT GOUT INFO 27*W [BLOCKS.IT OUTPUTS THE 'PLEASE LINE UP MESSAGE' FOR SPEC STATIONERY 27TG [ 28*6 [*********************************************************************** 28SQ [DATA AREA 29#B TLP2 +2 [FILE TYPE FOR LP 29S2 TLP [COMPARISON WORD FOR LP 2=?L PRINT +1 2=R= SETUPBIT #10000000 2?=W [TABLE OF LP WIDTHS 2?QG PP96 #2000000 2#=6 PP120 #5000000 2#PQ PP132 #6400000 2*9B PP160 #12000000 2*9H ...[ 2*9N ...[ 2*9T ...[*********************************************************************** 2*=2 ...[ 2*=7 ...[ SUBROUTINE AREA 2*=# ...[ 2*=F ...[*********************************************************************** 2*=L ...[ 2*=R ...#SKI ANIP 2*=Y ...( 2*?5 ...[ 2*?= ...[ 2*?C ...SCHKBREAK 2*?J ...[ 2*?P ...[*********************************************************************** 2*?W ...[ 2*#3 ...[ TO CHECK FOR THE BREAKIN BIT BEING SET 2*#8 ...[ IF SET THEN WAKE CPAT FOR JOB IF WAITING 2*#* ...[ ON RETURN CHECK WHETHER NIPREL MACRO IS FORCING CLOSEDOWN 2*#G ...[ 2*#M ...[ CALLED ON X7 2*#S ...[ 2*#^ ...[ EXPECTS X2 = FX2 2**6 ...[ 2**? ... SBX 7 FX1 2**D ...SCHK2 LFBBS B,2,SBSET [J IF BREAKIN 2**K ... ADX 7 FX1 2**Q ... EXIT 7 0 2**X ...[ 2*B4 ...SBSET LFBITCLR B,2 [CLEAR BREAKIN BIT 2*B9 ... LONGON1 ANIPBRK,JOBNO(2) [WAKE WAITING CPAT 2*BB ... COOR1 [WAIT FOR NEXT MACRO 2*BH ...[ 2*BN ... LFBBUS R,2,SCHK2 [NIPREL NOT FORCING CLOSEDOWN 2*BT ...[ ENTRY FROM OTHER PARTS OF SEGMENT 2*C2 ...SRSET LFBITCLR R,2 [ILLEGAL USE OF BIT R - CLEAR IT 2*C7 ... FINDLINK 3 [FIND LISTLOOP OR LISTINIT DATA 2*C# ... LDX 5 ACC5(3) 2*CF ... BZE 5 SHEAD [OUTPUTTING HEADINGS 2*CL ... SBN 5 1 2*CR ... BZE 5 STERM [OUTPUTTING TERMINATORS 2*CY ... SBN 5 1 2*D5 ... BNZ 5 SLOOP [DURING LISTLOOP 2*D= ...[ LISTINIT HAD BEEN ENTERED BY A DOWN - FREE THE LINK 2*DC ...STRM FREELINK 2*DJ ...[ 2*DP ...SLOOP 2*DW ...SHEAD FREELINK [FREE LINK FROM LISTLOOP/LISTINIT 2*F3 ...[ TIDY UP 2*F8 ... VFREEW ADATA,CREADL 2*F* ... VFREEW FILE,ENT 2*FG ... VFREEW GOUT,INFOLIST 2*FM ... VFREEW GOUT,INFOLIST [SETUP FILE 2*FS ... VFREEW GOUT,INFOSET 2*F^ ... VFREEW GOUT,GLINES 2*G6 ... LFEND CD [STOP LISTFILE 2*G? ...[ 2*GD ...STERM LDX 0 AWORK1(3) 2*GK ... SBN 0 1 2*GQ ... BZE 0 SLOOP [ERROR IN FROM/TO 2*GX ... BRN STRM [OUTPUTTING TERMINATORS 2*H4 ...[ 2*H9 ...[ 2*HB ...[********************************************************************** 2*HH ...[ 2*HN ...[ 2*HT ...SPASSLINES 2*J2 ...[ 2*J7 ...[ 2*J# ...[********************************************************************** 2*JF ...[ 2*JL ...[ SUBROUTINE TO PASS ACROSS GOUT/GLINES BLOCK AND/OR SET REPLY IN CPAT 2*JR ...[ CALLED ON X7 2*JY ...[ X6 - REPLY FOR CPAT 2*K5 ...[ 2*K= ... SBX 7 FX1 2*KC ... JOBLOCK JOBNO(2),3 2*KJ ... BNG 3 (GEOERR) [IF BREAKIN BIT CLEAR MUST EXIST 2*KP ... FCAJO 3 2*KW ... BNG 3 (GEOERR) [IF BREAKIN BIT CLEAR MUST EXIST 2*L3 ... HUNTW 1,GOUT,GLINES 2*L8 ... BNG 1 SPASS 2*L* ... LDN 0 GFIRSTL 2*LG ... STO 0 GNEXTL(1) [FINISH INITIALISING BLOCK 2*LM ... CHAIN 1,3 [CHAIN GLINES AFER CPAT 2*LS ...SPASS STO 6 EXEC3(3) [SET REPLY IN CPAT 2*L^ ... LONGON1 AWAITNIP,JOBNO(2) [WAKE UP CPAT 2*M6 ... COOR1 [WAIT FOR NEXT MACRO 2*M? ...[ 2*MD ... ADX 7 FX1 2*MK ... EXIT 7 0 2*MQ ...[ 2*MX ...[ 2*N4 ...) 2*N9 ...[ 2*P2 [*********************************************************************** 2B8L [MAIN BODY OF SEGMENT 2BN= [*********************************************************************** 2BRB ...[ 2BWG ...[ 2B^L ...[ ENTRY POINT FROM LISTINIT 2C4Q ...[ 2C7W POINT1 2CMG LFBITCLR I,2 [LINE-UP MESSAGE SWITCH 2D76 LDN 6 0 [SWITCH FOR FIRST TIME ROUND 2DLQ ... MHUNTW 3,GOUT,INFO 2F6B LDCH 7 GOPTY(3) [GET PERIPHERAL TYPE 2FL2 SRL 7 1 2G5L STOZ AWORK4(2) 2GK= LDX 0 SETUPBIT(1) 2H4W ANDX 0 GMODE(3) 2HJG BZE 0 NSETP 2J46 LDX 0 GSIGN 2JHQ ORS 0 AWORK4(2) 2K3B NSETP LDX 5 GMODE(3) 2KH2 BNG 5 XBUFFER [J IF ONLINE 2L2L NOFAB 2LG= ... MHUNTW 2,GOUT,INFO 2L^W LDN 5 1 [INITIAL VALUE FOR SETUPCORE 2MFG LDCT 4 2 2M^6 ANDX 4 GMODE(2) 2NDQ BZE 4 NOPAGE [J NOT PAGE RESTART 2NG^ ...#SKI ANIP 2NK8 ...( 2NMC ... SMO FX2 2NPL ... LDX 0 CPPTR 2NRT ... BZE 0 NOPAGE [J IF NIP-NO PAGE RESTART 2NW4 ...) 2NYB SMO FX2 2PD2 ANDX 5 AWORK4 2PXL BNZ 5 NOPAGE [J IF FOR SETUP FILE 2QC= LDX 5 IPAGE [LOAD INSTALLATION PARAMETER 2QWW NOPAGE 2RBG ADN 5 GREST-GNUM 2RW6 ... SETUPCORE 5,3,GOUT,INFOLIST [SET UP SHORT INFORMATION BLOCK 2S*Q SBN 5 GREST-GNUM+1 2STB STO 5 GLEN(3) [STORE IPAGE-1 2T*2 STOZ GNEXT(3) [ZEROISE GOUT FROM GNEXT 2TSL STOZ GREST(3) 2W#= BZE 5 NOIP 2WRW LDN 4 GREST(3) 2X?G LDN 5 GREST+1(3) 2XR6 SMO GLEN(3) 2Y=Q MOVE 4 0 2YQB ...NOIP MHUNTW 2,GOUT,INFO 2^=2 LDN 5 1 2^PL SMO FX2 329= ANDX 5 AWORK4 32NW BZE 5 MAINGOUT [J NOT SETUP GOUT REQD. 338G STOZ GNUM(3) 33N6 STOZ GREST(3) 347Q STOZ GQUAL(3) 34MB LDX 5 GSIGN 3572 STO 5 GLNO(3) 35LL BRN SETUPGOUT 366= MAINGOUT 36KW LDX 4 GFLI(2) [COPY START LINE NO. 375G STO 4 GREST(3) 37K6 STO 4 GNUM(3) 384Q LDX 4 GNLI(2) [LOAD NO OF LINES FOR O/P AND J 38JB BNZ 4 STORE [NOT TO END OF FILE 3942 LDCT 4 256 [SET END OF FILE MARKER 39HL STORE STO 4 GLNO(3) [STORE IN REMAINING LINES WORD 3=3= LDCT 4 3 [LOAD AND STORE RESTART TYPE MARKER 3=GW ANDX 4 GMODE(2) 3=JD ...#SKI ANIP 3=L2 ...( 3=MJ ... SMO FX2 3=P6 ... LDX 0 CPPTR 3=QN ... BNZ 0 STORT 3=S= ...[ ONLY ALL RESTART ON NIP 3=TS ... LDCT 4 1 3=XB ...STORT 3=YY ...) 3?2G SLL 4 7 3?G6 ORS 4 GREST(3) 3?^Q STOZ GQUAL(3) 3#FB BZE 7 SEGOUT [J IF TAPE PUNCH 3#^2 TXU 7 PRINT(1) [J IF CARDS 3*DL BCS TCAR 3*Y= LDX 4 GMFMSK(2) 3BCW STO 4 GCATBITS(3) 3BXG LDN 0 10 [INITIALISE PAGE LINE COUNT 3CC6 [!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 3CWQ [SPECIAL DEBATCHERS FACILITY 3DBB [S71831Q 3DNR ... SEGENTRY K50LISTPREP 3F38 ... BRN SNODEBS 3F*L ADN 0 8 [ALLOW FOR DEBATCHERS 3FT= SEGENTRY K60LISTPREP 3G#W SNODEBS 3GSG [!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 3H#6 STO 0 GPREM(3) 3HRQ SEGOUT 3J?B LDX 4 GMODE(2) [UNPACK AND STORE SEQUENCING AND 3JR2 ANDN 4 7 [MONFILE AND SPECIAL LISTING BITS 3K=L ORS 4 GQUAL(3) 3KBT [ IF A CORRUPT BLK WAS DETECTED WHILST DOING 3KD= [ A CONTEXT SEARCH IN LISTOPEN ..B 11 IN GMODE WILL BE SET 3KFM [ IF SO WE MUST TRANSFER THIS FLAG INTO GQUAL AND CHK. 3KH4 [ FOR IT IN LISTLOOP AND LISTTPCP 3KJF LDBIT 11,0 3KKW ANDX 0 GMODE(2) 3KM? ORS 0 GQUAL(3) [SET B11 IF SET IN GMODE 3KQ= SETUPGOUT 3L9W LDN 4 #17 3LPG SMO FX2 3M96 LDX 5 AWORK4 3MNQ ANDN 5 1 3N8B BZE 5 NSE1 3NN2 SLL 4 4 3P7L NSE1 ANDX 4 GFTY(2) 3PM= BZE 5 NSE2 3Q6W SRL 4 4 3QLG NSE2 SLL 4 5 3R66 ORS 4 GQUAL(3) 3RKQ TXU 7 PRINT(1) 3S5B BCS XBUFFER 3SK2 SMO FX2 3T4L LDX 0 CPPTR 3T9S ...#SKI ANIP 3TC2 ... BZE 0 XBUFFER [J IF NIP 3TJ= LPROP 0,4 3W3W LDN 5 #140 3WHG ANDX 5 4 3X36 SBN 5 #140 3XGQ BZE 5 P1933 [J IF BUFFERED PRINTER 3YG2 LDN 5 #20 3Y^L ORS 5 GQUAL(3) 3^F= P1933 3^YW [ 42DG SRC 4 5 42Y6 BNG 4 TO160 [J IF 160 PRINT POSITION 43CQ SLC 4 3 43XB BNG 4 TO132 [J IF 132PP 44C2 SRC 4 2 44WL BNG 4 TO120 [J IF 120PP 45B= LDX 5 PP96(1) 45TW BRN SETPW 46*G TO120 46T6 LDX 5 PP120(1) 47#Q BRN SETPW 47SB TO132 48#2 LDX 5 PP132(1) 48RL BRN SETPW 49?= TO160 49QW LDX 5 PP160(1) 4==G SETPW 4=Q6 #SKI ATPOLTR 4?9Q TRACEVER 5,PREPWID 4?PB ORS 5 GQUAL(3) 4#92 XBUFFER 4#NL SMO FX2 4*8= LDX 4 AWORK4 4*MW BPZ 4 NOTSE [J NOT SETUP 4B7G LDN 5 1 4BM6 ANDX 4 5 4C6Q BNZ 4 TWICE [J TWICE MARKER SET FOR GOUT 4CLB SMO FX2 4D62 ADS 5 AWORK4 4DKL BRN NOFAB [J IF 2ND GOUT REQD 4F5= TWICE SMO FX2 4FJW SBS 5 AWORK4 4G4G NOTSE 4GJ6 LDX 5 GMODE(2) 4HHB BRN PLOOP1 4J32 [ 4JGL [ THIS ENTRY POINT IS USED AFTER A TESTPATTERN FILE HAS BEEN LISTED 4K2= [ 4KFW [ 4K^G [*********************************************************************** 4LF6 POINT2 4LYQ LDN 7 1 [LP KEY 4NCL LDX 0 AWORK1(2) 4NX= ANDN 0 #1000 4PBW BZE 0 PLOOP1 [J IF NOT EXTENDED ACTLF 4PWG ALTLEND FX2,100 [ELSE REDUCE ACTLF LENGTH 4QB6 LDN 0 0 4QTQ DCA ,DEX,0,MODE [AND ZEROISE MODE 4RT2 PLOOP1 4S#L LDX 2 FX2 4SS= LDX 4 AWORK4(2) 4T?W BZE 4 PLOOP [J IF NOT SETUP 4TRG BZE 6 PLOOP [J FIRST TIME THROUGH 4W?6 XISBY JUNBUSY ,NOTBUSY 4WQQ BRN XISBY 4X=B NOTBUSY 4XQ2 DISENGPER 4Y9L LFBBS I,2,NOINITMSG [J IF MESSAGE ALREADY OUTPUT 4YP= LFBITSET I,2 4^8W OUTPER 4^NG ENGPER TERM,,XOUT,2 [PLEASE LINE UP 5286 NOINITMSG 52MQ ENGPER TERM,,XOUT,3 537B PLOOP 53M2 TXU 7 PRINT(1) 546L BCS NOTLP 54L= ACROSS LISTLOOP,1 555W NOTLP ACROSS LISTTPCP,1 55KG ...XOUT HUNTW 1,GOUT,INFOLIST 5656 BNG 1 XOUT1 56JQ FREECORE 1 574B BRN XOUT 57J2 XOUT1 LFEND CD 583L [ 58H= [*********************************************************************** 592W POINT3 59GG [THIS IS THE ENTRY POINT FROM LISTLOOP WHEN SET_P IS TERMINATED 5=26 TERM LPSET 5=FQ LDX 0 AWORK2(2) 5=^B BNG 0 OLEND 5?F2 LDX 0 GSIGN 5?YL ERS 0 AWORK4(2) 5#D= FILEMOVE 1,0 5#XW ... MHUNTW 1,GOUT,INFOLIST 5*CG ... NAME 1,GOUT,INFOSET 5*X6 ACROSS LISTLOOP,1 5BBQ TERM2 LPUNSET 5BWB OLEND LFEND 5CB2 [ 5CTL [ 5D*= [FOR PAPER TAPE OUTPUT 5DSW [ 5F#G [FOR CARD PUNCH OUTPUT 5FS6 [ 5G?Q TCAR LDN 4 2 [TEST FOR CARD SEQUENCING 5GRB ANDX 4 GMODE(2) 5H?2 BZE 4 NONUM [J NONE 5HQL LDCT 4 256 [SET SEQUENCING MARKER 5J== ORS 4 GQUAL(3) 5JPW NONUM 5K9G LDN 4 #20 [SHOW SPACE FILLING MAY BE REQUIRED 5KP6 ORS 4 GQUAL(3) 5L8Q BRN SEGOUT 5L8X ...[ 5L94 ...[ 5L99 ...[*********************************************************************** 5L9B ...[ 5L9H ...POINT4 5L9N ...[ 5L9T ...[*********************************************************************** 5L=2 ... 5L=7 ...[ 5L=# ...[ ENTRY POINT FROM LISTINIT OR LISTLOOP TO DO A 'PERI' FOR NIP 5L=F ...[ THIS INVOLVES MOVING THE LINE FOR OUTPUT INTO A GOUT GLINES BLOCK 5L=L ...[ AND WHEN THE BLOCK IS FULL (SEVERAL PERIS) PASSING IT TO THE 5L=R ...[ WAITING CPAT AND WAKING UP THE CPAT 5L=Y ...[ CHECKING FOR BREAKIN AND FINISH NOW IS NECESSARY 5L?5 ...[ ON ENTRY GZDUMP IN THE ACTIVITY BLOCK MAY HAVE THESE VALUES: 5L?= ...[ +VE - A LINE OF DATA IS BEING PASSED 5L?C ...[ ZERO- END OF LISING IS TO BE PASSED 5L?J ...[ -VE - THE FILE IS CORRUPT,THE CURRENT GLINES BLOCK 5L?P ...[ IS TO BE PASSED AND THEN A CORRUPT REPLY 5L?W ...[ 5L#3 ...[ 5L#8 ... LDX 0 GZDUMP(2) 5L#* ...#SKI ANIP 5L#G ...( 5L#M ... BPZ 0 XHNT [NORMAL ENTRY OR END OF LISTING 5L#S ...[ CORRUPT OR CHANGED REPLY - IS THERE A GLINES BLOCK TO PASS 5L#^ ... HUNTW 3,GOUT,GLINES 5L*6 ... BPZ 3 XNORM 5L*? ... BRN XBRK [NO BLOCK - GO TO SET REPLY 5L*D ...[ 5L*K ...XHNT HUNTW 3,GOUT,GLINES 5L*Q ... BPZ 3 XIST 5L*X ...[ NO BLOCK EXISTS - CREATE ONE 5LB4 ... SETNCORE 512,3,GOUT,GLINES 5LB9 ... STOZ GTOTLIN(3) 5LBB ... STOZ GUSELIN(3) 5LBH ... LDN 0 GFIRSTL 5LBN ... STO 0 GNEXTL(3) 5LBT ...[ BLOCK SET UP AND INITIALISED 5LC2 ...XIST LDX 0 GZDUMP(2) 5LC7 ... BZE 0 ZERO [ONLY ONE WORD NEEDED 5LC# ... ADN 0 2 5LCF ... SRL 0 2 [GET WORDS NEEDED 5LCL ... ADN 0 1 [ADD FOR PFCC 5LCR ... LDX 4 0 5LCY ...ZERO ADN 0 1 [ADD FOR CHAR COUNT WORD 5LD5 ... ADX 0 GNEXTL(3) [WORDS USED SO FAR 5LD= ... SBN 0 A1 [LOGICAL LENGTH 5LDC ... SBN 0 513 5LDJ ... BPZ 0 XNORM [NO ROOM 5LDP ... LDX 5 GZDUMP(2) 5LDW ... SMO GNEXTL(3) 5LF3 ... STO 5 0(3) [STORE CHAR COUNT 5LF8 ... LDN 0 1 5LF* ... ADS 0 GTOTLIN(3) 5LFG ... BZE 5 XENDL [END OF LISTING 5LFM ... LDN 6 GZDATA(2) 5LFS ... SMO GNEXTL(3) 5LF^ ... LDN 7 1(3) 5LG6 ... SMO 4 5LG? ... MOVE 6 0 [MOVE IN LINE 5LGD ... ADN 4 1 5LGK ... ADS 4 GNEXTL(3) 5LGQ ... UP 5LGX ...[ 5LH4 ...[ END OF LISTING 5LH9 ...XENDL CALL 7 SCHKBREAK 5LHB ... LFBITSET R,2 5LHH ... KEEPREP 6,OK 5LHN ... CALL 7 SPASSLINES 5LHT ...[ 5LJ2 ...[ NIPREL WILL FORCE CANTDO IN THIS CASE BY CLEARING FLAG R 5LJ7 ... LFBBUS R,2,SRSET 5LJ# ... UP 5LJF ...[ 5LJL ...[ NO ROOM IN GLINES BLOCK -PASS IT TO CPAT 5LJR ...XNORM CALL 7 SCHKBREAK 5LJY ... KEEPREP 6,OK 5LK5 ... LDX 0 FINISH 5LK= ... SLL 0 2 5LKC ... BPZ 0 XNFIN 5LKJ ...[ FINISH NOW - WARN PROGRAM 5LKP ... KEEPREP 6,STOP 5LKW ...XNFIN CALL 7 SPASSLINES 5LL3 ... LFBBS R,2,SRSET [NIPREL FORCING CLOSEDOWN 5LL8 ... LDX 0 GZDUMP(2) 5LL* ... BPZ 0 XHNT 5LLG ...[ CORRUPT OR CHANGED REPLY 5LLM ...XBRK CALL 7 SCHKBREAK 5LLS ... LDX 6 GZDUMP(2) 5LL^ ... ERX 6 GSIGN 5LM6 ... CALL 7 SPASSLINES [PASS REPLY TO CPAT 5LM? ... LFBBS R,2,SRSET [NIPREL FORCING CLOSEDOWN 5LMD ... UP 5LMK ...[ 5LMQ ...[ 5LMX ...) 5LNB #END ^^^^ ...56510163000200000000