{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: CAFSCTRL866)}}
====== CAFSCTRL866 ======
(George Source)
**Macros used:** [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:COOR1|COOR1]], [[george:macro:EMSACTX|EMSACTX]], [[george:macro:FWAIT|FWAIT]], [[george:macro:GEOERR|GEOERR]], [[george:macro:JNCAFSDV|JNCAFSDV]], [[george:macro:LADDP|LADDP]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LINK|LINK]], [[george:macro:LINKSET|LINKSET]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETALLOC|SETALLOC]], [[george:macro:UP|UP]]
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