WLE862
(George Source)
Macros used: ALTLEN, AND, BACKSPACE, BC, BITDEFS, BS, DELETE, DO, DOWN, ELSE, ELSF, FI, FREECORE, HUNT2, HUNTW, IF, INSERT, LFCHAIN, MFREE, MHUNT, MHUNTW, NAME, NAMETOP, OR, OUTPACK, REPEAT, REPLACE, SEGENTRY, SETNCORE, SETREP, SETREP2, STARTACT, STEP, STEPAGAIN, STEPWRITE, THEN, UP, UPPLUS, VFREE, WHILE, WRONG
- WLE862.txt
22FL #OPT K0WLE = 0 22^= #LIS K0WLE 23DW #SEG WLE 23YG 8HWLE 24D6 [ 24XQ SEGENTRY K1WLE,WLEK1 [ CHANGELIST PROPERTY ACTION 25CB [ 25X2 [ 26BL [************************************************************ 26W= [ 27*W [ PRESET DATA 27TG [ 28*6 [************************************************************ 28SQ [ 29#B BITDEFS CLONG1,2,WBMESSBLK [ USED BY MESSAGE SYSTEM TO INDICATE PR 29S2 [ OF GMON/ASET BLOCK 2=?L PERPERNA +JPERNA [ PERIPHERAL TYPE NOT AVAILABLE 2=R= PERNOPROP +JPROPSNA [ PROPERTY NOT AVAILABLE 2?=W PEREXCL +JNAVEXC [ DUE TO PERMANENT EXCLUSIVE PROPERTIES 2?QG PERTMANY +JPERR2 [ TOO MANY PROPERTIES 2#=6 PERTMCONS +JPERR3 [ TOO MANY CONSOLE PROPERTIES 2#PQ [ 2*9B [************************************************************ 2*P2 [ 2B8L SPRSPLIT 2BN= [ 2C7W [************************************************************ 2CMG [ 2D76 [ 2DLQ [ SPLIT PROERTY NAMES IN <NAME>&<NAME> FORMAT INTO APERI/APROPS FORMAT 2F6B [ 2FL2 [ 2G5L [ X1 - BLOCK TO COPY INTO 2GK= [ X2 - LENGTH OF PROPERTY NAMES 2H4W [ X3 - PROPERTY NAMES 2HJG [ X6 - LINK 2J46 [ 2JHQ [ ALL ACCUMULATORS EXCEPT X7 DESTROYED 2K3B [ 2KH2 LDN 0 ATTMAX 2L2L STO 0 0(1) [ NO. OF NAMES 2LG= ADN 1 1 [ X1 - POSITION FOR NEXT CHAR OF PROPERTY NAME 2L^W STO 1 4 [ X4 - POSITION FOR LENGTH OF NAME 2MFG ADN 1 1 2M^6 LDN 5 0 [ X5 - LENGTH OF NAME 2NDQ WHILE 2,NZ [ CHARACTER LEFT IN NAMES 2NYB DO [ SPLIT AT & 2PD2 LDCH 0 0(3) 2PXL SBN 0 #26 2QC= IF 0,ZE [ & 2QWW THEN 2RBG LDX 1 4 2RW6 STO 5 0(1) [ LENGTH OF NAME 2S*Q ADN 1 5 [ POSITION FOR NEXT NAME 2STB ADN 4 4 2T*2 LDN 5 0 2TSL ELSE 2W#= ADN 0 #26 2WRW DCH 0 0(1) [ COPY CHAR 2X?G BCHX 1 £ 2XR6 ADN 5 1 2Y=Q FI 2YQB SBN 2 1 2^=2 BCHX 3 £ 2^PL REPEAT 329= SMO 4 32NW STO 5 0 [ LENGTH OF LAST NAME 338G EXIT 6 0 33N6 [ 347Q [ 34MB [************************************************************ 3572 [ 35LL SPRREMOVE 366= [ 36KW [************************************************************ 375G [ 37K6 [ 384Q [ REMOVE COMMON NAMES BETWEEN NEW PROPERTY RECORD /APROPS AND 38JB [ SELECTION /APROPS FROM NEW 3942 [ 39HL [ X0 - DISPLACEMENT DOWN NEW /APROPS 3=3= [ LINK X6 - SAVED IN ACOMMUNE2 3=GW [ 3?2G [ X0 -> X5 , AWORK3 & AWORK4 DESTROYED 3?G6 [ 3?^Q LDX 2 FX2 3#FB STO 0 ACOMMUNE1(2) 3#^2 STO 6 ACOMMUNE2(2) 3*DL MHUNTW 2,APERI,APROPS [ NEW PROPERTY RECORD 3*Y= HUNT2 1,APERI,APROPS,2 [ ACTION 3BCW HUNT2 1,APERI,APROPS [ SELECTION 3BXG LDX 6 A1+1(1) [ NO. OF NAMES IN SELECTION 3CC6 ADN 1 A1+2 3CWQ DO [ REMOVE SELECTION NAMES FROM NEW RECORD 3DBB MHUNTW 2,APERI,APROPS [ NEW PROPERTY RECORD 3DW2 SMO FX2 3F*L ADX 2 ACOMMUNE1 [ DISPLACEMENT TO BLOCK OF NAMES 3FT= SMO FX2 3G#W STO 1 AWORK3 3GSG LDN 5 ATTMAX [ NAMES IN NEW ( MAX. POSSIBLE ) 3H#6 DO 3HRQ IF +0(1),NZ [ NAMES NOT NULL 3J?B AND +0(2),NZ 3JR2 LDX 0 0(1) 3K=L AND 0,E,0(2) [ LENGTHS SAME 3KQ= THEN 3L9W SMO FX2 3LPG STO 2 AWORK4 3M96 WHILE TRUE 3MNQ LDCH 3 1(1) 3N8B LDCH 4 1(2) 3NN2 AND 3,E,4 3P7L DO 3PM= BCHX 1 £ 3Q6W BCHX 2 £ 3QLG REPEAT CT 0 3R66 SMO FX2 3RKQ LDX 2 AWORK4 3S5B IF 0,ZE [ NAMES SAME 3SK2 THEN 3T4L STOZ 0(2) [ DELETE NAME FROM NEW PROPERTY RECORD 3TJ= FI 3W3W FI 3WHG ADN 2 4 [ NEXT NAME - NEW 3WNN ... SMO FX2 3WTW ... LDX 1 AWORK3 3X36 REPEAT CT 5 3YG2 ADN 1 4 [ NEXT NAME - SELECTION 3Y^L REPEAT CT 6 3^F= SMO FX2 3^YW LDX 6 ACOMMUNE2 42DG EXIT 6 0 42Y6 [ 43CQ [************************************************************ 43XB [ 44C2 SPRJOIN 44WL [ 45B= [************************************************************ 45TW [ 46*G [ 46T6 [ JOIN PROPERTY NAMES IN APERI/APROPS FORMAT INTO <NAME>&<NAME> FORMAT 47#Q [ 47SB [ X2 - OUTPUT AREA 48#2 [ X3 - -> COUNT OF PROPERTY NAMES IN APERI/APROPS 48RL [ 49?= [ RESULT X4 - LENGTH OF NAMES + TRAILING & 49QW [ - MUST HAVE BEEN EXTERNALLY 4==G [ 4=Q6 [ ALL ACCS USED EXCEPT X7 - LINK X6 4?9Q [ 4?PB LDX 5 0(3) [ NO OF NAMES 4#92 ADN 3 1 [ -> LENGTH OF NAME 4#NL WHILE 5,NZ [ MORE PROPERTIES 4*8= DO 4*MW LDX 0 0(3) 4B7G IF 0,NZ [ NON NULL NAME 4BM6 THEN 4C6Q LDN 1 1(3) 4CLB SMO 0 4D62 MVCH 1 0 [ COPY NAME 4DKL ADX 4 0 [ UPDATE COUNT 4F5= ADN 4 1 4FJW LDN 0 #26 4G4G DCH 0 0(2) [ INSERT & 4GJ6 BCHX 2 £ 4H3Q FI 4HHB ADN 3 4 4J32 REPEAT CT 5 4JGL EXIT 6 0 4K2= [ 4KFW [ 4K^G [************************************************************ 4LF6 [ 4LYQ SPROPNOS 4MDB [ 4MY2 [************************************************************ 4NCL [ 4NX= #DEF WOLDPERM = A1+1 4PBW #DEF WOLDTEMP = ATTMAX*4+2 + WOLDPERM 4PWG #DEF WACTPERM = ATTMAX*4+2 + WOLDTEMP 4QB6 #DEF WACTTEMP = ATTMAX*4+2 + WACTPERM 4QTQ [ 4R*B [ SET UP APERI/APROPNOS BLOCK FOR NEW COMBINATION OF PROPERTIES 4RT2 [ 4S#L [ ALL ACCUMULATORS USED - LINK X7 4SS= [ 4T?W SBX 7 FX1 4TRG SETNCORE ATTMAX*4+2*4,1,APERI,APROPS [ FOR NAMES OF NEW COMBINATION 4W?6 STOZ WOLDPERM(1) [ INITIALISE BLOCK - NO. OF NAMES = 0 4WQQ STOZ WOLDTEMP(1) 4X=B STOZ WACTPERM(1) 4XQ2 STOZ WACTTEMP(1) 4Y9L LDN 6 ATTMAX 4YP= DO [ INITIALISE BLOCK - LENGTH OF ALL NAMES = 0 4^8W STOZ WOLDPERM+1(1) 4^NG STOZ WOLDTEMP+1(1) 5286 STOZ WACTPERM+1(1) 52MQ STOZ WACTTEMP+1(1) 537B ADN 1 4 53M2 REPEAT CT 6 546L SETNCORE ATTMAX*17+4/4+7,1,APERI,APROPNOS [ FOR NEW COMBINATION 54L= STOZ CPROPNO(1) [ INITIALISE - NO PROPERTIES 555W STOZ BPROPCNT(1) 55KG LDN 6 ATTMAX 5656 DO [ INITIALISE - ALL PROPERTY NO.S = 0 56JQ STOZ BPROPS(1) 574B ADN 1 1 57J2 REPEAT CT 6 583L MHUNTW 2,ADATA,AWHATLIST 58H= IF BS,2,AWLBPRPARAM [ SELECTION PROPERTY PARAMETER 592W STEPAGAIN 59GG AND BS,3,BLFRPROPREC [ PROPERTY RECORD 5=26 THEN 5=FQ STEP 5=^B MHUNTW 2,ADATA,AWHATLIST 5?F2 MHUNTW 1,APERI,APROPNOS 5?YL LDN 5 0 [ NO. OF PROPERTY NO.S RETAINED FOR NEW 5#D= LDN 6 0 5#XW WHILE 6,L,BPROPCNT-A1(3) [ MORE PROPERTIES IN ORIGINAL 5*CG DO [ COPY RELEVENT PROPERTY NO.S INTO /APROPNOS 5*X6 SMO 6 5BBQ LDX 4 BPROPS-A1(3) 5BWB LDX 0 AWLPRCNT(2) 5CB2 WHILE 0,NZ 5CTL SMO 0 5D*= AND 4,U,AWLPRNO-1(2) 5DSW DO 5F#G REPEAT CT 0 5FS6 IF 0,ZE [ NUMBER NOT ONE SELECTION PROPERTIES 5G?Q LDX 0 4 5GRB ANDX 0 BSP16 5H?2 AND 0,U,AWLCONS(2) 5HQL THEN [ COPY INTO NEW 5J== SMO 5 5JPW STO 4 BPROPS(1) 5K9G ADN 5 1 5KP6 FI 5L8Q ADN 6 1 5LNB REPEAT 5M82 STO 5 BPROPCNT(1) 5MML IF +AWLCONS(2),ZE [ NO CONSOLE PROPERTY IN SELECTION 5N7= THEN 5NLW LDX 0 CPROPNO-A1(3) [ COPY IN CONSOLE PROPERTY 5P6G STO 0 CPROPNO(1) 5PL6 FI 5Q5Q [ SPLIT NAMES AND COPY INTO APERI/APROPS 5QKB MHUNTW 1,APERI,APROPS 5R52 ADN 1 WOLDPERM 5RJL LDX 2 CHPERM-A1(3) 5S4= ADX 3 ADPERM-A1(3) 5SHW SBN 3 A1 5T3G CALL 6 SPRSPLIT 5TH6 STEPAGAIN 5W2Q MHUNTW 1,APERI,APROPS 5WGB ADN 1 WOLDTEMP 5X22 LDX 2 CHTEMP-A1(3) 5XFL ADX 3 ADTEMP-A1(3) 5X^= SBN 3 A1 5YDW CALL 6 SPRSPLIT 5YYG BACKSPACE 5^D6 [ REMOVE NAMES NOT REQUIRED IN NEW 5^XQ MHUNTW 2,ADATA,AWHATLIST 62CB IF BS,2,AWLBPROP [ SELECTION PROPERTIES OTHER THAN CENTRAL 62X2 THEN 63BL LDN 0 WOLDPERM+1 63W= CALL 6 SPRREMOVE 64*W LDN 0 WOLDTEMP+1 64TG CALL 6 SPRREMOVE 65*6 FI 65SQ FI 66#B [ ACTION CONSOLE PROPERTY NUMBER AND NAME INTO NEW RECORD 66S2 LDN 0 A1+2 [ DISPLACEMENT FOR NON-CONSOLE 67?L SMO FX2 [ PROPERTY NAMES 67R= STO 0 AWORK1 [ IN ACTION /APROPS 68=W MHUNTW 2,APERI,APRNUM 68QG IF +A1+1(2),NZ [ ACTION CONSOLE PROPERTY 69=6 THEN 69B3 ... LDN 0 4 69FY ... SMO FX2 69KT ... ADS 0 AWORK1 [INCREMENT DISPLACEMENT 69PQ MHUNTW 1,APERI,APROPNOS 6=9B IF +CPROPNO(1),ZE [ NO UNSELECTED CONSOLE PROPERTY 6=P2 THEN [ COPY ACTION CONSOLE PROP INTO NEW 6?8L LDXC 0 A1+1(2) 6?N= BCS £ 6#7W STO 0 CPROPNO(1) 6#MG IF 0,NZ [ NOT CENTRAL 6*76 THEN 6*LQ SMO BPROPCNT(1) 6B6B STO 0 BPROPS(1) 6BL2 LDN 0 1 6C5L ADS 0 BPROPCNT(1) 6CK= MHUNTW 3,APERI,APROPS [ NEW 6D4W HUNT2 2,APERI,APROPS,3 [ ACTION 6DJG LDN 0 1 6F46 STO 0 WACTPERM(3) 6FHQ ADN 2 A1+2 6G3B ADN 3 WACTPERM+1 6GH2 MOVE 2 4 6H2L FI 6J^6 ELSF TRUE [ UNSELECTED CONSOLE PROP 6KDQ LDXC 0 A1+1(2) 6KYB BCS £ 6LD2 AND 0,U,CPROPNO(1) [ UNEQUAL TO ACTION CONSOLE PROP 6LXL THEN 6MC= MFREE APERI,APROPNOS 6MWW MFREE APERI,APROPS 6NBG CALL 7 SOUTNULL [ NULL COMMAND IDENTIFICATION PARAMETERS 6NW6 CALL 7 SOUTNULL 6P*Q MHUNT 3,GMON,ASET 6PTB NAMETOP 3,ADATA,CSTORE [ SAVE MESSAGE BLOCK 6Q*2 BC 2,CLONG1*BITMULT+2 6QSL LDX 0 PERTMCONS(1) [ ERROR - TOO MANY CONSOLE PROPERTIES 6R#= STO 0 ACOMMUNE1(2) 6RRW SETREP2 WRONG 6S?G UPPLUS 1 6SR6 [------------ 6T=Q FI 6TQB FI 6W=2 [ ACTION NON-CONSOLE PROPERTIES INTO NEW RECORD IF NOT ALREADY THERE 6WPL MHUNTW 2,APERI,APROPNOS 6X9= MHUNTW 1,APERI,APRNUM 6XNW LDN 6 0 6Y8G WHILE 6,L,A1(1) [ MORE ACTION PROPERTIES 6YN6 DO 6^7Q SMO 6 6^MB LDX 4 A1+2(1) [ ACTION NUMBER 7272 LDX 5 BPROPCNT(2) [ NO OF PROPERTIES ALREADY IN NEW 72LL WHILE 5,NZ [ MORE NEW PROPERTIES 736= SMO 5 73KW AND 4,U,BPROPS-1(2) [ PROPERTY NO.S UNEQUAL 745G DO 74K6 REPEAT CT 5 754Q IF 5,ZE [ NOT ALREADY IN NEW RECORD 75JB THEN 7642 LDX 0 BPROPCNT(2) 76HL SBN 0 ATTMAX 773= IF 0,PZ [ ALREADY ATTMAX PROPERTIES IN NEW 77GW THEN 782G MFREE APERI,APROPNOS 78G6 MFREE APERI,APROPS 78^Q CALL 7 SOUTNULL [ NULL COMMAND IDENTIFICATION PARAMETERS 79FB CALL 7 SOUTNULL 79^2 MHUNT 3,GMON,ASET 7=DL NAMETOP 3,ADATA,CSTORE [ SAVE MESSAGE BLOCK 7=Y= BC 2,CLONG1*BITMULT+2 7?CW LDX 0 PERTMANY(1) [ ERROR - TOO MANY PROPERTIES 7?XG STO 0 ACOMMUNE1(2) 7#C6 SETREP2 WRONG 7#WQ UPPLUS 1 7*BB [------------ 7*W2 ELSE 7B*L SMO BPROPCNT(2) 7BT= STO 4 BPROPS(2) 7C#W LDN 0 1 7CSG ADS 0 BPROPCNT(2) 7D#6 STO 2 5 [ SAVE -> /APROPNOS 7DRQ MHUNTW 3,APERI,APROPS [ NEW 7F?B HUNT2 2,APERI,APROPS,3 [ ACTION 7FR2 SLL 4 1 7G=L IF 4,NG [ PERMANENT PROPERTY 7GQ= THEN 7H9W LDX 0 WACTPERM(3) 7HPG ADN 0 1 7J96 STO 0 WACTPERM(3) 7JNQ SLL 0 2 7K8B ADN 0 WACTPERM-3 7KN2 ELSE 7L7L LDX 0 WACTTEMP(3) 7LM= ADN 0 1 7M6W STO 0 WACTTEMP(3) 7MLG SLL 0 2 7N66 ADN 0 WACTTEMP-3 7NKQ FI 7P5B ADX 3 0 7PK2 LDX 0 6 7Q4L SLL 0 2 7QJ= ADX 2 0 7R3W SMO FX2 7RHG ADX 2 AWORK1 [ ADD DISPLACEMENT TO ALLOW FOR CONSOLE PR 7S36 MOVE 2 4 [ COPY PROPERTY NAME INTO NEW 7SGQ LDX 2 5 [ RESET -> /APROPNOS 7T2B FI 7TG2 FI 7T^L ADN 6 1 7WF= REPEAT 7WYW [ PUT NAMES INTO /APROPNOS 7XDG MHUNTW 2,APERI,APROPNOS 7XY6 LDX 0 BPROPCNT(2) 7YCQ IF 0,ZE [ /APROPNOS NULL 7YXB THEN 7^C2 FREECORE 2 [ FREE IT 7^WL ELSE 82B= MHUNTW 3,APERI,APROPS [ COPY PROPERTY NAMES IN 82TW SMO FX2 83*G STO 2 AWORK3 83T6 SMO FX2 84#Q STO 3 AWORK4 84SB [ PERMANENT 85#2 LDX 4 BPROPCNT(2) 85RL ADN 4 BPROPS 86?= STO 4 ADPERM(2) [ POINTERS TO PERMANENT NAMES 86QW ADX 2 4 87=G ADN 3 WOLDPERM 87Q6 STOZ 4 [ LENGTH OF JOINED NAMES 889Q CALL 6 SPRJOIN 88PB SMO FX2 8992 LDX 3 AWORK4 89NL ADN 3 WACTPERM 8=8= CALL 6 SPRJOIN 8=MW SMO FX2 8?7G LDX 2 AWORK3 8?M6 SBN 4 1 8#6Q IF 4,NG [ NO PERMANENT PROPERTIES 8#LB THEN 8*62 STOZ CHPERM(2) 8*KL STOZ ADPERM(2) 8B5= ELSE 8BJW STO 4 CHPERM(2) [ LENGTH OF NAMES 8C4G FI 8CJ6 [ TEMPORARY 8D3Q ADN 4 BPROPS*4+3 8DHB SRL 4 2 8F32 ADX 4 BPROPCNT(2) 8FGL STO 4 ADTEMP(2) [ POINTERS TO TEMPORARY NAMES 8G2= ADX 2 4 8GFW SMO FX2 8G^G LDX 3 AWORK4 8HF6 ADN 3 WOLDTEMP 8HYQ STOZ 4 [ LENGTH OF JOINED NAMES 8JDB CALL 6 SPRJOIN 8JY2 SMO FX2 8KCL LDX 3 AWORK4 8KX= ADN 3 WACTTEMP 8LBW CALL 6 SPRJOIN 8LWG SMO FX2 8MB6 LDX 2 AWORK3 8MTQ SBN 4 1 8N*B IF 4,NG [ NO TEMPORARY PROPERTIES 8NT2 THEN 8P#L STOZ CHTEMP(2) 8PS= STOZ ADTEMP(2) 8Q?W ELSE 8QRG STO 4 CHTEMP(2) [ LENGTH OF NAMES 8R?6 FI 8RQQ [ CONTRACT /APROPNOS 8S=B LDX 0 CHPERM(2) 8SQ2 ADN 0 3 8T9L SRL 0 2 8TP= LDX 6 0 8W8W LDX 0 CHTEMP(2) 8WNG ADN 0 3 8X86 SRL 0 2 8XMQ ADX 6 0 8Y7B ADX 6 BPROPCNT(2) 8YM2 ADN 6 BPROPS-A1 8^6L STO 6 A1(2) [ RECORD HEADER 8^L= ADN 6 A1 925W ALTLEN 2,6 92KG FI 9356 MFREE APERI,APROPS [ NEW /APROPS 93JQ ADX 7 FX1 944B EXIT 7 0 94J2 [ 953L [************************************************************ 95H= [ 962W STEPWRITE 96GG [ 9726 [************************************************************ 97FQ [ 97^B [ 98F2 [ ENSURE ALTERED RECORD IN :SYSTEM.OUTPUT IS WRITTEN AWAY 98YL [ 99D= [ X3 -> ALTERED RECORD 99XW [ ACCS X0,X1,X2 USED - LINK X5 9=CG [ 9=X6 SBX 5 FX1 9?BQ STEPWRITE 9?WB ADX 5 FX1 9#B2 EXIT 5 0 9#TL [ 9**= [************************************************************ 9*SW [ 9B#G SOUTNULL 9BS6 [ 9C?Q [************************************************************ 9CRB [ 9D?2 [ 9DQL [ OUTPUT NULL PARAMETER TO MEESSAGE BLOCK 9F== [ 9FPW [ LINK X7 9G9G [ 9GF# ... SBX 7 FX1 9GP6 OUTPACK 7,0,NULL 9GYY ... ADX 7 FX1 9H8Q EXIT 7 0 9HNB [ 9J82 [************************************************************ 9JML [ 9K7= SPERI 9KLW [ 9L6G [************************************************************ 9LL6 [ 9M5Q [ 9MKB [ CHECK IF PERIPHERAL WITH REQUISITE PROPERTIES IS AVAILABLE 9N52 [ IF YES THEN PUT GOUT/CHANGE BLOCK ON LFCHAIN 9NJL [ AND PUT NEW PROPERTY RECORD IN ENTRY 9P4= [ 9PHW [ ALL ACCS USED - LINK X7 9Q3G [ 9QH6 SBX 7 FX1 9R2Q STEPAGAIN 9RGB LDX 0 GOPTY-A1(3) 9S22 STO 0 ACOMMUNE7(2) [ PERIPHERAL TYPE REQUIRED 9SFL DOWN GETFREE,11 [ "ISPER" 9S^= UP [ BREAKIN 9TDW NULL 9TYG IF REP2,OK [ REPLY OK 9WD6 THEN 9WXQ STEPAGAIN 9XCB IF MBAC,3,BLFRNAV,BLFRSETNAV [ REQUEST IS IMPLEMENTABLE 9XX2 THEN 9YBL BS 3,BLFRPFREE [ REPLY TO ISPER WAS OK 9YW= SETNCORE 2,1,GOUT,CHLIST 9^*W STEPAGAIN 9^TG MHUNTW 1,GOUT,CHLIST =2*6 LDX 0 GOUTKEY1-A1(3) =2SQ STO 0 A1(1) =3#B LDX 0 GOUTKEY2-A1(3) =3S2 STO 0 A1+1(1) =4?L LFCHAIN GOUT,CHLIST =4R= STARTACT OUT =5=W FI =5QG CALL 6 SPROPREC [ PUT PROPERTY RECORD IN ENTRY =6=6 ELSF RPN2,NOTAV [ REPLY NOT NOTAV =6PQ AND RPN2,WRNG [ REPLY NOT WRNG =79B THEN =7P2 [ =88L SEGENTRY K90WLE [ LFDBAID =8N= [ =97W LDN 0 1 [ 1 = OFF 0 = ON =9MG IF 0,ZE [ LFDBAID ON ==76 THEN ==LQ IF EITHER,REP2,NOPROP [ REPLY NOPROP =?6B OR REP2,PERMEXCL [ REPLY PERMEXCL =?L2 THEN =#5L HUNTW 3,APERI,APROPNOS =#K= IF EITHER,3,NG [ NO CONSOLE PROPERTY =*4W OR +CPROPNO(3),ZE =*JG THEN =B46 LDN 0 0 =BHQ ELSE =C3B LDN 0 1 =CH2 FI =D2L ELSE =DG= LDN 0 1 =D^W FI =FFG FI =F^6 IF 0,ZE [ LFDBAID ON AND REPLY ( NOPROP OR PERMEXCL ) AND =GDQ THEN =GYB CALL 6 SPROPREC [ PUT NEW PROPERTY RECORD IN ENTRY =HD2 ELSE =HXL IF REP2,NOPROP =JC= THEN =JWW OUTPACK ACOMMUNE8(2),1,PROPS =KBG LDX 6 PERNOPROP(1) =KW6 ELSF REP2,NOPER =L*Q THEN =LTB CALL 7 SOUTNULL =M*2 LDX 6 PERPERNA(1) =MSL ELSE [ ASSUME REPLY = PERMEXCL =N#= LDX 6 PEREXCL(1) =NRW FI =P?G CALL 7 SOUTNULL [ NULL COMMAND IDENTIFICATION PARAMETERS =PR6 CALL 7 SOUTNULL =Q=Q MHUNT 1,GMON,ASET =QQB NAMETOP 1,ADATA,CSTORE [ SAVE MESSAGE BLOCK =R=2 BC 2,CLONG1*BITMULT+2 =RPL VFREE APERI,APROPNOS [ FREE ERRONEOUS /APROPNOS ( IF EXIST =S9= STO 6 ACOMMUNE1(2) =SNW SETREP WRONG =T8G UPPLUS 1 =TN6 [------- =W7Q FI =WMB ELSE =X72 CALL 6 SPROPREC [ PUT PROPERTY RECORD IN ENTRY =XLL FI =Y6= ADX 7 FX1 =YKW EXIT 7 0 =^5G [ =^K6 [************************************************************ ?24Q [ ?2JB SPROPREC ?342 [ ?3HL [************************************************************ ?43= [ ?4GW [ ?52G [ PUT NEW PROPERTY RECORD IN ENTRY ?5G6 [ ?5^Q [ ALL ACCS USED EXCEPT X4,X7 - LINK X6 ?6FB [ :SYSTEM.OUTPUT LEFT AT FIRST RECORD OF ENTRY ?6^2 [ ?7DL SBX 6 FX1 ?7Y= STEPAGAIN ?8CW HUNTW 2,APERI,APROPNOS ?8XG IF 2,PZ [ NEW PROPERTY RECORD ?9C6 THEN ?9WQ NAME 2,FILE,FWB ?=96 ... CALL 5 STEPWRITE [ ENSURE BLOCK WRITTEN AWAY ?=?Q ... STOZ GCOUNT-A1(3) [ CLEAR WAIT AFTER CD ATTRIBUTE ?=BB IF BS,3,BLFRPROPREC [PROPERTY RECORD ?=W2 THEN ??*L STEP [ TO PROPERTY RECORD ??T= REPLACE [ IT ?##W ELSE ?#SG BS 3,BLFRPROPREC [ SET PROPERTY RECORD IN ENTRY ?*RQ STEP [ BEYOND PLACE FOR PROPERTY RECORD ?B?B INSERT [ PROPERTY RECORD ?BR2 BACKSPACE ?C=L FI ?CQ= MHUNTW 2,FILE,FWB ?D9W NAME 2,APERI,APROPNOS [ SAVE BLOCK IN CASE CAN BE USED FOR N ?DPG BACKSPACE ?F96 ELSF BS,3,BLFRPROPREC [ PROPERTY RECORD IN ENTRY ?FNQ THEN ?GN2 CALL 5 STEPWRITE [ ENSURE BLOCK WRITTEN AWAY ?GT8 ... BC 3,BLFRPROPREC [ CLEAR PROPERTY RECORD IN ENTRY ?H2B ... STOZ GCOUNT-A1(3) [ CLEAR WAIT AFTER CD ATTRIBUTE ?H7L STEP [ TO PROPERTY RECORD ?HM= DELETE [ IT ?J6W FI ?JLG ADX 6 FX1 ?K66 EXIT 6 0 ?KKQ [ ?L5B [ ?LK2 [ WW WW W ?M4L [ WW WW WW ?MJ= [ WW WW WWW ?N3W [ WWWW WW ?NHG [ WWWWW WW ?P36 [ WW WW WW ?PGQ [ WW WW WW ?Q2B [ WW WW WW ?QG2 [ ?Q^L [ ?RF= WLEK1 ?RYW [ ?SDG [************************************************************ ?SY6 [ ?TCQ [ CHANGELIST PROPERTY ACTION - CALLED BY WLD ?TXB [ ?WC2 [************************************************************ ?WWL [ ?XB= [ ?XTW MHUNTW 2,ADATA,AWHATLIST ?Y*G IF BS,2,AWLBPRPARAM [ SELECTION PROPERTY PARAMETER ?YT6 THEN ?^#Q CALL 7 SPROPNOS [ SETUP APERI/APROPNOS BLOCK ?^SB CALL 7 SPERI [ CHECK IF PERIPHERAL AVAILABLE #2#2 [ AND UPDATE PROPERTY RECORD #2RL VFREE APERI,APROPNOS #3?= ELSE #3QW HUNTW 1,APERI,APROPNOS #4=G IF 1,PZ [ APERI/APROPNOS ALREADY SET UP #4Q6 THEN #59Q IF BC,2,AWLBPERI [ MAY BE FOR DIFFERENT PERI TYPE #5PB THEN #692 CALL 7 SPERI [ CHECK IF PERIPHERAL AVAILABLE #6NL [ AND UPDATE PROPERTY RECORD #78= ELSE #7MW CALL 6 SPROPREC [ UPDATE PROPERTY RECORD #87G FI #8M6 ELSE #96Q IF TRUE #9LB MHUNTW 1,APERI,APRNUM #=62 AND EITHER,+A1+1(1),U,GSIGN [ ACTION PROPERTIES OTHER TH #=KL OR +A1(1),NZ #?5= THEN #?JW CALL 7 SPROPNOS [ SETUP APERI/APROPNOS BLOCK ##4G FI ##J6 CALL 7 SPERI [ CHECK IF PERIPHERAL AVAILABLE #*3Q [ AND UPDATE PROPERTY RECORD #*HB FI #B32 FI #B=S ... SETREP OK #BGL UPPLUS 1 #C2= [ #CFW #END ^^^^ ...014726700007