16 22FL #SEG IDFASAT8 [G CONSTANTINIDES 13 22PD ...# COPYRIGHT INTERNATIONAL COMPUTERS 1982 8 22_= #OPT K0IDFASAT=0 16 23DW #LIS K0IDFASAT>K0ALLGEO>K0GREATGEO>K0COMMAND>K0IDF 10 23YG 8HIDFASAT8 7 24D6 # ENTRY POINTS 12 24XQ SEGENTRY K10IDFASAT,Z10IDFASAT 12 25CB SEGENTRY K20IDFASAT,Z20IDFASAT 12 25X2 SEGENTRY K30IDFASAT,Z30IDFASAT 11 26BL MENDAREA 50,K100IDFASAT 16 26W= XILLUN +ILLUN [ILLEGAL UNIT NO 16 27*W XILLINE +ILLINE [ILLEGAL LINE NO 17 27TG XILLIDE +ILLIDE [ILLEGAL IDENTIFIER 20 28*6 XINTEM +INTERM [7020 TERM/INTERFACE NOT IN IDF 19 28SQ XJASSOCA +JASSOCA [ASSOCIATION ALREADY DEFINED 19 29#B XJASSOCB +JASSOCB [ONLY 3 ASSOCIATIONS ALLOWED 4 29S2 # 19 2=?L PARSORT [CPAR/JSCE MUST ALREADY EXIST 21 2=R= [AND IT MUST DESCRIBE AN IPB,UX,MPX 10 2?=W MHUNTW 3,CPAR,JSCE 17 2?QG LDX 1 JSCEP(3) [DEVICE LIST POINTER 15 2#=6 LGEOG 1,6 [GEOG NUMBER 17 2#PQ LDX 4 JSCEB(3) [LINE NO FOR MX,UX 15 2*9B BNG 4 XREMDEV [J IF REMOTE 7 2*P2 LDN 5 0 14 2B8L BRN XFINI [FINISHED 20 2BN= XREMDEV [NOTE THAT MOP WOULD BE REMOTE IN 15 2C7W SLL 4 1 [THIS CONTEXT 9 2CMG LDX 5 JSCEA(3) 16 2D76 BPZ 4 XONUXMX [J IF ON MX,UX 17 2DLQ LDCT 0 #400 [B0=1 TO INDICATE IPB 14 2F6B ORX 6 0 [GEOG NO 16 2FL2 ANDN 5 #7777 [IDENTIFIER NO 8 2G5L BRN XFINI 14 2GK= XONUXMX [MPX,UPX 17 2H4W SLL 5 6 [IDENT-INTERFACE NO 15 2HJG BZE 5 XNOID [JUST LINE 20 2J46 LDCT 0 #200 [B1=1 FOR MPX,UX IF IDENTIFIER 15 2JHQ ORX 6 0 [SPECIFIED 5 2K3B XNOID 8 2KH2 SRL 4 10 14 2L2L DCH 4 5 [LINE NO 10 2LG= XFINI STO 5 ACOMMUNE4(2) 10 2L_W STO 6 ACOMMUNE3(2) 8 2MFG LDX 1 FX1 7 2M_6 EXIT 7 0 14 2NDQ OPEN SBX 6 FX1 [OPEN IDF 8 2NNJ ... IDFOPEN XBRK 8 2PD2 ADX 6 FX1 7 2PXL EXIT 6 0 5 2Q7D ...XBRK UP 4 2QC= # 6 2QWW WRITECLOSE 8 2RBG SBX 7 FX1 7 2RW6 IDFWRITE 8 2S*Q BRN WR 5 2STB ZCLOSE 8 2T*2 SBX 7 FX1 9 2TSL MFREEALL FILE,FRRB 6 2W#= WR CLOSE 8 2WRW ADX 7 FX1 7 2X?G EXIT 7 0 4 2XR6 # 8 2Y=Q SELL SBX 7 FX1 8 2YQB MGETCELL 2,3 8 2_=2 ADX 7 FX1 7 2_PL EXIT 7 0 4 329= # 5 32NW SEARCH 8 338G SBX 6 FX1 8 33N6 MSEARCH 2,3,4 8 347Q SMO FX2 9 34MB LDX 0 ACOMMUNE1 8 3572 ADX 6 FX1 7 35LL EXIT 6 0 4 366= # 5 36KW RECFIND 8 375G LDX 2 FX2 10 37K6 REC HUNT2 2,FILE,FRRB 10 384Q TXU 6 BRECNO+A1(2) 8 38JB BCS REC 8 3942 ADN 2 A1 7 39HL EXIT 7 0 4 3=3= # 18 3=GW YREC BPZ 3 SAME [FIND CELL X3 POINTS TO 8 3?2G YREC1 SBX 6 FX1 7 3?G6 LDX 0 3 7 3?_Q SRL 0 9 8 3#FB ANDN 0 #7777 8 3#_2 LDX 2 FX2 10 3*DL STO 0 ACOMMUNE3(2) 7 3*Y= MXB 2 8 3BCW ADX 6 FX1 8 3BXG SAME ANDN 3 #777 7 3CC6 EXIT 6 0 4 3CWQ # 14 3DBB TRACE LDX 4 ACOMMUNE3(2) [UNIT NO 17 3DW2 LDX 5 ACOMMUNE4(2) [LINE/IDENTIFIER NO 8 3F*L TRAC2 SBX 7 FX1 10 3FT= LDX 0 ACOMMUNE2(2) 18 3G#W STO 0 AWORK2(2) [KEEP PROPERTY PARAMETER 8 3GSG CALL 6 OPEN 15 3H#6 BNG 4 T7900 [J.IF 7900 8 3HRQ LDN 3 BUNIT 9 3J?B CALL 6 SEARCH 19 3JR2 BZE 0 UINV [J.IF NOT FOUND-INVALID UNIT 9 3K=L LDN 3 BLINE(3) 21 3KQ= SLL 4 1 [MOVE UP B1(SET IF 7020 INFO. IN X5) 16 3L9W ANDX 4 GSIGN [AND ONLY KEEP B1 16 3LPG DCH 5 4 [LINE NO INTO X4 9 3M96 CALL 6 SEARCH 19 3MNQ BZE 0 MINV [J.IF NOT FOUND-INVALID LINE 17 3N8B BPZ 4 TR1 [J.IF NO IDENTIFIER 18 3NN2 SMO 2 [NOW KEEP X4 AS MARKER 9 3P7L LDX 3 BLINE(3) 18 3PM= TR3 BZE 3 TINV [J.FOR INVALID TERMINAL 8 3Q6W CALL 6 YREC 7 3QLG ADX 3 2 19 3R66 LDX 0 BNO(3) [IDENTIFIER/POLLING ADDRESS 7 3RKQ ERX 0 5 19 3S5B ANDX 0 HALFTOP [ONLY IDENTIFIER SIGNIFICANT 18 3SK2 BZE 0 TR2 [J.IF RIGHT IDENTIFIER 8 3T4L LDX 3 0(3) 8 3TJ= BRN TR3 18 3W3W TR2 ANDN 5 #7700 [MASK OUT INTERFACE NO 19 3WHG BZE 5 TR11 [J.IF INTERFACE NOT REQUIRED 18 3X36 SRL 5 6 [INTERFACE NO INTO CHAR3 9 3XGQ TR4 LDX 0 BTYPE(3) 7 3Y2B LDCH 6 0 7 3YG2 ERX 6 5 18 3Y_L BZE 6 TR11 [J.IF CORRECT INTERFACE 10 3_F= LDX 0 BTYPE+1(3) 20 3_YW LDCH 6 0 [CHECK POSSIBLE CONSOLE INTERFACE 7 42DG ERX 6 5 18 42Y6 BZE 6 TR11 [J.IF CORRECT INTERFACE 10 43CQ LDX 0 BTYPE+2(3) 20 43XB BNG 0 TINV [J.FOR INVALID TERMINAL INTERFACE 8 44C2 LDX 3 0(3) 8 44WL BNZ 3 TR5 20 45B= TGEO GEOERR 1,IDF7020 [SOMETHING UP WITH 7020'S IN IDF 8 45TW TR5 CALL 6 YREC 7 46*G ADX 3 2 8 46T6 BRN TR4 7 47#Q TR11 SBX 3 2 8 47SB TR1 ADX 7 FX1 20 48#2 EXIT 7 0 [ON EXIT X4 NEG IF 7020 IDENTIFIER EXISTED 8 48RL T7900 LDN 3 BIPB 9 49?= CALL 6 SEARCH 17 49QW BZE 0 UINV [J.FOR INVALID UNIT 9 4==G LDN 3 BLINE(3) 7 4=Q6 LDX 4 5 9 4?9Q CALL 6 SEARCH 18 4?PB BZE 0 RINV [J.FOR INVALID IDENTIFIER 8 4#92 BRN TR1 4 4#NL # 7 4*8= # ERRORS!!!! 15 4*MW UINV LDX 3 XILLUN(1) [ILLEGAL UNIT 8 4B7G ONVMA ANDN 4 #7777 4 4BM6 ONUM 8 4C45 ... OUTNUM 4,0 9 4C6Q YERC CALL 7 ZCLOSE 7 4CLB ERRORX 3 7 4CW8 ... UPPLUS 1 15 4DKL MINV LDX 3 XILLINE(1) [ILLEGAL LINE 8 4F5= BRN ONVMA 17 4FJW RINV LDX 3 XILLIDE(1) [ILLEGAL IDENTIFIER 8 4G4G BRN ONVMA 20 4GJ6 TINV LDX 3 XINTEM(1) [7020 TERM/INTERFACE NOT IN IDF 8 4H3Q BRN YERC 19 4HHB XERR LDX 3 XJASSOCA(1) [ASSOCIATION ALREADY DEFINED 8 4J32 BRN YERC 19 4JGL YERR LDN 4 ASSMAX [GOT 3 ASSFCIATIONS ALREADY 10 4K2= LDX 3 XJASSOCB(1) 8 4KFW BRN ONUM 4 4K_G # 4 4LF6 # 20 4LYQ Z10IDFASAT [MIDFAS ENTRY(ASSMAX MUST BE <4) 9 4MDB CALL 7 PARSORT 10 4MY2 LDX 0 ACOMMUNE1(2) 19 4NCL STO 0 AWORK1(2) [KEEP ^BIT^ WORD PARAMETER 17 4NX= CALL 7 TRACE [TRACE REQUIRED CELL 7 4PBW SMO 2 9 4PWG LDX 6 BASS(3) 20 4QB6 BNZ 6 NOMAK [J IF GOT ASSOCIATE CELL ALREADY 9 4QTQ LDN 3 BASS(3) 18 4R*B CALL 7 SELL [GET CELL FOR ASSOCIATES 9 4RT2 ADN 3 BTYPE(2) 7 4S#L LDN 1 0 8 4SS= TIDY SMO FX2 9 4T?W LDN 2 AWORK1 17 4TRG MOVE 2 2 [MOVE IN ASSOCIATIONS 9 4W?6 SBN 3 BTYPE(1) 21 4WQQ LDN 0 1 [FOR UPDATING COUNT OF ASSOCIATIONS 9 4X=B ADS 0 BNO(3) 10 4XQ2 WRITE CALL 7 WRITECLOSE 7 4X_S ... UPPLUS 2 7 4YP= NOMAK LDX 3 6 8 4_8W CALL 6 YREC 21 4_NG ADN 3 BTYPE(2) [X3 POINTS TO FIRST ASSOCIATE RECORD 20 5286 LDN 6 0 [USE X6 AS SWITCH-ZERO FOR PASS 1 21 52MQ ZIP LDN 7 ASSMAX [X7 IS COUNT OF MAX NO OF ASSOCIATES 8 537B SMO FX2 17 53M2 LDX 5 AWORK1 [NEW ^BIT^ WORD IN X5 17 546L ZOOP LDX 4 0(3) [IDF ^BIT^ WORD IN X4 8 54L= BNZ 4 ZA 21 555W BNZ 6 ZB [J.IF SWITCH SET INDICATING PASS 2 8 55KG LDCT 0 #200 18 5656 ORX 7 0 [SET B1 OF X7 AS MARKER 8 56JQ BRN UPDAT 8 574B ZB BNG 6 UPDAT 9 57J2 LDN 1 ASSMAX 21 583L SBX 1 7 [SO ASSOCIATIONS GO IN RIGHT PLACE 15 58H= SLL 1 1 [MULT.BY 2 19 592W BRN TIDY [TO PUT ASSOCIATION IN IDF 7 59GG ZA ORX 4 5 8 5=26 TXU 4 0(3) 8 5=FQ BCC XERR 7 5=_B ERX 4 5 9 5?F2 ANDX 4 HALFTOP 19 5?YL BNZ 4 UPDAT [J.IF COMMANDS DO NOT M&TCH 8 5#D= SMO FX2 9 5#XW LDX 0 AWORK2 18 5*CG TXU 0 1(3) [COMPARE PROPERTY NUMBERS 16 5*X6 BCC ZF [J.IF PROPS.SAME 20 5BBQ LDX 4 0(3) [AND IF PROPS DIFFER MAKE SURE- 17 5BWB ANDX 4 5 [PERIPHERALS DIFFER 8 5CB2 ANDN 4 #7777 20 5CTL BNZ 4 XERR [^ALREADY GOT THIS ASSOCIATION^ 8 5D*= BRN UPDAT 18 5DSW ZF BZE 6 ZC [J IF PROPERTIES DIFFER 21 5F#G ORS 5 0(3) [OTHERWISE BUNG IN NEW ASSOCIATION 8 5FS6 BRN WRITE 18 5G?Q ZC ORX 7 GSIGN [SET B0 OF X7 AS MARKER 17 5GRB UPDAT ADN 3 2 [UPDATE IDF POINTER 8 5H?2 BCT 7 ZOOP 8 5HQL BPZ 7 ZD 17 5J== LDX 6 7 [MAKE SWITCH(X6) NEG 8 5JPW BRN ZE 8 5K9G ZD LDCT 0 #200 7 5KP6 ANDX 0 7 21 5L8Q BZE 0 YERR [ERROR-NO ROOM FOR THIS ASSOCIATION 18 5LNB LDX 6 0 [MAKE SWITCH(X6) POSITIVE 21 5M82 ZE SBN 3 2*ASSMAX [UPDATE X3 TO POINT TO FIRST ASSOC. 15 5MML BRN ZIP [J.FOR PASS 2 4 5N7= # 4 5NLW # 16 5P6G Z20IDFASAT [PUTCONS ENTRY 9 5PL6 CALL 7 PARSORT 14 5Q5Q LDX 4 ACOMMUNE3(2) [UNIT NO 16 5QKB STO 4 AWORK3(2) [USED FOR HUIDGE 20 5R52 BZE 4 OPCON [J.IF CENTRAC OPERATORS CONSOLE 18 5RJL LDX 5 ACOMMUNE4(2) [IDENTIFIER/LINE NO ETC. 16 5S4= STO 5 AWORK4(2) [USED FOR HUIDGE 17 5SHW BNG 4 P7900 [J.IF A 7900 DEVICE 15 5T3G CALL 7 TRAC2 [TRACE CELL 16 5TH6 BNG 4 P1 [J.IF 7020 CELL 15 5W2Q P4 CALL 7 ZCLOSE [ERROR ROUTE 7 5W=J ... UPPLUS 2 7 5X22 P1 ADX 3 2 9 5XFL LDCH 0 BTYPE(3) 7 5X_= SBN 0 3 18 5YDW BZE 0 P2 [J IF THIS CONSOLE OKAY 10 5YYG LDX 0 BTYPE+2(3) 20 5_D6 BNG 0 P4 [J TO ERROR IF THIS 7020 FINISHED 8 5_XQ LDX 3 0(3) 18 62CB BZE 3 TGEO [SOMETHING UP-SO GEOERR 8 62X2 CALL 6 YREC 8 63BL BRN P1 17 63W= OPCON LDX 5 ACOMMUNE2(2) [PROPERTY PARAMETER 8 64*W CALL 6 OPEN 7 64TG BRN P18 15 65*6 P7900 CALL 7 TRAC2 [TRACE CELL 7 65SQ ADX 3 2 9 66#B LDCH 0 BTYPE(3) 7 66S2 SBN 0 5 20 67?L BNZ 0 P4 [J.IF NOT 7023 CONSOLE TO ERROR 8 67R= P2 LDCT 0 #40 20 68=W ORS 0 BTYPE+1(3) [SET ^THIS IS CLUSTER CONSOLE^BIT 7 68QG SBX 3 2 16 69=6 LDX 4 BRECNO(2) [RECORD NUMBER 7 69PQ SLL 4 9 20 6=9B ORX 4 3 [IDF POINTER(EXCEPT B0)TO CONSOLE 7 6=P2 LDN 6 0 16 6?8L CALL 7 RECFIND [FIND RECORD ZERO 8 6?N= SMO FX2 20 6#7W LDX 5 AWORK2 [PICK UP CONSOLE PROPERTY NUMBER 20 6#MG P18 LDX 6 BEXOT(2) [BASE OF CONSOLE PROPERTY CHAIN 17 6*76 LDN 3 BEXOT [IN CASE X6 IS ZERO 8 6*LQ BZE 6 P5 7 6B6B P7 LDX 3 6 8 6BL2 CALL 6 YREC 7 6C5L ADX 3 2 19 6CK= LDX 0 BNO(3) [NOW COMPARE PROPERTY NOS. 7 6D4W ERX 0 5 20 6DJG ANDX 0 BITS22LS [ONLY BOTTOM 22 BITS FOR PROP NO 17 6F46 BZE 0 P6 [J.IF NOS.ARE SIMILAR 8 6FHQ LDX 6 0(3) 8 6G3B BNZ 6 P7 7 6GH2 SBX 3 2 20 6H2L P5 CALL 7 SELL [GET NEW CONSOLE PROPERTY CELL 7 6HG= ADX 3 2 18 6H_W STO 5 BNO(3) [STORE PROPERTY NUMBER 16 6JFG P6 BZE 4 P8 [J IF OPS CONSOLE 21 6J_6 LDX 0 4 [OTHERWISE SEE IF B0 OF IDF POINTER- 15 6KDQ SRL 0 9 [MUST BE SET 9 6KYB TXU 0 BRECNO(2) 8 6LD2 BCC P8 14 6LXL ORX 4 GSIGN [SET B0 19 6MC= P8 LDX 7 BTYPE(3) [OLD CONSOLE IF NOT NEW CELL 20 6MWW STO 4 BTYPE(3) [STORE POINTER(OR ZERO)IN CELL 21 6NBG LDX 6 7 [SO X6 ONLY ZERO IF NEW CELL OR OLD CONSOLE WAS- 20 6NW6 [OPS CONS:OTHERWISE X6 POINTS TO OLD CONSOLE 17 6P*Q ANDX 5 BITS22LS [CONSOLE PROP.NUMBER 20 6PTB P13 HUNTMISB 2,APERI,CONSOLE [NOTE APERI/CONSOLE WAS CALLED- 20 6Q*2 [HUIDGE & HENCE LATER COMMENTS! 20 6QSL BZE 4 P20 [J.IF NEW CONSOLE IS OPS CONSOLE 17 6R#= BNG 2 P10 [J.IF NO HUIDGE BLOCK 19 6RRW LDX 3 2 [KEEX COPY OF X2LEAST X6>0 21 6S?G BNZ 6 P11 [J.IF NOT NEW CONSOLE-PROP(X6 SWITCH) 17 6SR6 LDN 0 2 [X0=2 IS USED AT P12 19 6T=Q LDX 7 ALOGLEN(2) [INVESTIGATE HUIDGE LENGTH 8 6TQB SBX 7 A1(2) 7 6W=2 SBX 7 0 16 6WPL BPZ 7 P12 [J.IF LENGTH OKAY 21 6X9= LDN 7 4 [MAKE CONSOLE BLOCK 4 WORDS LONGER 10 6XNW ADX 7 ALOGLEN(2) 19 6Y8G ALTLEN 3,7 [INCREASE APERI/CONSOLE BLOCK 8 6YN6 BRN P13 18 6_7Q # CREATE A APERI/CONSOLE BLK & CHAIN IT IN END OF MISC.CHAIN 8 6_MB P10 BNZ 6 UGEO 11 7272 ...P101 SETNCORE 4,1,APERI,CONSOLE 9 72LL LDX 2 BMISC+1 8 736= CHAIN 1,2 9 73KW LDX 2 BMISC+1 7 745G LDN 0 2 8 74K6 STO 0 A1(2) 20 754Q P12 LDX 3 2 [KEEP COPY OF POINTER TO HUIDGE 21 75JB ADS 0 A1(2) [COUNT OF NO.RELEVANT WORDS IN HUIDGE 8 7642 ADX 2 A1(2) 20 76HL STOZ A1-2(2) [ZEROIZE POSITION OF ^OLD CONSOLE 20 773= [DESCRIPTION^AS THIS IS NEW ENTRY 17 77GW STOZ A1-1(2) [ZEROIZE LAST WORD 7 782G SBN 2 2 17 78G6 # NOW SET UP AND STORE NEW ENTRY IN APERI/CONSOLE BLOCK 8 78_Q P16 LDCT 0 #400 8 79FB LDX 1 FX2 9 79_2 ANDX 0 AWORK3(1) 7 7=DL ORX 5 0 9 7=Y= STO 5 A1-1(2) 8 7?CW BNG 0 P14 21 7?XG LDN 7 #7700 [MASK OUT INTERFACE NO.TO MAKE B0-11 20 7#C6 ORX 7 AWORK4(1) [2 CHAR IDENT & B12-23 LINE NO. 8 7#WQ ERN 7 #7700 21 7*BB P15 LDX 4 A1(2) [KEEP OLD CONSOLE'S DESCRIPTION-ZERO? 20 7*W2 STO 7 A1(2) [STORE NEW CONSOLE'S DESCRIPTION 20 7B*L # NOW FOLLOWS CODE TO SET/UNSET B1 OF CONS.PROP.NO.IN HUIDGE BLOCK 18 7BT= # FOR NEW AND OLD CONSOLE:NEW CONSOLE IS INVESIGATED FIRST 21 7C#W P25 LDX 2 3 [PTR TO HUIDGE INTO X2 & PRESERVE X3 21 7CSG LDN 5 0 [AS ^CONSOLE NOT YET FOUND^ SWITCH 16 7D#6 P23 TXU 7 A1+2(2) [COMPARE CONSOLES 16 7DRQ BCS P22 [J.IF DIFFERENT 21 7F?B BNZ 5 P24 [J.IF B1 IS TO BE SET IN HUIDGE BLK 19 7FR2 LDCT 5 #200 [OTHERWISE MAKE SURE B1 UNSET 9 7G=L ORS 5 A1+1(2) 9 7GQ= ERS 5 A1+1(2) 8 7H9W BRN P22 21 7HPG P24 ORS 5 A1+1(2) [SET B1 AS INDICATOR IN HUIDGE BLOCK 21 7J96 P22 ADN 2 2 [UPDATE X2 FOR NEXT HUIDGE INQUIRY 9 7JNQ LDX 0 A1+1(2) 20 7K8B BNZ 0 P23 [AND J.FOR NEXT HUIDGE INQUIRY 21 7KN2 P17 BZE 4 P26 [J.IF OLD CONSOLE NON-EXISTENT IN- 21 7L7L LDX 7 4 [HUIDGE OR DONE P25 CODE TWICE,OTHER 17 7LM= LDN 4 0 [WISE SET X4 ZERO &- 18 7M6W BRN P25 [J.TO DO P25 CODE AGAIN 18 7MLG # SEE IF ^THIS IS CLUSTER CONSOLE^ BIT IN IDF MUST BE UNSET 21 7N66 P26 BZE 6 P21 [J IF NEW CONS.PROP,OR OLD CONS.WAS OPS.CONSOLE 21 7NKQ BNZ 5 P21 [J.IF CONS.STILL USED-DO NOT UNSET 20 7P5B P17A LDX 3 6 [OTHERWISE UNSET^THIS IS CLUSTER- 21 7PK2 CALL 6 YREC1 [CONSOLE^BIT USING IDF POINTER IN X6 8 7Q4L LDCT 0 #40 7 7QJ= SMO 2 15 7R3W ERS 0 BTYPE+1(3) [UNSET BIT 10 7RHG P21 CALL 7 WRITECLOSE 7 7RR# ... UPPLUS 3 8 7SGQ P14 LDN 7 #777 21 7T2B ANDX 7 AWORK3(1) [^AND^ OUT GEOG.NO & MOVE UP GEOG.NO. 8 7TG2 SLL 7 12 9 7T_L ORX 7 AWORK4(1) 8 7WF= BRN P15 21 7WYW P20 BZE 6 P21 [J.IF OLD CONSOLE WAS OPERATORS OR- 21 7XDG [THIS IS NEW CONSOLE PROP & DO NOWT 8 7XY6 BPZ 2 P19 4 7XYK ...# 21 7X_4 ...# ENTRY TO THIS POINT MEANS THINGS DONT MATCH BETWEEN THE IDF AND TH 21 7X_H ...# APERI-CONSOLE BLOCK. IT IS POSSIPLE FOR A CONSOLE PROPERTY TO BE 21 7Y22 ...# FOR A PERIPHERAL NOT CURRENTLY ON THE INSTALLATION, HOWEVER A REQU 21 7Y2F ...# HAS BEEN RECIEVED FOR THE PROPERTY TO HAVE A DIFFERENT CONSOLE. T 17 7Y2Y ...# SITUATION IS CATERED FOR BY THE FOLLOWING CODE. 12 7Y3C ...# ENTRY FROM:- P10,P11 OR P20 18 7Y3W ...# VALUES ON ENTRY - X6 = IDF PTR. TO OLD CONSOLE CELL 21 7Y4* ...# X4 = IDF PTR. LESS B0 OF NEW CONSOLE CELL OR ZER 17 7Y4S ...# X2 = PTR. TO APERI-CONSOLE BLK 11 7Y5? ...# OR 15 7Y5Q ...# NEGATIVE NO BLOCK 15 7Y69 ...UGEO LDX 1 4 [SV X4 IN X1 15 7Y6N ... LDX 5 6 [SV X6 IN X5 18 7Y77 ... LDX 3 6 [LD. PTR. TO OLD CONSOLE 15 7Y7L ... CALL 6 YREC1 [HUNT BLK. 7 7Y85 ... SMO 2 9 7Y8J ... LDX 6 BNUMB(3) 7 7Y93 ... SLL 6 1 17 7Y9G ... BNG 6 UGEO1 [J. IDENTIFIER CELL 7 7Y9_ ... SMO 2 20 7Y=D ... LDX 4 4(3) [LD. WD. CONTAIN GEOG.NO. OF UNIT 7 7Y=X ... SRL 4 6 18 7Y?B ... LDN 3 BUNIT [LD. BASE OF UNIT CHAIN 8 7Y?T ... BRN UGEO2 7 7Y## ...UGEO1 SMO 2 15 7Y#R ... LDX 4 BTYPE(3) [LD. GEOG.NO. 19 7Y*= ... LDN 3 BIPB [LD. BASE OF UNIT CHAIN-7900 17 7Y*P ...UGEO2 ANDN 4 #777 [MASK OUT GEOG. NO. 7 7YB8 ... LDN 6 0 16 7YBM ... CALL 7 RECFIND [FIND RECORD ZERO 7 7YC6 ... LDX 7 1 17 7YCK ... CALL 6 SEARCH [SEARCH FOR UNIT CELL 7 7YD4 ... LDX 1 7 7 7YDH ... SMO 3 9 7YF2 ... LDX 0 BNUMB(2) 7 7YFF ... SLL 0 1 16 7YFY ... BNG 0 UGEO3 [J. IF UNIT WRONG 19 7YGC ...UGEOE GEOERR 1,HUIDGE [FAILED - SOMETHING A MISS 7 7YGW ...UGEO3 SMO 2 19 7YH* ... LDX 7 BTYPE(3) [LD. DEVICE TYPE OF IDF UNIT 7 7YHS ... SRC 7 6 17 7YJ? ... ANDN 7 #77 [MASK OUT DEVICE TYPE 16 7YJQ ... FINDPEREC 3,APGEOG,4 [FIND DEVICE LIST 21 7YK9 ... BNG 3 UGEO4 [J. GEOG. NO. DEVICE LIST NOT FOUND 16 7YKN ... LTYPE 3,4 [X4 = DEVICE TYPE 17 7YL7 ... BXE 2 7,UGEOE [J. SOMETHING WRONG 17 7YLL ...UGEO4 LDX 6 4 [RE-LOAD VALUE OF X6 8 7YM5 ... SMO FX2 9 7YMJ ... LDX 5 AWORK2 18 7YN3 ... ANDX 5 BITS22LS [RE-LOAD CONSOLE PROP.NO. 21 7YNG ... LDX 4 1 [RE-LOAD IDF PTR. NEW CONSOLE CELL. 17 7YN_ ...UGEO5 HUNTMISB 2,APERI,CONSOLE [HUNT APERI-CONSOLE 17 7YPD ... BNG 2 P101 [J. TO SET UP A BLOCK 19 7YPX ... BZE 4 P17A [J. NEW CONSOLE = OPERATORS 7 7YQB ... LDN 0 2 19 7YQT ... LDX 7 ALOGLEN(2) [INVESTIGATE LENGTH OF BLOCK 8 7YR# ... SBX 7 A1(2) 7 7YRR ... SBX 7 0 16 7YS= ... BPZ 7 P12 [J. ENOUGH ROOM. 20 7YSP ... LDN 7 4 [INCREASE LENGTH OF APERI-CONSOLE 10 7YT8 ... ADX 7 ALOGLEN(2) 17 7YTM ... ALTLEN 2,7 [ALTER LENGTH OF BLK 17 7YW6 ... BRN UGEO5 [J. BACK TO RE-HUNT 21 7YXB P19 LDX 1 2 [EXTRA COPY OF POINTER INTO X1:NEED- 19 7_C2 LDX 7 A1(1) [IT ANYWAY & SO MAY FREECORE 7 7_WL SBN 7 4 8 82B= BNZ 7 P3 20 82TW FREECORE 1 [& IF IT WILL BE EMPTY FREE IT! 8 83*G BRN P17A 20 83T6 P3 SBX 7 ALOGLEN(1) [OTHERWISE PREPARE X7 FOR ALTLEN- 21 84#Q ADN 7 16 [TEST(ONLY ALTLEN IF 16 WORDS SPARE). 21 84SB LDX 3 2 [YET ANOTHER COPY OF HUIDGE POINTER 19 85#2 P11 ADN 2 2 [NOW HUNT DOWN HUIDGE BLOCK 9 85RL LDX 0 BITS22LS 20 86?= ANDX 0 A1-1(2) [PROPERTY NUMBER CONTAINED IN X5 16 86QW BZE 0 UGEO [SOMETHING UP! 14 87=G TXU 0 5 [COMPARE 17 87Q6 BCS P11 [& J.IF NOT THIS ONE 20 889Q BNZ 4 P16 [J.IF NEW CONSOLE NOT OPERATORS 19 88PB # THIS CODING DEALS WITH CASE WHEN THE NEW CONSOLE IS OPERATORS 20 8992 LDX 4 A1(2) [PICK UP OLD CONSOLE DESCRIPTION 9 89NL LDN 2 A1-1(2) 7 8=8= LDN 0 2 8 8=MW SBS 0 A1(1) 8 8?7G ADX 1 A1(1) 9 8?M6 LDN 1 A1-1(1) 7 8#6Q MOVE 1 2 8 8#LB STOZ 0(1) 17 8*62 BPZ 7 P17 [DON'T ALTER LENGTH 8 8*KL LDX 7 A1(3) 19 8B5= ALTLEN 3,7 [MAKE APERI/CONSOLE SMALLER 8 8BJW BRN P17 4 8C4G # 4 8CJ6 # 20 8D3Q Z30IDFASAT [IDFAT ENTRY(ATTMAX MUST BE <7) 9 8DHB CALL 7 PARSORT 18 8F32 [MPX OR IPB -JUST GEOG NO 21 8FGL LDX 0 ACOMMUNE1(2) [KEEP WORD INDICATING WHETHER THIS- 18 8G2= STO 0 AWORK1(2) [IS A CONSOLE PROPERTY 16 8GFW CALL 7 TRACE [FIND DEVICE CELL 8 8G_G SMO FX2 18 8HF6 LDX 5 AWORK1 [RESCUE INDICATOR WORD 18 8HYQ BPZ 5 Q3 [J.IF NOT CONSOLE PROP 21 8JDB LDX 0 BRECNO(2) [OTHERWISE KEEP POINTER TO DEVICE CEL 7 8JY2 SLL 0 9 7 8KCL ORX 0 3 8 8KX= SMO FX2 18 8LBW STO 0 AWORK4 [STORE POINTER IN AWORK4 7 8LWG Q3 SMO 2 17 8MB6 LDX 6 BATT(3) [ATTRIBUTION POINTER 8 8MTQ SMO FX2 9 8N*B LDX 7 JSOURCE3 16 8NT2 BNZ 7 Q20 [J.IF NOT CENTRAL 8 8P#L SMO FX2 9 8PS= LDX 0 JSOURCE2 19 8Q?W BNG 0 Q17 [J.IF NOT LOCAL OPS.CONSOLE 4 8Q*9 ...Q20 7 8QBJ ... LDX 1 2 7 8QCX ... ADX 1 3 8 8QF= ... SMO FX2 9 8QGK ... LDX 0 AWORK2 7 8QK? ... SLL 0 1 15 8QLL ... IF 0,PZ [ TEMPORARY 14 8QM_ ... AND BS,1,IDF7502LP [ 7502 LP 6 8QP# ... THEN 10 8QPJ ... LDX 0 BRECNO(2) 8 8QPS ... SLL 0 9 20 8QQ4 ... ORX 3 0 [MAKE FULL IDF PTR FOR YREC1.. 18 8QQ# ...[ NOTE BIT 0 NOT VALID 10 8QQM ... DOWN FORMLOOP,1 10 8QS2 ... IF REP2,WRONG 7 8QT* ... THEN 10 8QWN ... CALL 7 ZCLOSE 9 8QY3 ... UPPLUS 1 8 8Q_B ... [------- 6 8R2P ... FI 19 8R44 ... CALL 6 YREC1 [ REFIND IDENTIFIER CELL 7 8R5C ... SMO 2 10 8R6Q ... LDX 6 BATT(3) 5 8R85 ... FI 21 8R9D ... BNZ 6 QNMAK [J.IF ATTRIBUTION CELL ALREADY EXISTS 17 8R?6 BNZ 7 Q17 [ERROR WROOG CLUSTER 17 8RQQ LDN 3 BATT(3) [OTHERWISE MAKE ONE 8 8S=B CALL 7 SELL 7 8SQ2 ADX 3 2 7 8T9L Q5 LDN 0 1 19 8TP= ADS 0 BNO(3) [UPDATE COUNT OF ATTRIBUTIONS 19 8W8W LDX 0 BTYPE(3) [PICK UP CONSOLE PROP WORD 21 8WNG BNG 5 Q1 [J.IF NEW PROP.IS CONSOLE PROPERTY 20 8X86 BZE 0 Q2 [OTHERWISE ADJUST X3 TO INDICATE- 21 8XMQ LDN 0 1 [WHERE NEW PROPERTY IS TO GO IN CELL. 9 8Y7B Q2 ADX 3 BNO(3) 7 8YM2 SBX 3 0 8 8_6L Q4 SMO FX2 17 8_L= LDX 4 AWORK2 [PICK UP NEW PROPERTY 19 925W STO 4 BTYPE(3) [STORE NEW PROPERTY IN CELL 21 92KG BNG 5 QCONS [J.TO UPDATE CONSOLE CHAIN IF NEC. 4 9356 QXIT 6 93JQ LFAT 16 944B CALL 7 WRITECLOSE [OTHERWISE FINISH 7 94#8 ... UPPLUS 6 21 953L Q1 BZE 0 Q4 [J.IF NO CONSOLE PROP.YET ATTRIBUTED 21 95H= CALL 7 ZCLOSE [ALREADY GOT CONSOLE PROP SO ERROR 7 95R4 ... UPPLUS 3 7 96GG QNMAK LDX 3 6 18 9726 CALL 6 YREC [FIND ATTRIBUTION CELL 7 97FQ ADX 3 2 8 97_B BRN Q14 9 98F2 Q17 CALL 7 ZCLOSE 7 98NS ... UPPLUS 5 21 99D= Q14 BNG 5 Q18 [IF CONSOLE PROP.DON'T CHECK PRIOR- 21 99XW SMO FX2 [ATTRIBUTIONS:OTHERWISE CHECK THIS- 17 9=CG LDX 4 AWORK2 [IS A NEW ATTRIBUTION 9 9=X6 ANDX 4 BITS22LS 20 9?BQ LDN 7 5 [COUNT OF POSSIBLE ATTRIBUTIONS 7 9?WB Q16 SMO 7 20 9#B2 LDX 0 BTYPE(3) [PICK UP AN ATTRIBUTION(OR ZERO) 7 9#TL ERX 0 4 9 9**= ANDX 0 BITS22LS 19 9*SW BNZ 0 Q15 [J.IF DIFFERENT ATTRIBUTION 16 9B#G CALL 7 ZCLOSE [OTHERWISE ERROR 7 9BJ# ... UPPLUS 4 7 9C?Q Q15 SBN 7 1 18 9CRB BNZ 7 Q16 [J.FOR NEXT COMPARISON 9 9D?2 Q18 LDX 0 BNO(3) 9 9DQL SBN 0 ATTMAX 21 9F== BNG 0 Q5 [J.IF ROOM FOR ANOTHER ATTRIBUTION 16 9FPW CALL 7 ZCLOSE [OTHERWISE ERROR 7 9F_N ... UPPLUS 2 17 9GP6 QCONS [UPDATE CONSOLE CHAIN 17 9H8Q ANDX 4 BITS22LS [CLEAR OUT TOP 2 BITS 7 9HNB LDN 6 0 16 9J82 CALL 7 RECFIND [FIND RECORD ZERO 19 9JML LDX 3 BEXOT(2) [CONSOLE PROPERTY CHAIN BASE 8 9K7= BNZ 3 Q6 19 9KLW QGEO GEOERR 1,CLUSTERC [ERROR CONSOLE PROP.NOT FOUND 8 9L6G Q6 CALL 6 YREC 7 9LL6 ADX 3 2 9 9M5Q LDX 5 BNO(3) 9 9MKB ANDX 5 BITS22LS 18 9N52 TXU 4 5 [COMPARE PROPERTY NUMBERS 15 9NJL BCC Q7 [J.IF SAME 8 9P4= LDX 3 0(3) 18 9PHW BNZ 3 Q6 [J.FOR NEXT CONSOLE PROP 8 9Q3G BRN QGEO 21 9QH6 Q7 LDX 5 3(3) [GOT CONSOLE PROP SO GET NO.OF ATTRIB 7 9R2Q LDN 0 1 17 9RGB ADS 0 3(3) [UPDATE NO OF ATTRIB 7 9S22 SBN 5 3 18 9SFL BNG 5 Q8 [J.IF ROOM IN FIRST CELL 21 9S_= ADN 3 4 [OTHERWISE MAKE X3 POINT TO FORWARD- 21 9TDW BNZ 5 Q9 [PTR & J.IF SUBSID CELL MUST EXIST 16 9TYG Q11 SBX 3 2 [MAKE SUBSID.CELL 8 9WD6 CALL 7 SELL 8 9WXQ ADN 3 1(2) 18 9XCB BRN Q10 [J.TO FILL IN ATTRIB.PTR 8 9XX2 Q9 LDX 3 0(3) 14 9YBL BZE 3 QGEO [ERROR! 8 9YW= CALL 6 YREC 7 9_*W ADX 3 2 7 9_TG SBN 5 7 19 =2*6 BZE 5 Q11 [J.TO MAKE NEW SUBSID.CELL 19 =2SQ BPZ 5 Q9 [J.TO FIND NEXT SUBSID CELL 7 =3#B Q8 ADN 5 8 20 =3S2 ADX 3 5 [NOW X3 PTS TO POSITION WHERE- 19 =4?L Q10 SMO FX2 [ATTRIB.PTR IS TO BE PLACED 9 =4R= LDX 0 AWORK4 21 =5=W LDX 7 0 [NOW SEE IF B0 OF IDF PTR NEED BE SET 7 =5QG SRL 7 9 9 =6=6 TXU 7 BRECNO(2) 18 =6PQ BCC Q12 [J.IF B0 NEED NOT BE SET 8 =79B ORX 0 GSIGN 4 =7P2 Q12 8 =88L STO 0 0(3) 15 =8N= BRN QXIT [ALL DONE! 4 =97W #END 8 ____ ...05720347000100000000