JAMSWAP865

(George Source)

Macros used: ACROSS, BS, BXE, COBJUNUSE, CONCISBY, FCAJO, FINDTP, FPCACA, FPCAJO, FPUT, JAUTFAIL, JAUTOFF, JBC, JBS, JBUSY, JCAFSBSY, JCANTENG, JCBB, JFAIL, JMBAC, JMBS, JSBUSY, LINK, LINKSET, MBC, MBI, MENDAREA, PAIR, PCATEST, PROGAXES, SEGENTRY, TEST, TRACE, TRACEDP, UNQUEUE

JAMSWAP865.txt
22FL    #SEG  JAMSWAP                      [RUTH PORTER 
22^=    #OPT  K0JAMSWAP=0   
23DW    #LIS  K0JAMSWAP>K0ALLGEO>K0LLS  
23YG          8HJAMSWAP 
24D6    #   
24XQ    #     THIS IS THE PART OF THE CORE UNJAMMER THAT SELECTS PROGRAMS TO
25CB    #     BE SWAPPED OUT EITHER BECAUSE OBJECT QUOTA IS BEING EXCEEDED OR   
25X2    #     THERE IS A SECOND OR GREATER ORDER GEORGE COREJAM OR A GEORGE FOUR
26BL    #     SPECIAL SWAPOUT IS REQUIRED   
26W=    #   
27*W    #   
27TG          SEGENTRY K1JAMSWAP,XX1J   
28*6    #   
28SQ    UNPL  LINK     UNPLUG,5 
29#B    #SKI  G3
29S2    (   
2=?L    P13   PAIR  SWAP,2                 [SWAP OUT
2=R=    P14   PAIR  SWAP,4                 [SWAP OUT FOR CORE UNJAMMER  
2?=W    )   
2?QG    #SKI  G4
2#=6    (   
2#PQ    P13   PAIR     SWAPOUT,1
2*9B    P14   PAIR  SWAPOUT,2   
2*P2    )   
2B8L    T15            +CJTHRESH15  
2BN=    T2             +CJTHRESH2   
2C7W    T3             +CJTHRESH3   
2CMG    T4             +CJTHRESH4   
2D76    #   
2DLQ    PROG  PROGAXES 3,(GEOERR)   
2F6B          EXIT  4  0
2FL2    #   
2G5L    #     S/R TO CHECK PORIPHERALS,LINKX4,X3 ->PRB  
2GK=    #     EXITS 0 : IF FAILED, 1 IF OK, 2 IF BUSY   
2H4W    #   
2HJG    PERCHECK
2J46          LDXC  0  0(3) 
2JHQ          BCS      PEND                [J IF END OF PRB 
2K3B          LDXC  2  1(3) 
2KH2          BCC      ONLINE              [J IF ONLINE 
2L2L          ANDX  2  BITS22LS 
2LG=          SBN   2  CHAINADD 
2L^W          JCBB      2,XIT2             [EXIT IF BUSY
2M74 ...#UNS  CAFSINT   
2M#= ...      JCAFSBSY  2,XIT2             [EXIT IF BUSY CAFS CHANNEL   
2MFG          LDX   0  0(3) 
2M^6          SLC   0  9
2NDQ          ANDN  0  #177 
2NYB          SBN   0  #30  
2PD2          BNZ   0  YSYA 
2PXL          CONCISBY  2,TOUR              [J IF NOT BUSY  
2QC=    XIT2  EXIT  4  2
2QWW    YSYA  JAUTOFF  2,TOUR   
2RBG          JAUTFAIL 2,(4)               [EXIT IF FAIL
2RW6          BRN      XIT2 
2S*Q    ONLINE  
2STB          ANDX  2  BITS22LS 
2T*2          JCANTENG 2,TOUR   
2TSL          CALL  6  UNBUSY   
2W#= ...      BRN      XIT2               [BUSY 
2WRW ...      EXIT  4  0                  [FAILED   
2X?G    TOUR  BDX   3  PERCHECK            [BACK FOR NEXT   
2XR6    PEND  EXIT  4  1                   [OK  
2Y=Q    #     ROUTINE TO JBUSY AN ONLINE PERIPHERAL.ENTERED WITH X2 -> DEVICE   
2YQB ...#     LIST.X6=LINK.DOES JBUSY AND EXITS 0 IF BUSY.IF FAILED,EXIT 1 IS   
2^=2    #     OBEYED.EXIT 2 IS OBEYED IF THE
2^PL    #     PERIPHERAL IS NOT BUSY AND HAS NOT FAILED.
329=    #   
32NW    UNBUSY  
338G ...      JBUSY    2,(6)              [EXIT 0 IF BUSY   
33N6 ...      JSBUSY   2,(6)
347Q ...      ADN   6  1
34MB ...      JFAIL     2,(6)            [EXIT 1 IF FAIL
3572          EXIT  6  1                   [2 IF OK 
35LL    [   
366=    [ ENTRY TO SELECT FOR SPECIAL SWAPOUT   
36KW    [   
375G    [   
37K6    XX1J
384Q          JBS      R11A,,ASWOUTING     [J IF SWAPOUT IN PROGRESS TO TERMINAT
38JB          LDX   0  CJACCLINK+ALINK1-ACC3
3942          BNZ   0  R11A                [SPEC SWAPOUT ALREADY GOING  
395P ...#UNS  ISTDP 
397D ...(   
3997 ...[      IF TOTAL FREE PROGRAM CORE/PAGES > CUNJAMTARG,EXIT SUCCESSFULLY  
39=W ...[   
39#K ...      COBJUNUSE 
39B# ...      SBN   0  CUNJAMTARG   
39D3 ...      BPZ   0  R11AA
39FQ ...)   
39HL          STOZ     GEN3 
3=3=          LDN   3  BJOBQ
3=GW    TH5A  LDX   3  FPTR(3)             [GET ADDR OF NEXT IN JOB QUEUE   
3?2G          BXE   3  CXJO,QEND           [J IF END REACHED
3?G6          JMBS     TH5A,3,JBREEF,JBAXES,JBPLUGGING,JBSO,JBNSW    [IGNORE THE
3?^Q          JBC      TH5A,3,JBSI         [J IF NOT SWAPPABLE  
3#FB          JMBAC    SUSP,3,JBPLUG,JBSTOP    [J IF NORMALLY SWAPPABLE 
3#^2          LDX   0  GEN3 
3*DL          BNZ   0  TH5A 
3*Y=          FCAJO    2,3  
3BCW          CALL  5  TEST 
3BXG          FPCACA   2                   [X2 -> PCA   
3CC6          CALL  5  TEST 
3CWQ          PCATEST  2,TH5C,TH5C  
3DBB          FINDTP   2,2                 [X2 -> TP IF PUC 
3DW2    TH5C  CALL  5  TEST 
3F*L          LDX   2  ACTRING(2)   
3FT=          SBN   2  ACTRING  
3G#W          LDCH  0  ATYPE(2) 
3GSG          SBN   0  AOLPT/64 
3H#6          BNZ   0  TH5A 
3HRQ          BRN      TH5C 
3J?B    TEST  LDX   0  CLONG1(2)
3JR2    #SKI  G3
3K=L          BPZ   0  (5)                 [EXIT IF NOT WAITING FOR CORE
3KQ=    #SKI  G4
3L9W    (   
3LPG          BNG   0  TH5B                [J IF WAITING FOR CORE   
3M96          SLL   0  4                   [EXIT IF NOT WAITING 
3MNQ          BPZ   0  (5)                 [ FOR PROGRAM CORE   
3N8B    )   
3NN2    TH5B  LDEX  0  ATYPE(2) 
3P7L          BZE   0  TH5A                [ONLY IF ON QUEUE
3PM=          JBC      TH5FA,3,JBPLUG       [J IF ALREADY UNPLUGGED 
3Q6W          SMO      FX2  
3QLG          STO   3  ACOMMUNE1           [REMEMBER JOB BLOCK ADDRESS  
3R66          SMO      FX2  
3RKQ          STO   2  ACOMMUNE2           [REMEMBER ADDR OF ACTIVITY BLOCK WAIT
3S5B          FPCAJO   2,3  
3SK2          PCATEST  2,RCTP1,RCTP1
3T4L          FINDTP   2,2                 [X2 -> TP IF PUC 
3TJ=    RCTP1   
3W3W          LDX   3  APRB(2)             [YES, GET ADDR OF PRB
3WHG          CALL  4  PERCHECK 
3X36          BRN      TOUR                [FAILED  
3XGQ          BRN      TH5F                [O.K.
3Y2B    TH5AA SMO      FX2  
3YG2          LDX   3  ACOMMUNE1           [RESTORE JOB BLOCK ADDRESS   
3Y^L          BRN      TH5A                [LOOK AT NEXT JOB IN QUEUE   
3^F=    TH5F  SMO      FX2  
3^YW          LDX   3  ACOMMUNE1
42DG          SMO      FX2  
42Y6          LDX   2  ACOMMUNE2
43CQ    TH5FA STO   3  GEN3 
43XB          STO   2  CJACCLINK
44C2          BRN      TH5A 
44WL    QEND  LDX   3  GEN3 
45B=          BZE   3  RETURN                [J IF NONE FOUND   
45TW          LDX   2  CJACCLINK
46*G          UNQUEUE                      [REMOVE WAITING ACTIVITY FROM QUEUE  
46T6          LDN   0  1                   [ADJUST COUNT OF OUTSTANDING CORE REQ
47#Q    #SKI  G3
47SB          SBS   0  CFAIL
48#2    #SKI  G4
48RL    (   
49?=          LDX   1  CLONG1(2)
49QW          BPZ   1  XLAB1
4==G          SBS   0  CFAIL
4=Q6          BRN      XLAB2
4?9Q    XLAB1 SBS   0  COBJFAIL 
4?PB          LDX   0  ACOMMUNE2(2) 
4#92          SRL   0  12                  [LOAD REQUEST(SEE GETPROGCORE MAC)   
4#NL          SBS   0  AOBJFAIL            [ & REDUCE TOTAL OF FAILS
4*8=    XLAB2   
4*MW    )   
4B7G          FPCAJO   2,3  
4BM6          LDX   1  FX1  
4BP* ...#UNS  ADPLLSKIP 
4BRJ ...(   
4BTR ...      LDN   0  1                    [- DATAPASS COUNT OF
4BY2 ...      SMO      ADPSWPPTR            [- SPECIAL SWAPOUTS 
4C29 ...      ADS   0  8
4C4D ...)   
4C6Q          CALL  4  PROG 
4CLB          LDN   4  ACC3(2)  
4D62          LDN   5  CJACCLINK           [DUMP ACCUMULATORS AND LINK OF PCA   
4DKL          MOVE  4  ALINK
4F5=          LDN   4  ACOMMUNE1(2) 
4FJW          LDN   5  CJACCLINK+ALINK  
4G4G          MOVE  4  9                   [AND ACOMMUNE WORDS  
4GJ6          LDX   4  CLONG1(2)
4H3Q          STO   4  CJACCLINK+ALINK+9   [SAVE CLONG1 
4HHB          STOZ     CLONG1(2)
4J32          JBC      STOPPED,3,JBPLUG    [J IF NOT PLUGGED IN 
4JGL          MBI      3,JBPLUG,JBPISO     [MARK SPECIAL
4K2=          LDN   1  UNPL(1)  
4KFW          BRN      MEET 
4K^G    STOPPED 
4LF6          LDN   1  P14(1)   
4LYQ          MBI      3,JBSTOP,JBSTSO     [MARK SPECIAL
4MDB    MEET  LINKSET  2,0(1)   
4MY2          TRACE    JOBNO(2),SPECOUT 
4NCL          FPUT                         [LET PCA DO UNPLUG & SWAP
4NX=          MBI      3,JBBEING,JBSI      [MARK BEING SWAPPED  
4PBW          BS       ,ASWOUTING          [MARK SWAPOUT IN PROGRESS
4PWG          BRN      R11A                [TERMINATE   
4QB6    [   
4QTQ    [  IF WE FIND NORMALLY SWAPPABLE,NOT PLUGGED IN ON WAY  
4R*B    [     ROUND QUEUE,WE COME HERE  
4RT2    [   
4S#L    #   
4SS=    #   
4T?W    #   
4TRG    SUSP
4W?6          CALL  4  PROG 
4WQQ          FPCAJO   2,3  
4X=B          SMO     FX1   
4XQ2          LDN  1  P13   
4XSK ...#UNS  ADPLLSKIP 
4XX8 ...(   
4X^R ...      LDN   0  1                    [- DATAPASS COUNT   
4Y4B ...      STO   0  ADPSWPSW             [- (COREJAM SWAPOUT)
4Y6^ ...)   
4Y9L          BRN     MEET  
4YP=    #   
4^8W    #     TERMINATE 
4^NG    #   
4^WQ ...R11AA   
5252 ...#UNS  ISTDPSTATS
52?= ...      TRACEDP AJAMFPC   
52FG ...RETURN  
52MQ
537B    R11A  MBC ,CJNOSO,ASWCORJAM 
53#J ...#UNS  ISTDPSTATS
53FQ ...      TRACEDP AJAMSUC   
53M2    [ NO NEED TO KICKASWINT AS END OF SWAPOUT   
546L    [ WILL AND IF NO SWAPOUT THEN JAM NOT CLEARED   
54L=    R11D  ACROSS   CHARGESC,1   
555W          MENDAREA 50,K100JAMSWAP   
55KG    #END
^^^^ ...241044430002
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1