10 22FL SEG KARTCONT,867 4 22_= # 16 23DW # COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 23YG # 4 24D6 # 15 24XQ # SECOND HALF OF CARTRIDGE CONTROL 13 25CB # DEALS WITH ENGAGED DEVICES 4 25X2 # 18 26BL SEGENTRY K1KARTCONT,QK1KART [PREVIOUSLY DISENGAGED 17 26W= SEGENTRY K2KARTCONT,QK2KART [PREVIOUSLY ENGAGED 16 27*W SEGENTRY K3KARTCONT,QK3KART [PREVIOUSLY HELD 4 27TG # 12 28*6 # MESSAGE IDENTIFIERS 4 28SQ # 19 29#B XBMVRONG +BMVRONG [UNIT NN DISENGAGED-PLEASE... 18 29S2 XEWSYSAT +EWSYSAT [SAFE NOW TO STOP UNIT NN 16 2=?L XEWFAIL +EWFAIL [UNIT NN FAILED 18 2=R= XEWFAILT +EWFAILT [UNIT NN SU XXXXXX FAILED 20 2?=W XEWDUPL +EWDUPL [UNITS %A AND %B HAVE SAME SU... 20 2?QG XEDIFCSN +EDIFCSN [SU XXXXXX WAS LOADED ON UNIT NN 21 2#=6 XERONGCYL +ERONGCYL [UNIT %A SU %B HAS WRONG NO OF CYLS 4 2#PQ # 4 2*9B # 8 2*P2 XOCT +8 9 2B8L XSYF 4HSYFL 9 2BN= RMASK #700077 9 2C7W SMASK #777777 17 2CMG #DEF WCH=A1+17 [START OF CH IN GRUBUF 8 2D76 #DEF REDONBIT=#100 4 2DLQ # 19 2F6B # TABLE HOLDING MAX NO OF CYLS FOR VARIOUS TYPES 10 2FL2 # OF DA DEVICES 4 2G5L # 13 2GK= TAB +822 [LDC EDS 200 13 2H4W +806 [2900 EDS 200 12 2HJG +402 [EDS 100D 12 2J46 +803 [EDS 80 12 2JHQ +810 [FDS 160 12 2K3B +828 [FDS 640 4 2KH2 # 16 2L2L # S/R TO OUTPACK CSN PARAMETER FROM X5 5 2LG= XOUTCSN 8 2L_W SBX 7 FX1 9 2MFG OUTPACK 5,1,CSN 8 2M_6 ADX 7 FX1 7 2NDQ EXIT 7 0 4 2NYB # 15 2PD2 # S/R TO OUTPACK OPS NO PARAMETER 5 2PXL XOUTOPNO 8 2QC= SBX 7 FX1 12 2QWW OUTPACK AWORK4(2),1,GEOPER 8 2RBG ADX 7 FX1 7 2RW6 EXIT 7 0 4 2S*Q # 13 2STB # S/R TO O/P MESSAGE IN X6 5 2T*2 XINFORM 8 2TSL SBX 7 FX1 7 2W#= LDN 1 1 8 2WRW INFORMX 1,6,1 8 2X?G ADX 7 FX1 7 2XR6 EXIT 7 0 4 2XR_ ...# 19 2XSS ...# S/R TO CLEAR ^WAIT FOR KARTCONT^ BIT WHEN DISC ENGAGED 16 2XTM ...# ON DEVICE IN USE BY SYSTEM IS THE CORRECT ONE 4 2XWG ...# 7 2XX* ...# LINK X0 11 2XY8 ...# ON ENTRY X1 = APIA PTR 16 2X_3 ...# ON EXIT X2 = FX2, ALL OTHER ACCS UNCHANGED 4 2X_W ...# 6 2Y2P ...XKTWTCLEAR 14 2Y3J ... LDEX 1 BSUNIT(1) [BSUN 19 2Y4C ... FINDBSA ,1 [SETS X2 POINTING TO BSA 9 2Y5= ... LDN 1 BKARTWT 9 2Y65 ... ANDX 1 BSFAIL(2) 9 2Y6Y ... ERS 1 BSFAIL(2) 8 2Y7R ... LDX 2 FX2 9 2Y8L ... LDX 1 AWORK2(2) 7 2Y9F ... EXIT 0 0 4 2Y=Q # 4 2YQB # 13 2_=2 # S/R TO DISENGAGE A DISC 9 2_PL # X4=LINK 13 329= # CORRUPTS X0,X6,X7 10 32F4 ...# LEAVES X1 = FX1 4 32NW # 8 338G WDIS SBX 4 FX1 19 33N6 JDISENG AWORK3(2),WD1 [JUMP IF ALREADY DISENGAGED 9 347Q XBUSY JBUSY ,XBUSY 13 34MB JPROP AWORK3(2),MESS,MESS,MESS 19 3572 BRN NOMES [_ IF NOT ED80,FD160,FD640 9 35LL MESS CALL 7 XOUTOPNO 16 366= SMO FX1 [OTHERWISE OUTPUT 18 36KW LDX 6 XEWSYSAT [SAFE NOW TO STOP UNIT NN 9 375G CALL 7 XINFORM 10 378# ...NOMES BSON EMSBIT,NOSYS 9 37?6 ... LDX 1 AWORK2(2) 10 37*Y ... LDXC 0 BSUNIT2(1) 19 37DQ ... BCC NOSYS [_ IF NOT IN USE BY SYSTEM 9 37HJ ... LDEX 1 BSUNIT(1) 21 37LB ... FINDBSA ,1 [OTHERWISE SET ^WAIT FOR KARTCONT^ BI 9 37P8 ... LDN 0 BKARTWT 9 37S2 ... ORS 0 BSFAIL(2) 8 37WS ...NOSYS LDX 2 FX2 10 37_L ... DISENGPER AWORK3(2) 8 384Q LDX 1 FX1 16 38JB BSON EMSBIT,WD1 [BRANCH IF EMS 10 3942 JDED AWORK2(2),WD1 19 39HL LDXC 0 ETWINMK [ OR TWINNING NOT INITIALISED 20 3=3= BUTTONOLE AWORK4(2) [OTHERWISE TELL OTHER PROCESSOR 8 3=GW WD1 ADX 4 FX1 7 3?2G EXIT 4 0 4 3?G6 # 14 3?_Q # S/R TO TIDY UP AFTER INOP,ETC 4 3#FB # 15 3#_2 W11 FREECORE 3 [FREE GRUBUF 10 3*DL HUNTW 3,EWDAS,ASTUC 18 3*Y= BPZ 3 W11 [AND ASTUC IF IT EXISTS 9 3BCW LDX 1 AWORK2(2) 9 3BXG LDCT 0 REDONBIT 9 3CC6 ANDX 0 BSUNIT(1) 16 3CWQ BZE 0 W12 [J IF NOT REDONED 8 3DBB LDN 3 BACT 9 3DW2 LDX 4 AWORK4(2) 10 3F*L LDN 5 EWDAS+JETSET 8 3FT= SLL 5 12 9 3G#W LDX 0 BITS22LS 21 3GSG W13 LDX 3 FPTR(3) [SEARCH ACTIVITY CHAIN FOR JETSETS 16 3H#6 TXU 3 CXAC [WITH OUR GEOGU 8 3HRQ BCS W14 16 3J?B W12 EXIT 7 0 [EXIT IF NO MORE 9 3JR2 W14 TXU 4 GEOGU(3) 9 3K=L TXU 5 ATYPE(3) 8 3KQ= BCS W13 18 3L9W ANDS 0 ASMARK(3) [CLEAR WAKE AND FAIL BITS 14 3LPG BRN W13 [CARRY ON 4 3M96 # 4 3MNQ # 18 3N8B # S/R TO FIND ASTUC WITH GEOG NO AS IN AWORK4 12 3NN2 # IGNORES DEAD ASTUCS 12 3P7L # EXITS +0 IF NOT FOUND 16 3PM= # +1 IF FOUND, LEAVING PTR IN X3 4 3Q6W # 4 3QLG # 4 3R66 RFA 18 3RKQ LDN 3 BCCB [START AT BASE OF CHAIN 13 3S5B RFD LDX 3 FPTR(3) [NEXT 8 3SK2 TXU 3 CXCC 17 3T4L BCC RFB [J IF END OF CHAIN 9 3TJ= LDX 6 BACK1(3) 18 3W3W BNZ 6 RFC [J IF THIS IS AN ASTUC 15 3WHG RFB EXIT 0 0 [NOT FOUND 15 3X36 RFC BNG 6 RFD [J IF DEAD 17 3XGQ LDX 6 AWORK4(2) [GEOGRAPHICAL NUMBER 9 3Y2B TXL 6 GEOGU(3) 17 3YG2 BCS RFB [JUMP IF NOT FOUND 9 3Y_L TXU 6 GEOGU(3) 17 3_F= BCS RFD [J IF NOT THIS ONE 20 3_YW EXIT 0 1 [ELSE EXIT 1 WITH POINTER IN X3 4 42DG # 4 42Y6 # 20 43CQ # S/R TO SET UP BSTS PARAMETERS AND READ DOWN BLOCK 1 11 43XB # X1 PTS TO APIA 10 44C2 # X6 = LINK 13 44WL # EXITS +0 IF INOPERABLE 14 45B= # +1 IF TRANSFER FAIL 17 45TW # +2 IF CHECKSUM ERROR OR INVALID CH 11 46*G # +3 IF OKAY 14 46T6 # LEAVES X3 POINTING TO GRUBUF 14 47#Q # CORRUPTS ALL ACCS EXCEPT X4 4 47SB # 4 48#2 RSET 8 48RL SBX 6 FX1 12 49?= SETNCORE 140,3,EWDAS,GRUBUF 19 49QW LOCK 3 [SET UP EWDAS/GRUBUF AND LOCK 8 4==G LDN 5 128 14 4=Q6 STO 5 A1(3) [LENGTH 16 4?9Q LDX 1 AWORK2(2) [POINTER TO APIA 9 4?PB LDX 0 BSUNIT(1) 8 4#92 ANDN 0 #7777 13 4#NL STO 0 A1+1(3) [BSUN 9 4*8= LDN 0 A1+12(3) 16 4*MW STO 0 A1+3(3) [BUFFER ADDRESS 10 4B7G LDCH 0 BSUNIT1(1) 16 4BM6 STO 0 A1+7(3) [COUNT OF ASTUCS 10 4C6Q LDX 0 BSUNIT1(1) 14 4CLB ANDN 0 #77 [SUBTYPE 10 4D62 LTYPE AWORK3(2),7 8 4DKL SLL 7 18 13 4F5= ORX 7 0 [TYPE 15 4FJW STO 7 A1+6(3) [TYPE/SUBTYPE 7 4G4G LDN 5 0 15 4GJ6 STO 5 A1+5(3) [SAVE ASUNUM 15 4H3Q STUBASE 1,5,7 [BASE OF SU 9 4HHB STO 7 A1+8(3) 16 4J32 LDN 1 1 [BLOCK(SEGMENT) 1 19 4JGL CONVERT A1+2(3),A1+6(3),7,A1(3) [DATUMISE BS ADDRESS 20 4K2= BACKREAD BSET+BONL+FLAW+BLFAIL,A1(3),,A1+1(3),A1+2(3),A1+3(3) 8 4KFW ADX 6 FX1 12 4K_G CHTRAN A1+6(3),XJEX1,XJEX0 7 4LF6 LDN 0 1 9 4LYQ SBX 0 A1+12(3) 17 4MDB BNZ 0 XERR1 [ERROR IF NOT BLK 1 10 4MY2 STO 6 ACOMMUNE7(2) 9 4NCL LDX 0 A1+13(3) 8 4NX= BZE 0 XNOCH 9 4PBW LDN 1 A1+12(3) 8 4PWG SUM 0 128 18 4QB6 BNZ 0 XERR [OR INCORRECT CHECKSUM 9 4QTQ XNOCH LDX 0 A1+33(3) 20 4R*B SMO FX1 [OR FIRST FIP IS NOT FOR SYFLE 18 4RT2 TXU 0 XSYF [(I.E. POSSIBLY VME DISC) 8 4S#L BCS XERR 7 4SS= LDN 0 0 7 4T?W LDN 6 6 8 4TRG LDCT 1 #400 9 4W?6 ORN 1 A1+34(3) 8 4WQQ XLAB LDCH 5 0(1) 8 4X=B SMO FX1 8 4XQ2 TXL 5 XOCT 8 4Y9L BCC XERR 7 4YP= SLL 0 3 16 4_8W ADX 0 5 [OR CSNIS INVALID 7 4_NG BCHX 1 / 8 5286 BCT 6 XLAB 9 52MQ LDX 6 A1+17(3) 7 537B SLL 6 6 7 53M2 SRL 6 6 7 546L TXU 0 6 8 54L= BCS XERR 18 555W # ALSO CHECK FOR VALID NO OF CYLINDERS IN CERTAIN CASES 4 55KG # 17 5656 LDX 6 WCH+9(3) [NO OF CYLS FROM CH 10 56JQ STO 3 ACOMMUNE8(2) 18 574B JENV XOKAY,1900 [NO CHECK NEEDED FOR 1900 8 57J2 SMO FX1 8 583L LDN 3 TAB 17 58H= JPROP AWORK3(2),T640,T160,T80,T100,T200,TLDC 17 592W BRN XOKAY [NO CHECK FOR EDS60 4 59GG T640 7 5=26 ADN 3 1 4 5=FQ T160 7 5=_B ADN 3 1 4 5?F2 T80 7 5?YL ADN 3 1 4 5#D= T100 7 5#XW ADN 3 1 4 5*CG T200 7 5*X6 ADN 3 1 4 5BBQ TLDC 8 5BWB LDX 0 0(3) 7 5CB2 TXL 0 6 19 5CTL BCS XERRA [ERROR IF TOO MANY CYLS IN CH 10 5D*= XOKAY LDX 6 ACOMMUNE7(2) 10 5DSW LDX 3 ACOMMUNE8(2) 16 5F#G EXIT 6 3 [TRANSFER OKAY 10 5FS6 XERRA LDX 3 ACOMMUNE8(2) 21 5G?Q LDCT 0 #400 [SET MKR FOR WRONG NO OF CYLS CASE 7 5GRB ORS 0 3 10 5H?2 XERR LDX 6 ACOMMUNE7(2) 19 5HQL XERR1 EXIT 6 2 [CHECKSUM FAIL OR INVALID CH 16 5J== XJEX1 EXIT 6 1 [TRANSFER FAIL 15 5JPW XJEX0 EXIT 6 0 [INOPERABLE 4 5K9G # 20 5KP6 # S/R TO SET UP AN ASTUC IN ACTIVITY CHAIN AND FILL IN 15 5L8Q # DETAILS FROM D.LIST AND GRUBUF 13 5LNB # ON ENTRY X7 PTS TO GRUBUF 13 5M82 # ON EXIT X3 PTS TO ASTUC 4 5MML # 5 5N7= SEWAS 8 5NLW SBX 6 FX1 15 5P6G SETNCORE HSCRATCH+4/4*4-A1,3,EWDAS,ASTUC 18 5PL6 LDX 2 7 [SET UP AN EWDAS/ASTUC 9 5Q5Q LDX 0 WCH+1(2) 17 5QKB STO 0 HFLAW(3) [START OF FLAW INDEX 17 5R52 LDN 0 WCH+5(2) [WORDS 5-10 OF HEADER 17 5RJL LDN 1 HUNAL(3) [(CHAIN BASES,ETC) 7 5S4= MOVE 0 6 18 5SHW STOZ CSCRATCH(3) [COUNT OF SCRATCH AREAS 9 5T3G LDX 0 A1+5(2) 15 5TH6 STO 0 ASUNUM(3) [SU NUMBER 15 5W2Q ... TRACE WCH(2),SEWAST [TRACE CSN 10 5WGB STOZ CEXTEND(3) 9 5X22 STOZ BACK2(3) 9 5XFL LDX 0 A1+1(2) 13 5X_= STO 0 ABSUN(3) [BSUN 9 5YDW STOZ ASMARK(3) 17 5YYG STOZ BPERN(3) [PERIPHERAL NUMBER? 9 5_D6 LDX 0 A1+8(2) 18 5_XQ STO 0 ASUBASE(3) [CYLINDER ADDRESS OF SU 9 62CB LDX 0 WCH(2) 16 62X2 STO 0 HSTUN(3) [SERIAL NO.ETC. 8 63BL ANDX 0 BSB18 9 63W= STO 0 BACK1(3) 8 64*W LDX 2 FX2 16 64TG LDX 1 AWORK2(2) [POINTER TO APIA 10 66#B LDX 5 BSUNIT5(1) 7 67?L TXU 5 0 17 67R= BCC RNTG3 [IF SAME CARTRIDGE OK 10 67XN ... LDXC 4 BSUNIT2(1) 20 6846 ... BCS RNTG4 [_ TO DISENG IF IN USE BY SYSTEM 20 688J ... STOZ BUDASELCT(1) [OTHERWISE ZEROISE ERROR LOG CT 8 68*2 ... BRN RNTG3 19 68FG ...RNTG4 BZE 5 RNTG3 [CSN IN APIA IS 0 1ST TIME 15 68L2 ... FREECORE 7 [FREE GRUBUF 15 68QG FREECORE 3 [FREE ASTUC 16 69=6 CALL 4 WDIS [DISENGAGE DEVICE 9 69PQ CALL 7 XOUTOPNO 13 6=9B LDX 6 5 [CSN 9 6=P2 CALL 7 XOUTCSN 8 6?8L SMO FX1 21 6?N= LDX 6 XBMVRONG [UNIT NN DISENGAGED-PLEASE LOAD... 9 6#7W CALL 7 XINFORM 18 6#MG RNTG1 JDISENG ,RNTG2 [WAIT FOR DISENGAGE TO BE 17 6*76 COOR3 #41 [IMPLEMENTED THEN GO 8 6*LQ BRN RNTG1 17 6B6B RNTG2 ACROSS CARTCONT,3 [TO PROCESS DISENGAGE 18 6BL2 RNTG3 STO 0 BSUNIT5(1) [REMEMBER NEW CARTRIDGE 20 6BTS ... CALL 0 XKTWTCLEAR [CLEAR ^ WAIT FOR KARTCONT^ BIT 9 6C5L LDX 0 AWORK4(2) 16 6CK= STO 0 GEOGU(3) [GEOGRAPHICAL NO. 9 6D4W LDX 0 AWORK3(2) 17 6DJG STO 0 HUNIT(3) [DEVICE LIST POINTER 10 6F46 LDX 4 BSUNIT1(1) 8 6FHQ SMO FX1 17 6G3B ANDX 4 RMASK [SET UP DEVICE TYPE 16 6GH2 LTYPE AWORK3(2),5 [PROPERTIES AND 14 6H2L SLL 5 18 [SUBTYPE 7 6HG= ORX 4 5 10 6H_W LPROP AWORK3(2),5 7 6JFG SLL 5 6 7 6J_6 ORX 4 5 9 6KDQ STO 4 HTYPE(3) 8 6KYB ADX 6 FX1 7 6LD2 EXIT 6 0 4 6LXL # 4 6MC= # 16 6MWW # S/R TO WAKE UP REDONS,IF NECESSARY 13 6NBG # EXITS +1 IF NOT REDONED 20 6NW6 # +0 IF REDONED, HAVING SET ASMARK OF THE JETSET 17 6P*Q # B0=1 IF DEVICE ONLINE(ENGAGED) 15 6PTB # B1=1 IF DEVICE NON-UDAS 17 6Q*2 # ACCORDING TO VALUE OF X4 ON ENTRY 4 6QSL # 20 6R#= XXS LDCT 0 #200 [IF SUITABLE FOR REDON CLEAR CSN 21 6RRW ANDX 0 4 [IN APIA SO AS NOT TO CONFUSE ERROR 19 6S?G BZE 0 XXD [LOG BY DISC UNLOADED EARLIER 10 6SR6 STOZ BSUNIT5(1) 9 6T=Q XXD LDCT 0 REDONBIT 9 6TQB ANDX 0 BSUNIT(1) 19 6W=2 BZE 0 XXA [J IF NO REDONS OUTSTANDING 10 6WPL LDN 0 EWDAS+JETSET 13 6X9= SLL 0 12 [TYPE 14 6XNW LDX 6 AWORK4(2) [GEOGU 8 6Y8G LDN 2 BACT 20 6YN6 XXB LDX 2 FPTR(2) [SEARCH ACTIVITY CHAIN FOR JETSET 8 6_7Q TXU 2 CXAC 18 6_MB BCS XXC [J UNLESS END-OF-CHAIN 15 7272 LDX 2 FX2 [NO JETSET, 14 72LL XXA EXIT 7 1 [EXIT 1 9 736= XXC TXU 6 GEOGU(2) 9 73KW TXU 0 ATYPE(2) 20 745G BCS XXB [J UNLESS JETSET WITH RIGHT GEOG 18 74K6 ORS 4 ASMARK(2) [SET WAKE AND FAIL BITS 18 754Q LONGON #37 [WAKE UP REDON ACTIVITIES 9 75JB LDX 1 AWORK2(2) 15 7642 EXIT 7 0 [AND EXIT 0 4 76HL # 4 773= # 14 77GW # ENGAGED PREVIOUSLY DISENGAGED 4 782G # 5 78G6 QK1KART 9 78_Q LDX 1 AWORK2(2) 5 79FB RENDIS 11 79_2 ... TRACE AWORK4(2),ENDIS 17 7=DL SMO BSUNIT2(1) [GET COUNT OF USERS 7 7=Y= LDN 5 0 16 7?CW BZE 5 W7 [BRANCH IF NONE 21 7?XG CALL 4 WDIS [DISENGAGE DEVICE TO ALLOW CT OF USER 17 7#C6 BRN REND [BE TIDIED UP FIRST 15 7#WQ W7 CALL 6 RSET [READ BLOCK 1 17 7*BB BRN WINOP [JUMP IF INOPERABLE 18 7*W2 BRN WFAIL [JUMP IF TRANSFER FAIL 18 7B*L BRN WFAIL [JUMP IF CHECKSUM FAIL 16 7BT= LDX 7 3 [PTR TO GRUBUF 15 7C#W CALL 6 SEWAS [CREATE ASTUC 7 7CSG LDX 3 7 21 7D#6 LDCT 4 #400 [MKR=STD DISC, I.E. UNSUITABLE FOR RE 20 7DRQ CALL 7 XXS [WAKE ANY REDON AND SET MARKER 6 7F?B NULL 21 7FR2 BRN W1 [JOIN OTHER PATHS TO WAKE OBJ PROGS 16 7G=L # [AND UPDATE APIA 4 7GQ= # 19 7H9W # HERE IF TRANSFER OR CHECKSUM FAIL ON ENDIS PATH 4 7HPG # 9 7J96 WFAIL LDX 1 AWORK2(2) 19 7JNQ ... LDN 5 0 [X5=0 FOR NORMAL FAIL CASE 7 7K8B LDXC 3 3 8 7KN2 BCC WF1 20 7L7L ... LDX 5 5 [X5=1 FOR WRONG NO OF CYLS CASE 21 7LM= WF1 LDCT 4 #600 [MARKER=SU HAS FAILED,OK FOR REDON 20 7M6W CALL 7 XXS [WAKE UP ANY REDON AND SET MARKER 19 7MLG BRN W1 [NO FAIL MESSAGE IF REDONED 18 7N66 # [OTHERWISE JOIN INOP PATH 4 7NKQ # 15 7P5B # HERE IF INOPERABLE ON ENDIS PATH 4 7PK2 # 16 7Q4L WINOP CALL 7 XOUTOPNO [OUTPUT MESSAGE 8 7QJ= BZE 5 WIN4 9 7R3W LDX 5 WCH(3) 7 7RHG SLL 5 6 7 7S36 SRL 5 6 9 7SGQ CALL 7 XOUTCSN 8 7T2B SMO FX1 21 7TG2 ... LDX 6 XERONGCYL [UNIT NN SU XXXXXX HAS WRONG NO OF CY 13 7T_L ... BRN WIN5 [OR 8 7WF= WIN4 SMO FX1 16 7WYW LDX 6 XEWFAIL [UNIT NN FAILED 9 7XDG WIN5 CALL 7 XINFORM 16 7XY6 ...WIN3 CALL 7 W11 [TIDY UP BLOCKS 16 7YCQ ... CALL 4 WDIS [AND DISENGAGE 8 7YXB WIN1 JDISENG ,WIN2 8 7_C2 COOR3 #41 8 7_WL BRN WIN1 9 82B= WIN2 LDX 0 AWORK1(2) 16 82TW BPZ 0 REND [FINISH UNLESS 19 83*G ACROSS CARTCONT,3 [NEED TO PROCESS DISENGAGE 4 83T6 # 14 84#Q # ENGAGED PREVIOUSLY ENGAGED 4 84SB # 5 85#2 QK2KART 14 85RL LDX 1 AWORK2(2) [APIA PTR 11 86?= ...RENEN TRACE AWORK4(2),ENEN 8 86QW BRN W2X 4 87=G # 13 87Q6 # ENGAGED PREVIOUSLY HELD 4 889Q # 5 88PB QK3KART 9 8992 LDX 1 AWORK2(2) 11 89NL ...RENHD TRACE AWORK4(2),ENHD 8 8=8= LDCT 5 #040 17 8=MW ERS 5 BSUNIT(1) [MARK APIA ENGAGED 15 8?7G W2X CALL 6 RSET [READ BLOCK 1 17 8?M6 BRN XINOP [JUMP IF INOPERABLE 18 8#6Q BRN XFAIL [JUMP IF TRANSFER FAILED 18 8#LB BRN XFAIL [JUMP IF CHECKSUM FAIL 7 8*62 LDX 7 3 15 8*KL CALL 0 RFA [FIND ASTUC 8 8B5= BRN XILG 9 8BJW LDX 1 AWORK2(2) 9 8C4G LDX 0 HSTUN(3) 7 8CJ6 LDX 5 0 7 8D3Q SMO 7 21 8DHB ERX 0 A1+17 [CHECK TO SEE IF SAME SERIAL NUMBER 7 8F32 SLL 0 6 20 8FGL BNZ 0 RDIFN [BRANCH IF DIFFERENT SERIAL NO. 20 8G2= LDCT 0 #20 [IS THIS THE SPECIAL CASE WHERE 19 8GFW ANDX 0 ASMARK(3) [S-TRUSTED PROGRAM HAS JUST 17 8G_G BZE 0 W3Z [FINISHED? J IF NOT 17 8HF6 ERS 0 ASMARK(3) [UNSET SPECIAL MARKER 18 8HYQ CALL 6 SEWAS [SET UP NEW ASTUC BLOCK 17 8JDB FREECORE 7 [FREE GRUBUF BLOCK 19 8JY2 MFINDSU 1,BACK1(3) [REFIND ASTUC TO BE UPDATED 15 8KCL BRN Q2 [J TO UPDATE 4 8KX= W3Z 8 8LBW LDCT 0 128 9 8LWG ANDX 0 ASMARK(3) 18 8MB6 BZE 0 SNOTD [BRANCH IF NOT DISENGAGED 15 8MTQ ERS 0 ASMARK(3) [MAKE ENGAGED 20 8N87 ...SNOTD CALL 0 XKTWTCLEAR [CLEAR ^WAIT FOR KARTCONT^ BIT 20 8NGJ ... LDCT 4 #400 [WAKE-ANY-REDON-COMMANDS MARKER 18 8NT2 LDX 3 7 [RESET POINTER TO GRUBUF 19 8P#L CALL 7 XXS [WAKE ANY REDON COMMAND WITH 20 8PS= NULL [APPROPRIATE WAKE OR FAIL MARKER 15 8Q?W W1 FREECORE 3 [FREE GRUBUF 15 8QRG # NOW WAKE UP ANY OBJ PROGS IF NECESSARY 8 8R?6 LDN 3 BJOBQ 16 8RQQ W1AB LDX 3 FPTR(3) [GET NEXT JOBNO 16 8S=B TXU 3 CXJO [ANY MORE JOBS 8 8SQ2 BCC XHUNT 9 8T9L LDEX 0 JMISC(3) 7 8TP= ANDN 0 7 17 8W8W BZE 0 W1AB [BRANCH IF NO PROGRAM 19 8WNG TICKLE JOBNUM(3) [TICKLE ALL OBJECT PROGRAMS 8 8X86 BRN W1AB 17 8XMQ XHUNT HUNTW 3,EWDAS,ASTUC [LOOK FOR A NEW ASTUC 17 8Y7B BNG 3 XNOFD [BRANCH IF NONE FOUND 20 8YM2 FINDSU 1,BACK1(3),Q1 [LOOK FOR LIVE ASTUC OF SAME CSN 20 8_6L NAME 3,EWDAS,BSTUC [IF FOUND,RENAME OURS AS BSTUC 8 8_L= BRN XNOFD 9 925W #SKI K6CARTCONT>199-199 4 92KG ( 11 9356 FINDSUD 1,BACK1(3),XHUNT 20 93JQ GEOERR 1,DEADASTC [IF THERE IS A DEAD ONE AS WELL 4 944B ) 19 94J2 Q1 FINDSUD 1,BACK1(3),XPS1 [LOOK FOR DEAD ONE,IF FOUND 17 953L [COPY OURS OVER IT 4 95H= Q2 9 962W LDX 7 ASMARK(1) 9 96GG STO 7 ASMARK(3) 10 9726 LDX 7 CEXTEND(1) 10 97FQ STO 7 CEXTEND(3) 8 97_B LDN 6 A1(3) 8 98F2 LDN 7 A1(1) 18 98YL MOVE 6 CSCRATCH-A1 [COPY OURS TO DEAD ONE 7 99D= FREECORE 3 7 99XW LDX 3 7 19 9=CG SBN 3 A1 [X3 IS NOW POINTER TO ASTUC 20 9=X6 XPS1 LDX 4 GEOGU(3) [CHAIN IN (OR RECHAIN) OUR ASTUC 17 9?BQ LDN 1 BCCB [IN ORDER OF GEOGU 15 9?WB Q3 LDX 1 FPTR(1) [NEXT BLOCK 8 9#B2 TXU 1 CXCC 16 9#TL BCC Q4 [J END OF CHAIN 9 9**= LDX 0 BACK1(1) 20 9*SW BZE 0 Q4 [J NOT AN ASTUC,IE END OF CHAIN 16 9B#G BNG 0 Q3 [IGNORE IF DEAD 9 9BS6 TXL 4 GEOGU(1) 17 9C?Q BCC Q3 [J IF NOT THERE YET 13 9CRB Q4 NGNC 0 1 [ELSE 17 9D?2 ANDS 0 BACK1(3) [MAKE OUR ASTUC LIVE 10 9DQL ... TRACE 7,CHAINAST 21 9F== LDX 4 BPTR(1) [GET POINTER TO PREVIOUS FOR CHAIN 7 9FPW TXU 4 3 21 9G9G BCC Q5 [J IF OURS IS ALREADY IN CORRECT PLAC 19 9GP6 CHAIN 3,4 [CHAIN ASTUC INTO CCB CHAIN 16 9H8Q Q5 LDX 1 AWORK2(2) [POINTER TO APIA 7 9HNB LDN 4 1 18 9J82 DCH 4 BSUNIT1(1) [UPDATE NUMBER OF ASTUCS 9 9JML XNOFD LDX 1 AWORK2(2) 8 9K7= LDCT 0 #200 9 9KLW ANDX 0 BSUNIT(1) 19 9L6G BNZ 0 Q6H [_ IF WAKE UP CARTCONT SET 9 9LL6 LDCT 0 REDONBIT 9 9M5Q ANDX 0 BSUNIT(1) 19 9MKB ERS 0 BSUNIT(1) [OTHERWISE CLEAR REDONED BIT 8 9N52 Q6H LDCT 4 #020 15 9NJL ORS 4 BSUNIT(1) [MARK ENGAGED 4 9P4= # 21 9PHW # FOR CAFS, WE HAVE TO NOTIFY THE BSA/CAFSACT OF DISC ENGAGEMENTS 4 9Q3G # 20 9QH6 CAFSINFO ENGAGE,AWORK3(2) [NOTIFY EVENT TO CAFS SUBSYSTEM 20 9R2Q LONGON #67 [WAKE ACTIVITIES WAITING FOR SU 17 9RGB HUNTW 3,EWDAS,BSTUC [SEE IF ANY BSTUCS 15 9S22 BNG 3 REND [IF NONE END 15 9SFL LDX 5 BACK1(3) [CSN 9 9S_= CALL 7 XOUTOPNO 9 9TDW FINDSU 1,5,XILG 9 9TYG LDX 6 GEOGU(1) 10 9WD6 OUTPACK 6,1,GEOPER 9 9WXQ CALL 7 XOUTCSN 8 9XCB SMO FX1 20 9XX2 LDX 6 XEWDUPL [UNITS %A AND %B HAVE SAME SU... 9 9YBL CALL 7 XINFORM 10 9YW= MHUNTW 3,EWDAS,BSTUC 15 9_*W FREECORE 3 [FREE BSTUC 8 9_TG CALL 4 WDIS 8 =2*6 BRN RNTG1 4 =2SQ # 16 =3#B # HERE IF INOPERABLE ON ENEN OR ENHD 5 =3S2 XINOP 16 =4?L CALL 7 W11 [FREE GRUBUF,ETC 18 =4R= ACROSS CARTCONT,3 [GO TO PROCESS DISENGAGE 4 =5=W # 20 =5QG # HERE IF TRANSFER OR CHECKSUM FAIL ON ENEN OR ENHD 5 =6=6 XFAIL 9 =6PQ LDX 1 AWORK2(2) 16 =79B LDX 7 3 [PTR TO GRUBUF 19 =7P2 CALL 0 RFA [LOOK FOR AN EXISTING ASTUC 15 =88L BRN XILG [J IF NONE 16 =8N= LDX 5 BACK1(3) [GET SERIAL NO 16 =97W LDX 3 7 [SAVE GRUBUF PTR 9 =9MG CALL 7 XOUTOPNO 9 ==76 CALL 7 XOUTCSN 7 ==LQ LDXC 3 3 8 =?6B BCS XF1 8 =?L2 SMO FX1 18 =#5L LDX 6 XEWFAILT [UNIT NN SU XXXXXX FAILED 8 =#K= BRN XF2 8 =*4W XF1 SMO FX1 21 =*JG LDX 6 XERONGCYL [UNIT NN SU XXXXXX HAS WRONG NO OF CY 9 =B46 XF2 CALL 7 XINFORM 9 =BHQ LDX 1 AWORK2(2) 10 =C3B LDEX 0 BSUNIT2(1) 17 =CH2 BNZ 0 Q9 [BRANCH IF SOME USERS 8 =D2L LDCT 0 #400 9 =DG= ORS 0 AWORK1(2) 8 =D_W BRN WIN3 8 =FFG Q9 LDCT 0 128 18 =F_6 ORS 0 BSUNIT(1) [SET WAKE UP CARTCONT BIT 8 =GDQ BRN REND 4 =GYB # 16 =HD2 # HERE IF DIFF CSN IN EXISTING ASTUC 4 =HXL # 8 =JC= RDIFN LDX 1 FX1 13 =JWW ANDX 5 SMASK(1) [CSN 7 =KBG SMO 7 20 =KW6 LDX 0 A1+17 [MOVE CSN FROM GRUBUF INTO ASTUC 20 =L*Q ANDX 0 SMASK(1) [SO THAT GDISENGDA MESSAGE FROM 17 =LTB STO 0 BACK1(3) [RFREEASTUC IS OKAY 8 =M*2 CALL 4 WDIS 9 =MSL CALL 7 XOUTCSN 9 =N#= CALL 7 XOUTOPNO 8 =NRW SMO FX1 20 =P?G LDX 6 XEDIFCSN [SU XXXXXX WAS LOADED ON UNIT NN 9 =PR6 CALL 7 XINFORM 15 =Q=Q BRN RNTG1 [TO DISENGAGE 4 =QQB # 9 =R=2 # FINISH 4 =RPL # 9 =S9= REND LDX 1 AWORK2(2) 8 =SNW LDCT 5 256 16 =T8G ERS 5 BSUNIT(1) [UNLOCK RECORD 19 =TN6 FON ENDGRU [WAKE UP ACTIVITIES WAITING 17 =W7Q # [CARTCONT TO FINISH 12 =WMB ... TRACE AWORK4(2),ENDGRUE! 9 =X72 LDXC 5 AWORK1(2) 8 =XLL BNZ 5 RS7 16 =Y6= UP [FROM K2CARTCONT 16 =YKW RS7 ACROSS SUICIDE,1 [FROM K1CARTCONT 4 =_5G # 9 =_K6 XILG GEOERR 1,NOASTUC 4 ?24Q # 11 ?2JB MENDAREA 50,K99KARTCONT 4 ?342 #END 6 ____ ...552716760004