GETFREEB864

(George Source)

Macros used: AND, BXE, CLOSETOP, DEMANDX, DOWN, ELSE, FI, FREECORE, GEOERR, GEOPACK, HUNT, HUNTW, IF, INFORMX, LADDP, LGEOG, LONGOFF, LONGSET, LTYPE, MFREE, MFREEW, MHUNTW, OPEN, OPENSYS, OUTNUM, OUTPACK, OUTPARAM, OUTPER, REWIND, SAWCE, SAWCEJ, SAWCEN, SEGENTRY, SETNCORE, SETREP, SETREP2, THEN, TRACE, TRACEVER, UP, UPPLUS, VFREEW

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