11 22FL #LIS K0OLMTB>K0LIBRARY>K0ALLGEO 15 22_= #SEG OLMTB65 [N.R.BOULT 9 23DW 8HOLMTB 4 23JR ...[ 15 23NN ...[ COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 23SK ...[ 11 23YG SEGENTRY K3OLMTB,QK3OLMTB 11 24D6 SEGENTRY K5OLMTB,QK5OLMTB 11 24XQ SEGENTRY K7OLMTB,QK7OLMTB 11 25CB SEGENTRY K9OLMTB,QK9OLMTB 12 25X2 SEGENTRY K99OLMTB,QK99OLMTB 12 26BL SEGENTRY K11OLMTB,QK11OLMTB 21 26W= # THIS SEGMENT DEALS WITH THE FOLLOWING TYPES OF ONLINE MT PERIS:- 17 27*W # SKIP FORWARD MODE 4 ENTRY POINT K7OLMTB 17 27TG # SKIP BACKWARD MODE 6 ENTRY POINT K5OLMTB 17 28*6 # REWIND MODE 7 ENTRY POINT K3OLMTB 17 28SQ # CLOSE MODE #1000 ENTRY POINT K9OLMTB 17 29#B # UNLOAD MODE #1007 ENTRY POINT K11OLMTB 4 29FJ ...# 18 29LQ ...OWNMON #30000 [MASK FOR OWN-MONITORING 9 29S2 TL1 PAIR OLMTE,1 9 2=?L TL2 PAIR OLMTB,99 4 2=R= TACT 9 2?=W #HAL CPAT,0 4 2?QG TPRB 11 2#=6 #HAL APERI+APERIRES,0 7 2#PQ REWCON 7 7 2*9B SKIPFCON 4 7 2*P2 SKIPBCON 6 20 2*W8 ...READFCON 0 [READ WHEN DUMP BIT SET IN APIA 21 2B3B ...READBCON 2 [READ REV WHEN DUMP BIT SET IN APIA 4 2B8L # 4 2BN= # 20 2C7W [THIS SUBROUTINES SEARCHES ALONG THE ACTIVITY RING FROM THE ACTIVITY 16 2CMG [POINTED TO BY X2 FOR THE CPA OF THE SAME JOB NUMBER 8 2D76 [ON ENTRY : X1=FX1 11 2DLQ [ON EXIT : X3=ADDRESS OF CPAT 10 2F6B [ X4 OVERWRITTEN 7 2FL2 [LINK X0 19 2G5L [IF THE REQUIRED ACTIVITY BLOCK IS NOT FOUND,GEORGE WILL LOOP. 8 2GK= SCA SMO FX2 9 2H4W STO 0 ACOMMUNE1 7 2HJG LDX 3 2 10 2J46 SCA1 LDX 3 ACTRING(3) 9 2JHQ SBN 3 ACTRING 9 2K3B LDX 0 ATYPE(3) 17 2KH2 BXU 0 TACT(1),SCA1 [BRANCH IF NOT CPAT 9 2L2L LDX 0 JOBNO(3) 20 2LG= BXU 0 JOBNO(2),SCA1 [BRANCH IF NOT CPAT FOR THIS JOB 8 2L_W SMO FX2 9 2MFG LDX 0 ACOMMUNE1 7 2M_6 EXIT 0 0 4 2NDQ # 4 2NYB # 21 2PD2 [THIS SUBROUTINE SEARCHES THE ACTIVITY CHAIN UNTIL A PRB (APERI/APERIRES 20 2PXL [BLOCK IS FOUND. IF A NON ACTIVITY TYPE BLOCK IS FOUND A GEOERR XBLK 6 2QC= [IS GIVEN. 4 2QWW SPRB 8 2RBG SMO FX2 9 2RW6 STO 0 ACOMMUNE1 5 2S*Q SPRB1 9 2STB LDX 3 FPTR(3) 9 2T*2 LDX 0 ATYPE(3) 9 2TSL BXGE 0 CACT,OERR 17 2W#= BXU 0 TPRB(1),SPRB1 [BRANCH UNLESS PRB 8 2WRW SMO FX2 9 2X?G LDX 0 ACOMMUNE1 7 2XR6 EXIT 0 0 4 2Y=Q # 20 2YQB # K3OLMTB 4 2_=2 # 9 2_PL [ENTRY POINT FOR REWIND 5 329= QK3OLMTB 9 32NW LDX 2 EVENT2(2) 7 338G ADN 2 1 14 33N6 LDN 7 0 [REPLY 7 347Q LDN 6 7 7 34MB LDN 1 1 9 3572 INMOVE FX2,2,6,1 6 35LL CAPCA 14 366= FPCACA 3,FX2 [FIND PCA 18 36KW CALL 0 SPRB [SEARCH ACTIVITY CHAIN UNTIL PRB FOUND 8 375G ADN 3 A1 16 37K6 FPERENT 4,3,2,6 [FIND PRB ENTRY 16 384Q BNG 2 OERR2 [ENTRY NOT IN PRB 17 38JB LDX 7 1(2) [DEVICE LIST POINTER 8 3942 LOBJPERIS 7,7 8 39HL LDX 0 GSIGN 15 3=3= STO 0 1(2) [SET OFF-LINE 15 3=GW ADN 6 1 [FOR ROLPA 9 3?2G GETACT AOLPT,,1 16 3?G6 LDX 3 BPTR(2) [ADDRESS OF AOLPT 9 3?_Q STO 4 ACC4(3) 9 3#FB STO 5 ACC5(3) 21 3#_2 STO 5 AWORK4(3) [AREWIND WILL OWN THE TAPE BUT MODE 21 3*DL [COMMAND WILL WANT THE DEVICE LIST 20 3*Y= [POINTER FOR *MTN EVEN IF OFFLINE 9 3BCW LINKSET 3,TL1(1) 17 3BXG LDN 0 2 [ONLINE MT INDICATOR 9 3CC6 STO 0 ATMARK(3) 8 3CWQ LDX 0 GSIGN 15 3DBB ORS 0 ALTMARK(3) [TAPE 'GIVEN' 18 3DW2 STO 0 FRECHADD(3) [CHAIN ACTIVITY IF EVENT 9 3F*L LDX 0 JOBNO(2) 14 3FT= STO 0 JOBNO(3) [JOB NR 20 3G#W STO 7 ACOUNT(3) [COUNT OF OBJECT PROGRAM PERIS 15 3GSG ROLPA [CHAIN AOLPT 17 3H#6 DFSET 5,REW [REWIND IN PROGRESS 19 3HRQ LDN 7 0 [SET SWITCH TO SIGNIFY REWIND 4 3J?B # 19 3JR2 [THIS IS COMMON TO REWIND,BACKWARD SKIP AND FORWARD SKIP PERIS. 20 3K=L [ 1) SETS UP A AREWIND ACTIVITY BLOCK ,WITH ALINK2 SET TO POINT TO 7 3KQ= [ K99OLMTB 16 3L9W [ 2) THE APPROPRIATE PERI IS INITIATED [I.E 7,6,4] 20 3LPG [ 3) CO-ORDINATE -UNTIL PERI HAS BEEN FINISHED,RE-ENTRY AT K99OLMTB 4 3M96 QQ 10 3MNQ GETACT AREWIND,,1 9 3N8B LDX 6 JOBNO(2) 9 3NN2 LDX 2 BPTR(2) 9 3P7L STO 6 JOBNO(2) 9 3PM= LINKSET 2,TL2(1) 9 3T4L LOCKC 2,SERCHR 9 3TJ= LDX 2 BPTR(2) 9 3TK? ... STO 5 CPPTR(2) 9 3TL# ... STO 7 ACC7(2) 9 3TM* ... STO 4 ACC4(2) 7 3TNB ... SMO 7 9 3TPC ... LDX 6 REWCON(1) 10 3TQD ...Q2 DCA 5,DLA,6,MODE 7 3TRF ... LDX 0 7 7 3TSG ... SBN 0 3 20 3TTH ... BNG 0 QND4 [J IF NOT READ OR READ REVERSE 7 3TWJ ... LDN 0 1 16 3TXK ... DCA 5,DLA,0,COUNT [SET COUNT OF 1 9 3TYL ... LDN 0 AWORK1(2) 21 3T_M ... DCA 5,STO,0,CTSA [TRANSFER IS INTO AWORK1 OF AREWIND 4 3W2N ...QND4 8 3W3W GPERI ,2 17 3WHG BNZ 7 QSK [BRANCH IF NOT REWIND 7 3X36 RUNPROG 6 3XGQ QSK COOR1 4 3Y2B # 20 3YG2 # K5OLMTB & K7OLMTB 4 3Y_L # 11 3_F= [ENTRY POINT FOR BACKWARD SKIPS 5 3_YW QK5OLMTB 8 42DG LPROP 5,0 17 42Y6 ANDN 0 #10 [SKIP BACKWARDS BIT 20 43CQ BZE 0 NOSKB [BRANCH IF SKIP BACKWKRDS NOT AV 20 43F2 ... DFJUMPN 5,DUMP,QND1 [J IF DUMPER NOT ON THIS CLUSTER 8 43G= ... LPROP 5,0 8 43HG ... ANDN 0 #20 19 43JQ ... BZE 0 QND1 [J IF DECK HASNT GOT RREV 17 43L2 ... LDN 7 4 [READ REVERSE MARKER 7 43P6 ... BRN Q 4 43S= ...QND1 18 43XB LDN 7 2 [SKIP BACKWARDS MARKER 7 44C2 BRN Q 4 44WL # 4 45B= # 11 45TW [ENTRY POINT FOR FORWARD SKIPS 5 46*G QK7OLMTB 9 46T6 LDX 0 EVENT6(2) 7 47#Q SBN 0 7 17 47SB BPZ 0 MODF [BRANCH IF ILLEGAL 9 47SQ ...#SKIP JAUTSKIP 4 47T6 ...( 9 47TG ... JENVNOT QND1A,DME 17 47TW ... LDX 3 5 [DEVICE LIST POINTER 10 47W= ... JBS QND2,3,AUTSKIPTM 5 47WL ...QND1A 4 47X2 ...) 20 47XG ... DFJUMPN 5,DUMP,QND2 [J IF DUMP BIT NOT SET IN APIA 17 482L ... LDN 7 3 [READ FORWARD MARKER 7 485Q ... BRN Q 4 488W ...QND2 17 48#2 LDN 7 1 [SKIP FORWARDS MARKER 4 48RL Q 9 49?= LDX 4 EVENT2(2) 7 49QW ADN 4 1 19 4=2N ... LDX 6 EVENT3(2) [X6 => PROGRAM CHANNEL NUMBER 21 4=6K ... LDX 3 EVENT4(2) [X3 => FIRST WORD OF PERI CONTROL ARE 6 4==G CAPCA 17 4=G# ... STO 6 AWORK1(2) [STORE UNIT NUMBER 18 4=L9 ... STO 3 AWORK2(2) [STORE PERI TYPE,MODE. 8 4=Q6 BRN QQ 4 4?9Q # 20 4?PB # K99OLMTB 4 4#92 # 20 4#NL [ENTRY POINT USED WHEN OLMTB IS RE-ENTERED AFTER CO-ODINATING, AFTER 16 4*8= [INITIATING A REWIND,SKIP BACK OR SKIP FORWARD PERI. 8 4*MW [ 1) FINDS THE CPA 6 4B7G QK99OLMTB 16 4BM6 BZE 7 QRW [BRANCH IF REWIND 7 4BM_ ... LDX 0 7 7 4BNS ... SBN 0 3 20 4BPM ... BNG 0 QND3 [J IF NOT READ OR READ REVERSE 8 4BP_ ... LDCT 0 #040 9 4BQ? ... ANDX 0 CPRW1(2) 20 4BQK ... BNZ 0 TRYMODE4 [J IF TAPE FAIL ON MULTIPLE READS 8 4BQX ... LDCT 0 #020 9 4BR* ... ANDX 0 CPRW1(2) 17 4BRX ... BNZ 0 QND3 [J IFTAPE MARK HIT 19 4BSG ... DFJUMPS ,DUMP,NDUMPFIN [J IF DUMP STILL HAPPENING 5 4BSJ ...TRYMODE4 20 4BSM ... SBN 7 2 [CONVERT READ INTO CORRECT SKIP 5 4BSS ...NDUMPFIN 7 4BT3 ... SMO 7 20 4BTW ... LDX 6 REWCON(1) [PICK READ OR READ REVERSE MODE 10 4BWP ... DCA ,DLA,6,MODE 7 4BXJ ... LDN 0 1 16 4BYC ... DCA ,DLA,0,COUNT [SET COUNT OF 1 9 4B_= ... LDN 0 AWORK1(2) 20 4C25 ... DCA ,STO,0,CTSA [TRANSFER INTO AWORK1 OF AREWINR 8 4C2Y ... GPERI ,2 6 4C3R ... COOR1 9 4C4L ... BRN QK99OLMTB 4 4C5F ...QND3 15 4C6Q CALL 0 SCA [FIND CPAT 9 4CLB LDX 6 CPRW1(2) 7 4D62 LDX 5 2 8 4DKL CHANGEACT 3 7 4F5= LOCK 5 19 4FJW MURDER 5 [THROW AWAY REWIND ACTIVITY 9 4G4G GETWORD 4,2,WRITE 9 4GJ6 TESTREPN OK,OERR 8 4H3Q STO 6 0(2) 7 4HHB WORDFIN 17 4HHN ... LDX 4 AWORK2(2) [X4 => PERI TYPE,MODE 19 4HJ2 ... LDX 0 OWNMON(1) [X0 => OWN-MONITORING MASK 20 4HJ# ... ANDX 4 0 [X4 NON ZERO IF OWN-MONITORING. 21 4HJL ... BNZ 4 RUNPROG [DON'T REPORT FAILS WITH OWN-MONITORI 16 4HJY ... LDCT 0 #040 [BIT3 FOR FAIL 7 4HLG ... ANDX 0 6 15 4HN4 ... BZE 0 RUNPROG [J IF PERI OK 16 4HPL ...QPAR LDCT 4 #005 [TYPE IN B0 - 8 17 4HR8 ... ADX 4 AWORK1(2) [CHANNEL IN B9 - 23 19 4HSQ ... OUTPACK 4,1,PERINAME,QPAR [ASSEMBLE PARAM FOR ILLEGAL 15 4HXW ... BRN TFAIL [J TO ILLEGAL 5 4H_D ...RUNPROG 7 4J32 RUNPROG 4 4JGL QRW 8 4K2= DFCLEAR ,REW 8 4KFW LGEOG ,5 9 4K_G LONGON AREWT,5 14 4LF6 SUICIDE [SUICIDE 4 4LYQ # 4 4MDB # 4 4MY2 # 20 4NCL # K9OLMTB & K11OLMTB 4 4NX= # 16 4PBW [ENTRY FROM PERIXCOD FOR CLOSING TAPES MODE #1000 5 4PWG QK9OLMTB 7 4QB6 LDN 7 1 8 4QTQ BRN PA 4 4R*B # 4 4RT2 # 16 4S#L [ENTRY FROM PERIXCOD FOR UNLOADING TAPES MODE #1007. 6 4SS= QK11OLMTB 7 4T?W LDN 7 0 15 4TRG [THIS IS COMMON TO BOTH CLOSE AND UNLOAD PERIS. 15 4W?6 [ 2) THE MAG TAPE ENTRY IS ERASED FROM THE PRB. 20 4WQQ [ 3) RE-ENTRY FROM THE RELPERENT MACRO IS TO K13OLMTB, WHERE THE 14 4X=B [ OFF-LINE ACTIVITY BLOCK IS MURDERED. 14 4XQ2 [ 4) CONTROL IS PASSED 'DOWN' TO UNLOAD. 19 4Y9L [ 5) CONTROL IS PASSED BACK 'UP' TO THE INSTRUCTION AFTER THE 9 4YP= [ RELPERENT MACRO 4 4_8W PA 19 4_NG CAPCA [GET BACK TO COMMAND ACTIVITY 8 5286 RELPERENT 4,7 7 52MQ RUNPROG 9 537B MODF ILLEGAL MODESEQ 8 53M2 NOSKB ILLEGAL MODE 9 53WS ...TFAIL ILLEGAL PERFAIL 4 546L # 7 54L= # GEOERRS 4 555W # 9 55KG OERR GEOERR 1,XBLK 9 5656 OERR2 GEOERR 1,XPRB 4 56JQ # 5 574B SERCHR 8 57J2 SMO FX2 8 583L LDX 2 BPTR 7 58H= EXIT 1 0 10 592W MENDAREA 50,K88OLMTB 4 59GG #END 8 ____ ...56563505000100000000