14 22FL ...#SEG GETFREEB [R.WEYAND 8 22_= ...#OPT K0GETFREEB=0 11 23DW ...#LIS K0GETFREEB>K0PERI>K0ALLGEO 4 23YG ...# 10 24D6 ... 8HGETFREEB 4 24XQ ...# 21 25CB ...# THIS SEGMENT IMPLEMENTS K3GETFREE(SETPROP) ON BEHALF OF GETFREE 4 25X2 ...# 8 26BL ...# ENTRY POINTS 4 26W= ...# 12 27*W ... SEGENTRY K1GETFREEB,X1GETFREEB 4 27TG ...# 6 2D9P ...#UNS FLLP4B 4 2D## ...( 5 2DBX ...XACTLFC 8 2DFG ...#HAL ACTLF+CENTRAL,0 4 2DJ5 ...) 7 2F3P ...#UNS G3SIGNET 17 2FH* ... +JMEEP [MEEP USING %A ON %B 18 2HJG TABMESS [MESSAGE IDENTIFIER TABLE 15 2J46 +0 [NO MESSAGE 16 2JHQ +FREEPROP1 [PLEASE FREE .... 16 2K3B +ATTPROP2 [PLEASE AU ...... 19 2KH2 +FREEPROP2 [PLEASE FREE ... AND AU .... 6 2L2L XPROPNAME 21 2LG= # THIS SUBROUTINE BUILDS UP A LIST OF PROPERTY NAMES IN AN ADATA, 17 2L_W # CSTORE BLOCK. IT RECEIVES THE PROPERTY NAME IN X7 7 2MFG # LINK IN X5 8 2M_6 SBX 5 FX1 18 2NDQ ... APROPNAM 7,0,XPRNO [CONVERT PR NO TO PR NAME 18 2NYB ...XPRNO LDN 3 ACOMMUNE1(2) [SET X3 -> PROPERTY NAME 7 2T*2 LDX 2 3 19 2TSL ADN 2 3 [X2 PRINTS TO LAST WORD +1 4 2W#= XHCB 7 2WRW SLC 2 2 17 2X?G SBN 2 1 [REVERSE BCHX ON X-2 7 2XR6 SRC 2 2 8 2Y=Q LDCH 0 0(2) 8 2YQB SBN 0 #20 15 2_=2 BZE 0 XHCB [BR IF SPACE 7 2_PL SLL 3 2 7 329= SLC 2 2 7 32NW SBX 2 3 7 338G SRL 3 2 20 33N6 ADN 2 1 [X2=NO OF SIGNIFICANT CHARACTERS 11 347Q MHUNTW 1,ADATA,CSTORE 7 34MB LDX 7 1 21 3572 ADX 1 A1(1) [X1 POINTS TO FIRST FREE CHARACTER 7 35LL LDX 0 3 20 366= SMO 2 [MOVE PROPERTY INTO ADATA,CSTORE 7 36KW MVCH 0 0 8 375G LDN 0 #26 15 37K6 DCH 0 0(1) [INSERT '&' 7 384Q BCHX 1 / 7 38JB SBX 1 7 7 3942 SMO 7 20 39HL STO 1 A1 [STORE ADDRESS OF NEXT FREE CHAR 18 3=3= REWIND [REWIND :SYSTEM.PROPERTY 8 3=GW ADX 5 FX1 8 3?2G BRN (5) 4 3?G6 # 4 3?_Q OPEN 13 3#FB # SUBROUTINE OPENS :SYSTEM.PROPERTY 7 3#_2 # LINK INX5 8 3*DL SBX 5 FX1 12 3*Y= OPENSYS XBRKIN,PROPERTY,READ 8 3J?B ADX 5 FX1 8 3JR2 BRN (5) 4 3K=L # 4 3KQ= # 6 4X=B SCLOSETOP 15 4XQ2 # THIS SUBROUTINE CLOSES :SYSTEM.PROPERTY 7 4Y9L # LINK IN X7 8 4YP= SBX 7 FX1 18 4_8W CLOSETOP [CLOSE :S0STEM.PROPERTY 8 4_NG ADX 7 FX1 8 5286 BRN (7) 4 52MQ # 6 583L SCHECKATT 20 58H= # THIS SUBROUTINE BUZZES AROUND THE APIA POINTED AT BY X1, AND 20 592W # CHECKS THE PROPERTIES ATTRIBUTED AND REQUESTED IN THE APROPNOS 20 59GG # BLOCK. THE MASTER MARKER IS UPDATED TO REFLECT THE SUITABILITY 13 5=26 # OF THE DEVICE UNDER INVESTIGATION. 7 5=FQ # LINK IN X7 21 5=_B LDN 5 0 [INITIALIASE MARKER FOR THIS DEVICE 19 5?F2 LDN 4 0 [RELATIVE POINTER DOWN APIA 5 5?YL XLOOP 7 5#D= SMO 4 20 5#XW LDXC 0 APERPROP(1) [LOAD 1ST/NEXT PROPERTY (LOSE B0) 17 5*CG BZE 0 PROPEND [BR IF NONE/NO MORE 19 5*X6 BNG 3 NONWANTED [BR IF NO PROPERTIES REQUIRED 18 5BBQ LDX 6 BPROPCNT(3) [ELSE GET COUNT OF THEM 4 5BWB R1 7 5CB2 SMO 6 21 5CTL TXU 0 BPROPS-1(3) [COMPARE REQUESTS AND ATTRIBUTIONS 18 5D*= BCC WANTED [BR IF THIS ONE WANTED 15 5DSW BCT 6 R1 [COUNT DOWN 6 5F#G NONWANTED 11 5FS6 # THIS PROPERTY IS NOT WANTED 7 5G?Q SMO 4 10 5GRB LDXC 0 APERPROP(1) 18 5H?2 BCC WILLDO [BR IF PROPERTY INCLUSIVE 7 5HQL SLL 0 1 19 5J== BPZ 0 TEMP [BR IF TEMPORARY/EXCLUSIVE 20 5JPW ORN 5 4 [ELSE SET P/E NOT REQUIRED MARKER 19 5K9G BRN WILLDO [AND BR TO DO NEXT PROPERTY 4 5KP6 TEMP 19 5L8Q ORN 5 32 [SET T/E NOT REQUIRED MARKER 15 5LNB BRN WILLDO [AND CARRY ON 5 5M82 WANTED 8 5MML LDCT 0 256 21 5N7= SMO 6 [MARK PROPERTY AS BEING ATTRIBUTED 16 5NLW ORS 0 BPROPS-1(3) [TO THIS DEVICE 5 5P6G WILLDO 20 5PL6 ADN 4 1 [STEP POINTER DOWN PROPERTY LIST 21 5Q5Q LDN 0 ATTMAX+1 [TEST IF REACHED MAXIMUM NUMBER OF 20 5QKB TXL 4 0 [DEVICE ATTRIBUTIONS PERMITTED 15 5R52 BCS XLOOP [BR IF NOT 5 5RJL PROPEND 19 5S4= BNG 3 NONREQ [BR IF NO PROPERTIES REQUIRED 18 5SHW LDX 4 BPROPCNT(3) [ELSE GET COUNT OF THEM 5 5T3G RLOOP 7 5TH6 SMO 4 20 5W2Q LDXC 0 BPROPS-1(3) [TEST IF PROPERTY ATTRIBUTED TO 17 5WGB BCS XATT [DEVICE - BR IF YES 7 5X22 SLL 0 1 16 5XFL BPZ 0 XTEMP [BR IF TEMPORARY 19 5X_= ORN 5 2 [ELSE SET PERM NOT GOT MARKER 7 5YDW SRL 0 1 20 5YYG ANDX 0 BITS22LS [STORE MISSING PERMANENT PROPERTY 15 5_D6 SMO FX2 [IN ACOMMUNE8 9 5_XQ STO 0 ACOMMUNE8 8 62CB BRN R2 5 62X2 XTEMP 18 63BL ORN 5 32 [SET TEMP NOT GOT MARKER 8 63W= BRN R2 4 64*W XATT 19 64TG SMO 4 [CLEAR B0 OF THIS ENTRY IN 16 65*6 STO 0 BPROPS-1(3) [APROPNOS BLOCK 4 65SQ R2 18 66#B BCT 4 RLOOP [COUNT DOWN AND PROCEED 5 66S2 NONREQ 13 67?L BRN (7) [EXIT 4 67R= # 7 67RD ...#UNS G3SIGNET 4 67RL ...( 6 67RS ...SCHECKMEEP 20 67S2 ...# THIS SUBROUTINE TESTS IF THE MEEP LP IS REQUIRED AND EXISTS 21 67S8 ...# ON ENTRY : X3 -> APERI/APROPNOS BLOCK ; EXITS +0 WITH X1 -> MEEP 21 67SB ...# LP DEVICE LIST AND B0 SET IN AWORK4 IF TRUE ; EXITS +1 IF FALSE 18 67SJ ...# REPLIES NOTAV IF MEEP LP IS REQUIRED BUT DOESN'T EXIST 7 67SQ ...# LINK IN X7 17 67SY ... LDX 0 AWORK4(2) [TEST IF LP REQUIRED 8 67T6 ... ANDN 0 #77 7 67T# ... SBN 0 2 16 67TG ... BNZ 0 SMEEPEX [LP NOT REQUIRED 17 67TN ... LDCT 6 #400 [FOR 'TWOMEEPS' CHECK 21 67TW ... LDX 4 BPROPCNT(3) [TEST IF A MEEP PROPERTY IS REQUIRED 5 67W4 ...SMEEP1 7 67W= ... SMO 4 10 67WD ... LDX 0 BPROPS-1(3) 7 67WL ... SLL 0 9 21 67WS ... BPZ 0 SMEEP2 [NOT A MEEP PROPERTY NO.(B9 UNSET) 21 67X2 ... LDX 0 CPROPNO(3) [TEST IF A CONSOLE PROP ALSO REQUIRED 20 67X8 ... BNZ 0 XMEEP [NOT PERMITTED WITH MEEP PROPERTY 21 67XB ... BPZ 6 TWOMEEPS [MORE THAN ONE MEEP PROPERTY REQUIRED 10 67XJ ... LDX 6 ASIGNETPTR 21 67XQ ... BZE 6 SMEEP2 [MEEP LP DOESN'T EXIST BUT CHECK FOR 15 67XY ... ['TWOMEEPS' 20 67Y6 ... STO 6 1 [SET X1 -> MEEP LP DEVICE LIST 21 67Y# ... LDCT 0 #400 [SET B0 OF AWORK4 TO INDICATE THAT 21 67YG ... ORS 0 AWORK4(2) [THE MEEP LP IS REQUIRED AND EXISTS 5 67YN ...SMEEP2 18 67YW ... BCT 4 SMEEP1 [TEST NEXT PROPERTY NO. 21 67_4 ... BZE 6 NOTAV [MEEP LP REQUIRED BUT DOESN'T EXIST 21 67_= ... BPZ 6 (7) [MEEP LP IS REQUIRED&EXISTS: EXIT +0 5 67_D ...SMEEPEX 20 67_L ... EXIT 7 1 [MEEP LP IS NOT REQUIRED: EXIT+1 4 67_S ...# 6 6822 ...TESTIFMEEP 21 6828 ...# THIS SUBROUTINE TESTS IF THE DEVICE OWNED BY THE CURRENT ACTIVITY 21 682B ...# IS THE MEEP(SIGNET) LINE PRINTER : EXITS +0 IF TRUE; EXITS +1 IF 6 682J ...# FALSE 7 682Q ...# LINK IN X7 8 682Y ... SMO FX2 8 6836 ... LDX 0 CPPTR 17 683# ... BZE 0 TMEEPEX [REMOTE DEVICE OWNED 18 683G ... BXE 0 ASIGNETPTR,(7) [MEEP LP OWNED : EXIT +0 5 683N ...TMEEPEX 7 683W ... EXIT 7 1 4 6844 ...# 6 684= ...SCHECKMDEV1 18 684D ... HUNTW 3,APERI,APROPNOS [SETS X3 FOR SCHECKMDEV 16 684L ... BNG 3 (5) [MUST BE REMOTE 6 684S ...SCHECKMDEV 21 6852 ...# THIS SUBROUTINE CHECKS THAT IF THE MEEP LP IS OWNED,THE REQUEST 21 6858 ...# NEEDS IT AND THAT IF THE MEEP LP IS NOT OWNED,THE REQUEST DOESN'T 7 685B ...# NEED IT 21 685J ...# ON ENTRY : X3 -> APERI/APROPNOS BLOCK ; IF CHECKS OK THE S/R EXITS 13 685Q ...# ELSE THE REPLY PERMEXCL IS GIVEN 7 685Y ...# LINK IN X5 21 6866 ... LTYPE ,0 [SET DEV TYPE IN AWK4 FOR SCHECKMEEP 9 686# ... STO 0 AWORK4(2) 21 686G ... LDN 1 0 [NOTE X1 WILL ONLY BE CHANGED IF MEEP 19 686N ... [LP IS REQUIRED AND EXISTS 10 686W ... CALL 7 SCHECKMEEP 20 6874 ... BRN SCMO [MEEP LP IS REQUIRED AND EXISTS 21 687= ... CALL 7 TESTIFMEEP [MEEP LP NOT REQUIRED : TEST IF OWNED 21 687D ... BRN PERMEXCL [NOT REQUIRED BUT OWNED:NO ACCORDANCE 7 687L ... EXIT 5 0 18 687S ...SCMO SBX 1 CPPTR(2) [CHECK IF MEEP LP OWNED 21 6882 ... BNZ 1 PERMEXCL [REQUIRED BUT NOT OWNED:NO ACCORDANCE 7 6888 ... EXIT 5 0 4 688B ...# 4 688J ...) 5 68=W XYFREE1 21 68QG # THIS SUBROUTINE FREES THE ADATA,ADEMAND BLOCK AND THE GMON,AOUT BLOCK 15 69=6 # ENTRY XYFREE2 ONLY FREES THE GMON,AOUT BLOCK 7 69PQ # LINK IN X7 10 6=9B VFREEW ADATA,ADEMAND 5 6=P2 XYFREE2 9 6?8L VFREEW GMON,AOUT 8 6?N= LDCT 0 #100 9 6#7W ORS 0 CLONG1(2) 9 6#MG ERS 0 CLONG1(2) 17 6*76 VFREEW GMON,ASET [FREE GMON,ASET BLOCK 8 6*LQ BRN (7) 4 6B6B # 20 8W8W XBRKIN [BREAK IN WHILE OPENING SYS.PROP 10 8WNG MFREE FILE,FABSNB 10 8X86 MFREEW APERI,APROPS 11 8XMQ MFREEW APERI,APROPNOS 15 8Y7B UP [BREAKIN EXIT 4 8YM2 # 6 9#TL SWIPEDCONS 5 9**= SWITCHED 18 9*SW FREECORE 3 [FREE APERI,ATTRIB BLOCK 18 9B#G CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY 8 9BS6 BRN T1 7 9C2S ...#UNS G3SIGNET 4 9C9G ...( 4 9CD8 ...# 21 9CLW ...TWOMEEPS [MORE THAN 1 MEEP PROPERTY SPECIFIED 9 9CTJ ... SETREP2 TWOMEEPS 7 9D4= ... UPPLUS 2 4 9D=Y ...# 21 9DFL ...XMEEP [MEEP PROPERTY MAY NOT BE SPECIFIED 18 9DN# ... [WITH A CONSOLE PROPERTY 8 9DX2 ... SETREP2 XMEEP 7 9F5N ... UPPLUS 2 4 9F#B ...# 4 9FH4 ...) 4 9FPW T1 8 9G9G SETREP2 NOPER 7 9GP6 UPPLUS 2 5 9H8Q NOPROPA 18 9HNB FREECORE 3 [FREE APERI,ATTRIB BLOCK 4 9J82 # 5 9JML PRNOPROP 18 9K7= CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY 5 9KLW NOPROP 19 9L6G # NO DEVICE OF SPECIFIED TYPE HAS ALL THE PERM PROPS REQUIRED 9 9LL6 SETREP NOPROP 7 9M5Q UPPLUS 2 4 9MKB # 5 9N52 PERMYUK 18 9NJL FREECORE 3 [FREE APERI,ATTRIB BLOCK 6 9P4= PRPERMEXCL 18 9PHW CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY 5 9Q3G PERMEXCL 15 9QH6 # DEVICES HAVE PERM EXCL PROPERTIES NOT REQUIRED 9 9S_= SETREP2 PERMEXCL 7 9TDW UPPLUS 2 4 9TYG # 5 9WD6 ...NOTAV 21 9WXQ ... BRN (GEOERR) [MEEP LP REQUIRED BUT DOESN'T EXIST 21 9XCB ... [LF ROUTINES SHOULD PREVENT THIS CASE 4 9XX2 ...# 4 =3#B PROK 18 =3S2 CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY 4 =3TS OK 8 =4M8 SETREP OK 7 =4R= UPPLUS 2 4 =5=W ...# 4 =5QG ...# 4 =6=6 ...# 6 =6PQ ...X1GETFREEB 21 ?SY6 # THIS ENTRY POINT SERVICES THE SETPROP MACRO. IT REQUESTS CHANGES IN 21 ?TCQ # THE ATTRIBUTIONS OF TEMPORARY PROPERTIES TO THE DEVICE OWNED BY THE 20 ?TXB # CURRENT ACTIVITY. GETPER7 DROPS STRAIGHT THROUGH TO HERE WHEN NOT 8 ?WC2 # ISSUED BY AN ACTLF 4 ?WWL # 15 ?WX3 # SPECIAL ACTION IF 7503 IN SPOOLING OPERATION: 17 ?WX? # SET UP GOUT'GSPOOL BLOCK TO CONTAIN (1)CONSOLE PROPNO 18 ?WXH # (2)PROPNAMES FROM APERI'APROPNOS (3)CHAR COUNT OF SAME; 18 ?WXR # THEN SIMPLY REPLY 'OK' SO THAT LISTFILE ROUTINES GO AHEAD 18 ?WY3 # LF ROUTINES THEN ISSUE SPLPROPS MACRO WHICH WILL OUTPUT 15 ?WY? # 'PROPERTIES REQD' MESSAGE FROM GOUT'GSPOOL. 4 ?WYM # 10 ?W_4 ... SAWCEJ NOTLF,SPIPB 18 ?W_F MHUNTW 3,A7020,ALIST [FIND APPROPRIATE BLOCK.. 18 ?W_W LDX 0 EWAIT(3) [..& TEST SPOOLING BIT 8 ?X2? BRN TESPL 10 ?X2N SPIPB MHUNTW 3,AMXOR,ADCB 9 ?X35 LDX 0 IWAIT(3) 7 ?X3G TESPL ANDN 0 4 16 ?X8B ... BNZ 0 SETOK [J IF SPOOLING 4 ?X*= # 5 ?XB= NOTLF 8 ?XL4 LDX 2 FX2 7 ?XP_ ...#UNS G3SIGNET 21 ?XTW ... CALL 5 SCHECKMDEV1 [CHECKOUT MEEP LP OWNERSHIP/REQUEST 19 ?X_R STOZ AWORK4(2) [+VE(ZERO) TO MARK FIRST PASS 5 ?Y*G QCHECK 11 ?YT6 HUNTW 3,APERI,APROPNOS 16 ?_#Q LADDP ,1 [ADDRESS OF APIA 16 ?_SB SAWCE CENTRAL,TRIMBLE [BR IF CENTRAL 20 #2#2 MHUNTW 1,GOUT,GPROPNOS [ - REMOTE: TREAT GPROPNOS BLOCK 18 #2RL # AS APIA FOR THIS DEVICE 10 #3?= LDX 0 GPROPNUM(1) 20 #3QW BZE 0 T1 [BR IF CONS PROP ATT CANCELLED 9 #4=G ANDX 0 BITS22LS 19 #4Q6 LDX 5 CPROPNO(3) [CONSOLE PROPERTY NO REQUIRED 9 #59Q ANDX 5 BITS22LS 7 #5PB TXU 0 5 18 #692 BCS T1 [BR IF NOW HAVE WRONG ONE 17 #6NL ADN 1 GPROPNUM-APERPROP [PSEUDO APIA POINTER 5 #78= TRIMBLE 17 #7MW CALL 7 SCHECKATT [CHECK ATTRIBUTIONS 15 #87G BZE 5 SETOK [BR IF ALL OK 7 #8M6 LDN 0 2 7 #96Q ANDX 0 5 15 #9LB BNZ 0 NOPROP [ NOPROP 7 #=62 LDN 0 4 7 #=KL ANDX 0 5 15 #?5= BNZ 0 PERMEXCL [ PERMEXCL 4 #?JW # 20 ##4G # OK - SO NOW OE KNOW CHANGES IN TEMPORARY PROPERTIES ARE REQ'D 4 ##J6 # 18 #*3Q CALL 5 OPEN [OPEN :SYSTEM.PROPERTY 4 #*HB # 20 #B32 # WE OPEN :SYSTEM.PROPERTY HERE TO MAINTAIN THE INTERLOCK WITH 20 #BGL # ATTRIBUTE. BEFORE WE CLOSE IT AGAIN WE ISSUE A LONGSET TO SET 16 #C2= # ATTRIBUTE TO TELL US WHEN SOMETHING HAPPENS. 4 #CFW # 18 #C_G SETNCORE 12,3,APERI,ATTRIB [SET UP PROPERTY BLOCK 18 #DF6 HUNTW 1,APERI,APROPNOS [X1 -> APR-PNOS OR -VE 9 #DYQ STOZ HAS(3) 9 #FDB LDN 7 HAS(3) 17 #FY2 LDN 0 HAS+1(3) [AND ZEROISE CONTENTS 8 #GCL MOVE 7 11 19 #GX= LDN 4 ATTMAX-1 [NO OF PROPERTIES PERMISSIBLE 18 #HBW SAWCEN CENTRAL,PREMOTE [BR IF DEVICE IS REMOTE 18 #HWG LADDP ,2 [LOAD ADDRESS OF PROPERTY 16 #JB6 ADN 2 APERPROP+1 [ATTRIBUTION LIST 8 #JTQ BRN Z1 18 #K*B PREMOTE [OWN A REMOTE PERIPHERAL 18 #KT2 MHUNTW 2,GOUT,GPROPNOS [LOCATE GPROPNOS BLOCK 19 #L#L LDXC 0 GPROPNUM(2) [CONSOLE PROP NO (LESS B0) 19 #LS= BZE 0 SWIPEDCONS [BR IF CONSOLE PROPERTY GONE 10 #M?W TXU 0 CPROPNO(1) 20 #MRG BCS SWITCHED [BR IF CONSOLE PROPERTY CHANGED 18 #N?6 ADN 2 GPROPNUM+1 [X2 POINTS TO NEXT ENTRY 15 #NQQ Z1 [LOCAL DEVICE 4 #P=B Z2 18 #PQ2 BNG 1 SNOPROPS [BR IF NO APROPNOS BLOCK 19 #Q9L LDX 7 BPROPCNT(1) [NO OF PROPERTIES IN APROPNOS 5 #QP= SNOPROPS 19 #R8W LDXC 0 0(2) [LOAD NEXT (AU ED) PROP NO 17 #RNG BCC SCOUNTDOWN [IGNORE IF INCLUSIVE 18 #S86 BZE 0 PROPFIN [BR IF NO MORE PROPERTIES 18 #SMQ BNG 1 Z3A [BR IF NO APROPNOS BLOCK 4 #T7B Z3 9 #TM2 TXU 0 BPROPS(1) 20 #W6L BCC Z3B [BR IF THIS PROPERTY IS REQUIRED 7 #WL= ADN 1 1 19 #X5W BCT 7 Z3 [BR TO COMPARE NEXT PROPERTY 4 #XKG Z3A 8 #Y56 LDCT 6 #200 19 #YJQ ANDX 6 0 [PROPERTY NEEDS TO BE FREED 16 #_4B BNZ 6 PERMYUK [BR IF PERMANENT 9 #_J2 LDX 6 HAS(3) 7 *23L SMO 6 16 *2H= STO 0 HAS+1(3) [STORE PROP NO 7 *32W ADN 6 1 15 *3GG STO 6 HAS(3) [UPDATE COUNT 4 *426 Z3B 18 *4FQ HUNTW 1,APERI,APROPNOS [RELOCATE APROPNOS BLOCK 6 *4_B SCOUNTDOWN 18 *5F2 ADN 2 1 [STEP DOWN PROPERTY LIST 16 *5YL BCT 4 Z2 [AND COUNT DOWN 21 *6D= # THE ^PROPERTIES ATTRIBUTED BUT NOT WANTED^ LIST IS NOW COMPLETE. NOW 18 *6XW # WE CONCOCT THE ^PROPERTIES WANTED BUT NOT ATTRIBUTED^ LIST 4 *7CG # 5 *7X6 PROPFIN 11 *8BQ HUNTW 1,APERI,APROPNOS 19 *8WB BNG 1 NOWANTS [BR IF NO PROPERTIES WANTED 10 *9B2 LDX 4 BPROPCNT(1) 8 *9TL SMO FX2 16 *=*= STOZ ACOMMUNE1 [LOCAL PERIPHERAL 18 *=SW SAWCEN CENTRAL,Z4 [BR IF SOURCE NOT CENTRAL 8 *?#G LDX 2 FX2 20 *?S6 NGS 2 ACOMMUNE1(2) [REMOTE PERIPHERAL - ACOM1 -UE 19 *#?Q LADDP ,2 [START ADDRESS OF APIA AGAIN 20 *#RB ADN 2 APERPROP+1 [START ADDRESS OF PROPERTY LIST 8 **?2 BRN Z5 17 **QL Z4 [REMOTE PERIPHERAL 18 *B== MHUNTW 2,GOUT,GPROPNOS [LOCATE GPROPNOS BLOCK 20 *BPW ADN 2 GPROPNUM [START ADDRESS OF PROPERTY LIST 4 *C9G # 21 *CP6 # THIS IS NECESSARY BECAUSE FOR REMOTE PERIPHERALS THE CONSOLE PROPERTY 16 *D8Q # APPEARS IN THE BPROPS LIST IN THE APROPNOS BLOCK 4 *DNB # 4 *F82 Z5 8 *FML SMO FX2 19 *G7= LDXC 0 ACOMMUNE1 [SET C IF PERIPHERAL REMOTE 9 *GLW LDN 5 ATTMAX-1 19 *H6G LDX 7 BPROPS(1) [FIRST/NEXT PROPERTY NUMBER 4 *HL6 Z6 20 *J5Q LDXC 0 0(2) [LOAD NEXT ATTRIBUTED PROPERTY 19 *JKB BZE 0 NO [BR IF NO MORE ATTRIBUTIONS 7 *K52 TXU 0 7 16 *KJL BCC YES [BR IF MATCHES 16 *L4= ADN 2 1 [STEP DOWN LIST 8 *LHW BCT 5 Z6 18 *M3G NO [PROPERTY NOT ATTRIBUTED 9 *MH6 LDX 0 BPROPS(1) 7 *N2Q SLL 0 1 18 *NGB BNG 0 NOPROPA [BR IF PROPERTY PERMANENT 7 *NHR ...#UNS G3SIGNET 4 *NK8 ...( 7 *NLK ... SLC 0 8 20 *NN2 ... BPZ 0 Z7 [NOT MEEP PROPERTY (BIT 9 UNSET) 10 *NPC ... CALL 7 TESTIFMEEP 21 *NQS ... BRN YES [MEEP LP : OMIT MEEP PROPERTY FROM 18 *NS9 ... [ATTRIBUTIONS WANTED LIST 17 *NTL ... LDX 7 BPROPS(1) [RESET X7 WITH PR NO 4 *NX3 ...Z7 4 *NYD ...) 19 *P22 LDX 6 HASNT(3) [TO STORE IN ATTRIBUTE LIST 7 *PFL SMO 6 18 *P_= STO 7 HASNT+1(3) [STORE PROPERTY NUMBER 7 *QDW ADN 6 1 16 *QYG STO 6 HASNT(3) [AND UPDATE COUNT 4 *RD6 YES 8 *RXQ SMO FX2 19 *SCB LDXC 0 ACOMMUNE1 [SET C IF PERIPHERAL REMOTE 18 *SX2 SBN 2 ATTMAX-1 [RESET X2 TO BEGINNING 7 *TBL ADX 2 5 7 *TW= ADN 1 1 19 *W*W BCT 4 Z5 [LOOP AROUND APROPNOS LIST 4 *WTG # 21 *X*6 # WE NOW HAVE AN APERI/ATTRIB BLOCK CONTAINING A COMPLETE LIST OF ALL 15 *XSQ # PROPERTY CHANGES REQUIRED; POINTED TO BY X3. 4 *Y#B # 5 *YS2 NOWANTS 8 *_?L LDX 1 FX1 8 *_R= LDX 2 FX2 17 B2=W LDX 4 HAS(3) [NO OF FREES REQUIRED 8 B2QG #SKI K6PERI>199$199 8 B3=6 TRACE 4,HAS 9 B3PQ BZE 4 NOFREES 7 B3S* ...#UNS G3SIGNET 4 B3WY ...( 10 B3_H ... CALL 7 TESTIFMEEP 21 B446 ... BRN NOFREES [MEEP LP : IGNORE ANY FREES REQUIRED 4 B46P ...) 18 B49B ADN 1 1 [MESSAGE POINTER MODIFIER 5 B4P2 NOFREES 19 B58L LDX 4 HASNT(3) [NO OF ATTRIBUTES REQUIRED 8 B5N= #SKI K6PERI>199$199 9 B67W TRACE 4,HASNT 18 B6MG BZE 4 NOGAINS [BR IF NO NEW AU'S WANTED 7 B776 ADN 1 2 5 B7LQ NOGAINS 18 B86B LDX 6 TABMESS(1) [LOAD MESSAGE IDENTIFIER 17 B8L2 BNZ 6 SYSMESS [BR IF MESSAGE WANTED 19 B95L FREECORE 3 [ELSE FREE APERI,ATTRIB BLOCK 9 B9D3 CALL 7 SCLOSETOP 18 B9QD BRN SETOK [AND BRANCH TO SET REPLY 5 B=4W SYSMESS 7 B==4 ...#UNS G3SIGNET 4 B=C= ...#SKI 21 B=JG OUTPER [OUTPUT PERIPHERAL DESCRIPTION PARAM 18 B?46 SETNCORE 16,1,ADATA,CSTORE [TO HOLD PROPERTY NAMES 8 B?HQ LDN 0 A1+1 17 B#3B STO 0 A1(1) [FIRST FREE CHARACTER 7 B#5# ...#UNS G3SIGNET 4 B#7= ...( 10 B#98 ... CALL 7 TESTIFMEEP 20 B#?6 ... BRN OWANTS [MEEP LP : MEEP MESSAGE REQUIRED 20 B#*4 ... [OMIT OUTPER AND FREE PARAMETERS 4 B#*9 ...[ 13 B#*B ...[ IF LOCAL PERIPHERAL CANNOT USE OUTPER 8 B#*H ... LDX 2 FX2 9 B#*N ... LDX 0 CPPTR(2) 15 B#*T ... BZE 0 XREMT [REMOTE PL 8 B#B2 ...XLCL2 LGEOG ,7 8 B#B7 ... GEOPACK 5,7,1 11 B#B# ... OUTPACK 5,1,GEOPER,XLCL2 8 B#BF ... BRN XLOCL 5 B#BL ...XREMT 21 B#C2 ... OUTPER [OUTPUT PERIPHERAL DESCRIPTION PARAM 5 B#C_ ...XLOCL 4 B#DY ...) 11 B#H2 MHUNTW 2,APERI,ATTRIB 9 B*2L LDX 4 HAS(2) 18 B*G= BZE 4 NOFREEL [BR IF NO FREES REQUIRED 4 BCDQ QQQ 7 BCYB SMO 4 16 BDD2 LDX 7 HAS(2) [PROPERTY NUMBER 19 BDXL CALL 5 XPROPNAME [INSERT PROPERTY IN CSTORE 11 BFC= MHUNTW 2,APERI,ATTRIB 16 BFWW BCT 4 QQQ [STEP DOWN LIST 11 BGBG MHUNTW 1,ADATA,CSTORE 8 BGW6 LDX 4 A1(1) 7 BH*Q SLC 4 2 19 BHTB SBN 4 A1+1*4+1 [NO -OF CHARACTERS IN STRING 8 BJ*2 LDN 0 A1+1 17 BJSL STO 0 A1(1) [REINITIALISE BLOCK 18 BK#= OUTPARAM 4,A1+1,ADATA,CSTORE [OUTPUT CHARACTER STRING 5 BKJ4 ...OWANTS 11 BKRW MHUNTW 2,APERI,ATTRIB 5 BL?G NOFREEL 9 BLR6 LDX 4 HASNT(2) 16 BM=Q BZE 4 NCLOSE [BR IF NO AU LIST 4 BMQB QQ1 7 BN=2 SMO 4 16 BNPL LDX 7 HASNT(2) [PROPERTY NUMBER 17 BP9= CALL 5 XPROPNAME [GET PROPERTY NAME 11 BPNW MHUNTW 2,APERI,ATTRIB 8 BQ8G BCT 4 QQ1 11 BQN6 MHUNTW 1,ADATA,CSTORE 8 BR7Q LDX 4 A1(1) 7 BRMB SLC 4 2 19 BS72 SBN 4 A1+1*4+1 [NO OF CHARACTERS IN STRING 18 BSLL OUTPARAM 4,A1+1,ADATA,CSTORE [OUTPUT PROPERTY NAMES 5 BT6= NCLOSE 8 BTKW LDX 2 FX2 9 BW5G LDX 1 CPPTR(2) 15 BWK6 BZE 1 NCPPTR [BR IF REMOTE 18 BX4Q LGEOG 1,5 [ELSE LOAD GEOG VUMBER 8 BXJB BRN XLONG 5 BY42 NCPPTR 7 BYHL GEOPACK 5 5 B_3= XLONG 17 B_GW LONGSET ATTRIBUTE,TRAGEDY,5 [SET WAITING STYLES 18 C22G CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY 17 C2G6 MFREEW ADATA,CSTORE [AND FREE WORKKLOCK 18 C3FB MFREEW APERI,ATTRIB [FREE PROPERTY LIST BLOCK 17 C3_2 LDN 4 0 [ROUTING PARAMETER 7 C42J ...#UNS G3SIGNET 4 C446 ...( 10 C45N ... CALL 7 TESTIFMEEP 21 C47= ... BRN XINFORMMEEP [MEEP LP : SEND MEEP MESSAGE INSTEAD 4 C48S ...) 9 C4=B LDX 0 AWORK4(2) 15 C4HQ BPZ 0 XDEMAND [FIRST PASS 7 C4T6 ADX 0 6 20 C56G BZE 0 SECONDTIME [NOT FIRST PASS WITH SAME MESSAGE 5 C5CW XDEMAND 21 C5XG NGS 6 AWORK4(2) [MARK NOT FIRST PASS(W/ MESS IDEN) 14 C6C6 DEMANDX 4,6,YCANTDO,YBRKIN,XLABEL,2 5 C6WQ XEVENT 20 C7BB CALL 7 XYFREE1 [FREE GMON,AOUT - ADATA,ADEMAND 19 C7W2 BRN QCHECK [BR TO CHECK NEW DEVICE STATE 5 C8*L YCANTDO 20 C8T= CALL 7 XYFREE1 [FREE ADATA,ADEMAND AND GMON,AOUT 8 C954 SETREP CANT 7 C9#W UPPLUS 1 4 C9SG # 17 C=#6 YBRKIN [BREAKIN FROM DEMAND 20 C=RQ CALL 7 XYFREE1 [FREE ADATA,ADEMAND AND GMON,AOUT 5 C??B XIDFBRK 18 C?R2 VFREEW APERI,APROPNOS [FREE ANY APROPNOS BLOCK 8 C#2S SETREP CANT 5 C#=L UP 4 C#Q= # 6 C*9W SECONDTIME 18 C*PG # ISSUE DEMAND WITH TIME DELAY FOR RECONSTRUCTED MESSAGE 4 CB96 # 15 CBNQ DEMANDX 4,6,YCANTDO,YBRKIN,RHUBARB,2,1 9 CC8B BRN XEVENT 5 CCN2 TRAGEDY 10 CD7L GEOERR 1,LONGWAIT 4 CDM= # 7 CF6W ...#UNS G3SIGNET 4 CFLG ...( 6 CG66 ...XINFORMMEEP 7 CGKQ ... LONGOFF 19 CH5B ... OUTNUM 5,0 [%B = GEOG NO. WITHOUT ^U^ 21 CHK2 ... LDX 6 TABMESS-1(1) [MEEP USING ^MEDIA/FORMAT LOOP(TEMPOR 21 CJ4L ... INFORMX 4,6,1 [ARY) PROPERTY(S)^ ON ^LP GEOG NO.^ 20 CJJ= ... BRN SETOK [PRETEND REQUIRED PROPERTIES AUED 4 CK3W ...) 4 CKHG ...# 5 CN3N SETOK 6 CN3R ...#UNS FLLP4B 4 CN3W ...( 6 CN3_ ...#UNS FLLP4BC 8 CN44 ... TRACEVER 2,GF1 8 CN47 ... LDX 2 FX2 7 CN4= ... SMO FX1 9 CN4* ... LDX 1 XACTLFC 9 CN4D ... IF 1,E,ATYPE(2) 6 CN4H ...#UNS FLLP4BC 8 CN4L ... TRACEVER 1,GF2 9 CN4P ... LDX 1 CPPTR(2) 6 CN4S ...#UNS FLLP4BC 8 CN4X ... TRACEVER 1,GF3DEV 9 CN52 ... AND BS,1,FLP4B 6 CN55 ... THEN 6 CN58 ...#UNS FLLP4BC 9 CN5? ... TRACEVER 0,GF4TOFL2 10 CN5B ... DOWN FORMLOOP,2 6 CN5F ... ELSE 4 CN5J ...) 11 CN5Q HUNT 1,APERI,APROPNOS 15 CN7S IF 1,PZ [ PROPERTIES 17 CN9W AND +CPROPNO(1),NZ [ CONSOLE PROPERTY 11 CNB2 HUNT 1,AMXOR,ADCB 11 CND4 AND 1,PZ [ ON 7900 14 CNG6 AND BS,1,ADCB7502LP [ 7502 LP 6 CNJ8 THEN 6 CNJW ...#UNS FLLP4BC 9 CNKJ ... TRACEVER 0,GF5TOFL2 19 CNL= DOWN FORMLOOP,2 [ SET FORMAT LOOP BLOCK 6 CNN# ELSE 8 CNQB SETREP OK 5 CNSD FI 6 CNST ...#UNS FLLP4BC 9 CNT= ... TRACEVER EXEC3(2),GF6 6 CNTM ...#UNS FLLP4B 5 CNW4 ... FI 7 CNWG UPPLUS 2 4 CNYW # 4 CPDG ...#END 6 ____ ...003243070002