CAFSCTRL866

(George Source)

Macros used: BXGE, BXL, COOR1, EMSACTX, FWAIT, GEOERR, JNCAFSDV, LADDP, LGEOG, LINK, LINKSET, MONOUTX, SEG, SEGENTRY, SETALLOC, UP

CAFSCTRL866.txt
22FL ...      SEG      CAFSCTRL,865,D A BELL
22^= ...#   
23DW ...#   
23YG ...#     THIS SEGMENT IS PART OF THE CAFS SUBSYSTEM IN GEORGE 3
24D6 ...#   
24XQ ...#     IT PROVIDES THE MAIN LINE CODE FOR THE CAFS CONTROL ACTIVITY  
25CB ...#     TOGETHER WITH A SMALL AMOUNT OF CODE TO DEAL WITH THE CREATION
25X2 ...#     OF THE BSA/CAFSACT DURING EMS 
26BL ...#   
26W= ...      SEGENTRY K1CAFSCTRL,XK1      [BSA/CAFSACT CREATION DURING EMS 
27*W ...      SEGENTRY K2CAFSCTRL,XK2      [MAIN LINE CODE FOR BSA/CAFSACT  
27TG ...#   
28*6 ...#   
28SQ ...#   
29#B ...#     SOME PRESETS  
29S2 ...#   
2=3S ...XCAFSCME       +ECAFSCME            [CAFS DEVS MUST NOT BE ANON OR SW OU
2=?L ...#   
2=R= ...XBSACAFSACT 
2?=W ...#HAL  +BSA+CAFSACT,0
2?QG ...#   
2#=6 ...SLINK   
2#PQ ...      LINK     CAFSCTRL,2          [INITIAL LINK FOR BSA/CAFSACT
2*9B ...#   
2*P2 ...#   
2B8L ...#   
2BN= ...#   
2C7W ...XK1 
2CMG ...#   
2D76 ...#     WE ENTER HERE FROM SETUPA TO CREATE THE BSA/CAFSACT IF THERE  
2DLQ ...#     IS A CAFS DEVICE IN THE CONFIGURATION.   THE ACTIVITY IS MADE 
2F6B ...#     LONG ENOUGH TO HOLD A TABLE GIVING DETAILS OF EACH DRIVE THAT 
2FL2 ...#     IS CONNECTED THROUGH CAFS.   THE ACTIVITY IS SET UP IN THE
2G5L ...#     EMSCORE AREA AND HAS A FIXED CORE POINTER TO MAKE IT EASY TO  
2GK= ...#     LOCATE.   
2H4W ...#   
2HJG ...#   
2J46 ...      LDN   7  CAFSTYPE            [FIRST WE LOOK FOR A CAFS DEVICE 
2JHQ ...      FINDPERE 3,APFOTY,7,,,XCME,XCME   
2K3B ...      BNG   3  UP                  [NOTHING TO DO IF NO CAFS UNIT   
2KH2 ...#   
2L2L ...#   
2LG= ...#     NOW WE MUST LOOK AT ALL EDS 60 ENTRIES IN THE DEVICE LIST AND 
2L^W ...#     COMPUTE THE RANGE OF CAFS DRIVE GEOGRAPHIC UNIT NUMBERS   
2MFG ...#   
2M^6 ...      NGN   0  4095                [SET UP A FEW WORKING VALUES 
2NDQ ...      STO   0  AWORK1(2)           [BEFORE STARTING THE SEARCH  
2NYB ...      STOZ     AWORK2(2)           [CURRENT HIGHEST GEOG UNIT NUMBER
2PD2 ...#   
2PXL ...      LDN   7  26                  [DEVICE TYPE FOR EDS 60  
2QC= ...#   
2QWW ...      FINDPERE 1,APFOTY,7,NEXTONE,,XCHECK1,XCHECK1  [LOOK FOR EDS 60 ENT
2RBG ...      BNG   1  SETUPACT            [JIF NO MORE ENTRIES TO LOOK AT  
2RW6 ...#   
2S*Q ...      JNCAFSDV 1,NEXTONE,EMS       [JIF THIS IS NOT A CAFS DRIVE
2STB ...      LGEOG    1,0                 [ELSE OBTAIN ITS GEOG UNIT NUMBER
2T*2 ...      BXGE  0  AWORK1(2),NOTLOWER  [JIF NOT LOWER THAN LOWEST SO FAR
2TSL ...      STO   0  AWORK1(2)           [ELSE REMEMBER THIS AS LOWEST GEOG   
2W#= ...#   
2WRW ...NOTLOWER
2X?G ...      BXL   0  AWORK2(2),NEXTONE   [JIF NOT HIGHER THAN HIGHEST SO FAR  
2XR6 ...      STO   0  AWORK2(2)           [ELSE REMEMBER THIS AS HIGHEST GEOG  
2Y=Q ...      BRN      NEXTONE             [LOOK FOR MORE DRIVES
2Y#F ...#   
2YB8 ...XCHECK1 
2YCX ...      JNCAFSDV 1,NEXTONE,EMS             [OK IF NOT CAFS
2YFL ...XCME  SMO      FX1  
2YH* ...      LDX   3  XCAFSCME 
2YK4 ...      MONOUTX  3
2YLR ...      GEOERR   1,CAFSUNIT   
2YNG ...#   
2YQB ...#   
2^=2 ...SETUPACT
2^PL ...      NGX   6  AWORK1(2)
329= ...      BPZ   6  ZNOEDS60            [ERROR - CAFS DEVICE WITH NO DRIVES  
32NW ...      ADX   6  AWORK2(2)           [COMPUTE RANGE OF GEOG UNIT NUMBERS  
338G ...      ADN   6  BSALEN+3            [AND GET REQUIRED ACTIVITY LENGTH
33N6 ...#   
347Q ...#     NOTE:  THE BSA/CAFSACT IS SET UP WITH LENGTH =
34MB ...#   
3572 ...#               BSALEN + 2 + RANGE OF GEOG UNIT NUMBERS 
35LL ...#   
366= ...      SMO      FX1  
36KW ...      LDX   7  XBSACAFSACT         [GET TYPE/SUBTYPE OF ACTIVITY
375G ...      EMSACTX  7,6                 [SET UP BSA/CAFSACT  
37K6 ...#   
384Q ...#     NOW WE PASS ONE OR TWO BITS OF INFORMATION TO THE NEW ACTIVITY,   
38JB ...#     GIVE IT A LINK AND MAKE IT WAIT FOR THE END OF EMS
3942 ...#   
39HL ...      LDX   7  AWORK1(2)           [LOWEST GEOG UNIT NUMBER 
3=3= ...      SBN   6  BSALEN+2            [RANGE OF GEOG UNIT NUMBERS  
3=GW ...      LDX   2  BPTR(2)             [FIND NEW ACTIVITY   
3?2G ...#   
3?G6 ...#     SET UP THE FIXED CORE POINTER TO THE NEW ACTIVITY 
3?^Q ...#   
3#FB ...      STO   2  CAFSPTR  
3#^2 ...#   
3*DL ...      STO   3  CPPTR(2)            [ESTABLISH THE BSA/CAFSACT AS OWNER  
3*Y= ...      SETALLOC 3                   [OF THE CAFS DEVICE  
3BCW ...#   
3BXG ...      STO   7  CFLOWGEOG(2)        [SET LOW GEOG UNIT NUMBER
3CC6 ...      STO   6  CFDRVTABLEN(2)      [SET DRIVE TABLE LENGTH  
3CWQ ...#   
3DBB ...      LINKSET  2,SLINK(1)          [GIVE ACTIVITY A LINK
3DW2 ...      FWAIT    #54                 [AND MAKE IT WAIT FOR THE END OF EMS 
3F*L ...#   
3FT= ...UP  
3G#W ...      UP                           [THAT'S IT FOR THE EMS ENTRY 
3GSG ...#   
3H#6 ...#   
3HRQ ...#   
3J?B ...ZNOEDS60       [FATAL ERROR - CAFS DEVICE, BUT NO CAFS DRIVES!!!
3JR2 ...#   
3K=L ...      GEOERR   BRIEFPM,NO EDS60 
3KQ= ...#PAG
3L9W ...#   
3LPG ...XK2 
3M96 ...#   
3MNQ ...#   
3N8B ...#     THIS IS THE POINT AT WHICH THE BSA/CAFSACT ENTERS THE SEGMENT 
3NN2 ...#   
3P7L ...#     THE ACTIVITY IS NEWLY CREATED AND MUST FIRST INITIALISE ITS DRIVE 
3PM= ...#     TABLE BEFORE ENTERING THE MAIN LINE CODE WHICH FOLLOWS.   THE 
3Q6W ...#     TABLE IS FILLED WITH '#40000000' TO START WITH.   
3QLG ...#   
3R66 ...#   
3RKQ ...      LDCT  0  #400                [SET REQUIRED PATTERN IN THE FIRST   
3S5B ...      STO   0  CFDRVTAB(2)         [WORD OF THE TABLE   
3SK2 ...#   
3T4L ...      LDN   4  CFDRVTAB(2)         [NOW MOVE THE PATTERN THROUGH THE
3TJ= ...      LDN   5  CFDRVTAB+1(2)       [WHOLE OF THE TABLE  
3W3W ...      SMO      CFDRVTABLEN(2)   
3WHG ...      MOVE  4  -1   
3X36 ...#   
3XGQ ...      LDN   7  26                  [DEVICE TYPE FOR EDS 60  
3Y2B ...#   
3YG2 ...      FINDPERE 3,APFOTY,7,NEXTDISC,,XCHECK2,XCHECK2 [LOOK FOR EDS 60'S I
3Y^L ...      BNG   3  SNOMORE             [JIF ALL DEALT WITH  
3^F= ...#   
3^YW ...      JNCAFSDV 3,NEXTDISC,EMS      [JIF THIS IS NOT A CAFS DRIVE
42DG ...      LGEOG    3,6                 [ELSE GET DRIVE'S GEOG UNIT NUMBER   
42Y6 ...      SBX   6  CFLOWGEOG(2)        [AND MAKE CAFS DRIVE TABLE POINTER   
43CQ ...      LADDP    3,1                 [GET ADDRESS OF APIA ENTRY   
43XB ...#   
44C2 ...      LDCT  0  #20                 [CHECK WHETHER THE DRIVE 
44WL ...      ANDX  0  BSUNIT(1)           [IS ENGAGED  
45B= ...      BZE   0  NEXTDISC            [JIF DRIVE NOT ENGAGED   
45TW ...#   
46*G ...      LDX   0  BSUNIT5(1)          [ELSE GET SUSN OF CARTRIDGE ON DRIVE 
46T6 ...      SMO      6
47#Q ...      STO   0  CFDRVTAB(2)         [AND STORE SUSN IN CAFS DRIVE TABLE  
47SB ...      BRN      NEXTDISC            [GO FOR NEXT DISC
48#2 ...#   
48C6 ...#   
48G= ...XCHECK2 
48KB ...      JNCAFSDV 3,NEXTDISC,EMS            [OK IF NOT CAFS
48NG ...      BRN      XCME 
48RL ...#   
49?= ...SNOMORE 
49QW ...#   
4==G ...#   
4=Q6 ...#     THAT COMPLETES THE INITIALISATION OF CAFS SUBSYSTEM.   THE
4?9Q ...#     BSA/CAFSACT ACTIVITY IS NOW SUSPENDED AND SERVES ONLY TO HOLD 
4?PB ...#     DATA RELATING TO THE CAFS SUBSYSTEM.  IT DOES NOT RUN AGAIN.  
4#92 ...#   
4#NL ...#   
4*8= ...#   
4*MW ...      COOR1                        [SUSPEND THE BSA/CAFSACT 
4B7G ...#   
4BM6 ...#   
4C6Q ...      GEOERR   BRIEFPM,NO LINK!    [ERROR IF WE ARE SET RUNNING AGAIN   
4CLB ...#   
4D62 ...#   
4DKL ...#END
^^^^ ...05406335000100000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1