FINISHB867

(George Source)

Macros used: ACROSS, BROADCAST, BXE, COMERRX, COOR3, DOWN, ENDCOM, FPUT, FSHENTRY, GEOERR, GEOSTOP, INFORM, JBUSY, JWRONG, LINKSET, OUTPAR, RUNJSA, SEG, SEGENTRY, TRACE, UNQUEUE, UNSET

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