12 226D ... SEG FINISHB,867,SECTION CENT 4 22=W ...[ 4 22C# ...[ 4 22HQ ...[ 16 22N8 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 22SL ...[ 16 22_= FSHENTRY K1FINISHB,RETESTCG,RETESTCG,RETESTCG 14 23DW FSHENTRY K2FINISHB,,TOFREEBS,TOFREEBS 15 23YG FSHENTRY K3FINISHB,,TOSHUTDOWN,TOSHUTDOWN 11 24D6 SEGENTRY K4FINISHB,SECOND 11 24XQ SEGENTRY K5FINISHB,QENTRY5 14 25CB FSHENTRY K7FINISHB,QENTRY7,,QENTRY7 14 25X2 FSHENTRY K8FINISHB,,QENTRY8,QENTRY8 14 26BL FSHENTRY K9FINISHB,,QENTRY9,QENTRY9 14 26W= FSHENTRY K10FINISHB,,QENTRY10,QENTRY10 12 2764 ... SEGENTRY K11FINISHB,QENTRY11 4 27*W # 6 27FR ...XBACTRING 10 27KN ... +BACT+ACTRING 4 27PK ...# 4 2F6B [ 6 2G5L NL ENDCOM 5 2HJG STOPFIN 8 2J46 STO 1 GL1 7 2JHQ LDX 2 3 8 2K3B LDX 1 FX1 20 2KH2 LINKSET 2,NL+1(1) [ PUTS ENDCOM LINK IN ACTIVITY 8 2L2L CALL 0 UNSET 20 2LG= FPUT [ PUTS ACTIVITY ON ACTIVITY LIST 8 2L_W BRN (GL1) 4 2MFG [ 21 2M_6 [ S/R TO UNSET THE 'CURRENT FINISH ACTIVITY' BIT. FIRST IT TEST THAT 9 2NDQ [ THE BIT IS SET. 8 2NYB UNSET STO 0 GL2 8 2PD2 LDCT 0 #20 9 2PXL ANDX 0 EXT+11(2) 19 2QC= BNZ 0 X1 [ IF ZERO, THE BIT IS UNSET 9 2QWW GEOERR 0,OOPS! 9 2RBG X1 ERS 0 EXT+11(2) 8 2RW6 BRN (GL2) 4 2S*Q [ 17 2STB # SUBROUTINE TO FIND CPA FOR CANCEL OR SECOND FINISH 5 2T*2 SEEKCPA 10 2TSL LDN 2 BACT+ACTRING 5 2W#= XLOOP9 9 2WRW LDX 2 FPTR(2) 10 2X?G TXU 2 XBACTRING(1) 8 2XR6 BCC QEND9 7 2Y=Q LDX 3 2 18 2YQB SBN 3 ACTRING [ADJUST TO START OF BLOCK 9 2_=2 LDCH 0 ATYPE(3) 9 2_PL SBN 0 CPAT/64 9 329= BNZ 0 XLOOP9 8 32NW LDCT 0 #20 16 338G ANDX 0 EXT+11(3) [TEST IF FINISH 14 33N6 BZE 0 XLOOP9 [J IF NOT 14 3*Y= LDX 2 FX2 [RESET X2 7 3BCW EXIT 6 1 5 3BXG QEND9 17 3DBB EXIT 6 0 [EXIT 0 IF NOT FOUND 4 3DW2 # 4 3K=L # 4 7642 # 14 76HL # ENTRY POINT FOR SECOND FINISH COMMAND 4 773= # 5 77GW SECOND 16 782G CALL 6 SEEKCPA [FIND 1ST CPAT 8 78SG ... BRN XGER 9 78_Q #SKI K6FINISH>199-199 9 79FB TRACE 3,OLDFIN 8 79_2 LDCT 0 #20 16 7=DL ORS 0 EXT+11(2) [SET BIT IN NEW 5 7=Y= ZONG1 18 7?CW LDX 0 BACKCHAN(3) [CHECK IF NEED TO REMOVE 17 7?XG BZE 0 ZING [ACT FROM QUEUE/LIST 8 7#C6 LDCT 0 #200 9 7#WQ ANDX 0 BA1(3) 18 7*BB BZE 0 NOBSQ [J IF NOT ON BSA QUEUE 15 7*W2 COOR3 #62 [WAIT A WHILE 9 7B*L CALL 6 SEEKCPA 9 7BT= BRN TOOLATE 8 7C#W BRN ZONG1 5 7CSG NOBSQ 7 7D#6 LDX 2 3 7 7DRQ UNQUEUE 19 7F?B ZING CALL 1 STOPFIN [ END FIRST FINISH ACTIVITY 8 7P5B LDCT 0 #740 18 7PK2 ANDS 0 FINISH [CLEAR B4-23 OF FINISH 5 7WYW SOKNOLD 18 7XDG BZE 7 NOPAR [JOIN APPROPRIATE ROUTINE 8 7XY6 BNG 7 PHAST 15 85#2 ORS 4 FINISH [STORE TIME 8 85RL BRN WAIT 4 8MTQ # 13 8N*B # ENTRY POINT FOR CANCEL FINISH 4 8NT2 # 4 8P#L # 19 8PS= QENTRY5 [ 'CANCEL FINISH' ENTRY POINT 9 9726 LDX 6 FINISH 19 97FQ BPZ 6 NOFIN [ERROR IF NO PREVIOUS FINISH 19 97_B LDCT 0 #240 [TOO LATE IF EITHER BIT SET 7 98F2 ANDX 0 6 19 98YL BNZ 0 TOOLATE [J IF PAST TIME - TOO LATE 8 9#B2 LDCT 0 #600 9 9#TL ERS 0 HLSWAIT 5 9**= XNCLFN 15 9*SW LDN 5 0 [CLEAR MARKER 15 9B#G ZONG OUTPAR TIMENOW [ O/P TIME 16 9BS6 BNZ 5 OPS1 [J TO TELL OPS 16 9FPW BROADCAST HALLCLEAR [GIVE ALL CLEAR 15 9KLW BUX 5 ZONG [ROUND AGAIN 4 9L6G OPS1 10 9P4= INFORM 3,HALLCLEAR,1 17 9S_= CALL 6 SEEKCPA [FIND FINISH ACTIVITY 8 9TDW BRN XGER 8 9TYG #SKI K6FINISH>99-99 9 9WD6 TRACE 3,CANFIN 5 9WXQ ZANG1 16 9XCB LDX 0 BACKCHAN(3) [CHECK IF NEED TO 19 9XX2 BZE 0 ZANG [REMOVE ACT FROM QUEUE/LIST 8 9YBL LDCT 0 #200 9 9YW= ANDX 0 BA1(2) 18 9_*W BZE 0 NOTBS [J IF NOT ON BSTS QUEUE 15 9_TG COOR3 #62 [WAIT A WHILE 9 =2*6 CALL 6 SEEKCPA 9 =2SQ BRN TOOLATE 8 =3#B BRN ZANG1 5 =3S2 NOTBS 7 =4?L LDX 2 3 7 =4R= UNQUEUE 18 =5=W ZANG CALL 1 STOPFIN [ END THE FINISH ACTIVITY 17 =8N= STOZ FINISH [CLEAR FINISH WORD 6 =JC= RUNJSA 6 =JWW ENDCOM 5 =KBG NOPAR 9 =KW6 ACROSS FINISH,8 4 =L*Q # 5 =LTB PHAST 9 =M*2 ACROSS FINISH,9 4 =MSL # 4 =N#= WAIT 9 =NRW ACROSS FINISH,10 4 =P?G # 4 =Y6= # 15 =Y6T ...[ THIS SECTION IS ENTERED ACROSS FROM FINISH 13 =Y7D ...[ WHEN MACRO ^FNDELE ON^ IS USED. 15 =Y83 ...[ WAITS FOR END OF CONSOLE OUTPUT AND THEN 15 =Y8L ...[ TERMINATES FINISH ACTIVITY WITH A GEOSTOP 5 =Y99 ...QENTRY11 4 =Y9S ...STOP 9 =Y=C ... LDN 4 BCONSOUT 20 =Y?2 ... BXE 4 BCONSOUT,STOP20 [J IF CONS OUTPUT CHAIN EMPTY 4 =Y?K ...[ 5 =Y#8 ...STOP10 19 =Y#R ... COOR3 #53 [WAIT FOR END OF CONS OUTPUT 8 =Y*B ... BRN STOP 4 =Y*_ ...[ 5 =YBJ ...STOP20 8 =YC7 ... LDN 4 63 21 =YCQ ... FINDPERE 3,APFOTY,4,STOP30 [SET X3 POINTING TO DEVICE LIST FOR 21 =YD* ...[ CONSOLE T/W. STOP30 IS RE-ENTRY 20 =YDY ... JWRONG 3,STOP30 [IF WRONGED LOOK FOR NEXT ONE 17 =YFH ... JBUSY 3,STOP10 [IF BUSY GO TO WAIT 12 =YG6 ...[ ALL CONSOLE OUTPUT FINISHED 9 =YGP ... GEOSTOP STOP40(1) 8 =YH# ...STOP40 16 12 =YHX ... 16HCLOSING DOWN NOW 4 =YJG ...[ 4 =YK5 ...[ 4 =YKW XGER 10 =_5G GEOERR 1,FINWRONG 6 =_K6 XERFORMAT 9 ?24Q CALL 1 ZERROR 7 ?2JB +APFERR 5 ?342 TOOLATE 9 ?3HL CALL 1 ZERROR 7 ?43= +HTOOLATE 9 ?7DL NOFIN CALL 1 ZERROR 7 ?7Y= +HNOFIN 5 ?#SG ZERROR 8 ?*#6 COMERRX 0(1) 4 ?*RQ # 4 ?FNQ #END 6 ____ ...550337150001