{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: GETFREE867)}}
====== GETFREE867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ALTLENG|ALTLENG]], [[george:macro:AND|AND]], [[george:macro:BXE|BXE]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:DOWN|DOWN]], [[george:macro:ELSE|ELSE]], [[george:macro:FI|FI]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHENTRY|FSHENTRY]], [[george:macro:FSHTEST|FSHTEST]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GSCAN|GSCAN]], [[george:macro:HUNT|HUNT]], [[george:macro:HUNTC|HUNTC]], [[george:macro:HUNTW|HUNTW]], [[george:macro:IDFPER|IDFPER]], [[george:macro:IF|IF]], [[george:macro:JFREE|JFREE]], [[george:macro:JNANON|JNANON]], [[george:macro:JRIGHT|JRIGHT]], [[george:macro:LADDP|LADDP]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LTYPE|LTYPE]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:OPEN|OPEN]], [[george:macro:OPENSYS|OPENSYS]], [[george:macro:PROPERTY|PROPERTY]], [[george:macro:REWIND|REWIND]], [[george:macro:RIGHT|RIGHT]], [[george:macro:SAWCEN|SAWCEN]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETALLOC|SETALLOC]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETREP|SETREP]], [[george:macro:SETREP2|SETREP2]], [[george:macro:STEP|STEP]], [[george:macro:TESTNAMX|TESTNAMX]], [[george:macro:THEN|THEN]], [[george:macro:TRACE|TRACE]], [[george:macro:TRACEVER|TRACEVER]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]], [[george:macro:VFREEW|VFREEW]]
2278 ... SEG GETFREE,,,,G167
22#B ...[
22FJ ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
22LQ ...[ THIS EXCLUDES CODE UNDER #SKI G167
22RY ...[
22^= #OPT K0GETFREE=0
23DW #LIS K0GETFREE>K0PERI>K0ALLGEO
23JR ...#OPT G167 = 0
23NN ...#SKI G167&1
23SK ...# WITH UGUG EDIT M167 (ALLOW LF WITH NON-ATTRIBUTED PERMANENT PROPERTY)
23YG #
24XQ #
25CB # THIS SEGMENT IS PART OF THE PERIPHERAL CONTROLLER. IT SERVICES
25X2 # THE MACROS ISPER7, GETPER7, SETPROP. THE ENTRY POINTS USED ARE:-
26BL #
26W= # K1GETFREE - ISPER7
27*W # K2GETFREE - GETPER7
27TG # K3GETFREE - SETPROP
28*6 # K4GETFREE - ISPERG
28SQ # K5GETFREE - CHECKATT
294J # K11GETFREE - ISPER7 - EXCEPT APERI/APROPNOS ALREAD
29#B #
29S2 # FURTHER DETAILS OF THE PURPOSE OF EACH MACRO MAY BE FOUND ABOVE
2=?L # THE RELEVANT ENTRY POINT, AND ALSO IN PRM.6
2=R= #
2?=W #
2?QG # ENTRY POINTS
2#=6 #
2#PQ SEGENTRY K1GETFREE,X1GETFREE
2*9B SEGENTRY K2GETFREE,X2GETFREE
2*P2 SEGENTRY K3GETFREE,X3GETFREE
2B8L SEGENTRY K4GETFREE,X4GETFREE
2BN= SEGENTRY K5GETFREE,X5GETFREE
2C7W SEGENTRY K11GETFREE,X11GETFREE
2C*4 FSHENTRY K21GETFREE,,X21GETFREE,X21GETFREE
2CG= FSHENTRY K22GETFREE,X22GETFREE,,X22GETFREE
2CJW FSHENTRY K23GETFREE,X23GETFREE,,X23GETFREE
2CMG #
2D76 MAXATT +ATTMAX+1
2D9P #UNS FLLP4B
2D## (
2DBX XACTLFC
2DFG #HAL ACTLF+CENTRAL,0
2DJ5 )
2DLQ QBITS [DEVICE IDENTIFICATION TABLE
2F6B #4000 [TR
2FL2 #2000 [TP
2G5L #1000 [LP
2GK= #0400 [CR
2H4W #0200 [CP
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= #
3L9W PROPERTY
3LPG # IF THE PROPERTY IS 'CENTRAL' OR A CONSOLE PROPERTY,
3M96 # DETAILS ARE STORED IN THE APROPNOS BLOCK, UNLESS THERE IS ALREADY
3MNQ # ONE THERE, IN WHICH CASE EXIT 0. EXIT 1 IF COMMAND NOT ALLOWED
3N8B # TO SPECIFY A CONSOLE PROPERTY.
3NN2 # LINK IN X7
3P7L MHUNTW 3,APERI,APROPNOS [LOCATE APROPNOS BLOCK
3PM= LDX 4 ACOMMUNE5(2) [LOAD PROPERTY NO
3Q6W LDX 0 BPROPCNT(3)
3QLG BZE 0 N2 [BR IF NO PROPS STORED
3R66 N1
3RKQ SMO 0
3S5B TXU 4 BPROPS-1(3)
3SK2 BCC N6 [BR IF PROPERTY ALREADY STORED
3T4L BCT 0 N1
3TJ= N2
3W3W LDXC 0 ACOMMUNE6(2)
3WHG BCC NOTCONS [BR IF NOT CONSOLE PROPERTY
3X36 LDCT 0 #200
3XGQ ANDX 0 AWORK4(2) [MASK ONLINE BIT
3Y2B BNZ 0 XFORBIDDEN [BR IF ONLINE (- NO CONSOLE PROPERTY)
3YG2 PCENTRAL
3Y^L LDX 0 CPROPNO(3)
3^F= BNZ 0 (7) [BR IF CONSOLE PROP ALREADY STORED
3^YW STO 4 CPROPNO(3) [ELSE STORE IT
42DG LDX 0 4
42Y6 ANDX 0 BITS22LS
43CQ SBN 0 1 [DONT PUT ANY MORE DETAILS IN BLOCK
43XB BZE 0 N6 [FOR CENTRAL
44C2 BRN N7
44WL NOTCONS
45B= LDX 0 4
45TW ANDX 0 BITS22LS [REMOVE BIT 1 OF PR NO
46*G SBN 0 1
46T6 BZE 0 PCENTRAL [BR IF THIS PROPERTY IS CENTRAL
47#Q N7 SMO BPROPCNT(3)
47SB STO 4 BPROPS(3) [STORE PROPERTY NO IN LIST
48#2 LDN 0 1
48RL ADS 0 BPROPCNT(3) [UPDATE COUNT OF PROPERTIES
49?= ADXC 4 4
49QW BCC TEMPORARY [BR IF PROPERTY TEMPORARY
4==G HUNTW 3,APERI,APERM [SEE IF APERM IAS BEEN SET UP
4=Q6 BPZ 3 PERM [ & BR IF SO
4?9Q SBX 7 FX1 [RELATIVISE LINK
4?PB SETNCORE ATTMAX+1*13+2/4+1,3,APERI,APERM
4#92 BRN N3
4#NL TEMPORARY
4*8= HUNTW 3,APERI,BTEMP [SEE IF BTEMP HAS BEEN SET UP
4*MW BPZ 3 PERM [ & BR IF SO
4B7G SBX 7 FX1
4BM6 SETNCORE ATTMAX+1*13+2/4+1,3,APERI,BTEMP
4C6Q N3
4CLB ADX 7 FX1
4D62 STOZ A1(3)
4DKL PERM [MOVE PROPERTY NAME INTO APERM/BTEMP
4F5= LDX 1 A1(3) [CURRENT CHAR COUNT
4FJW SRC 1 2
4G4G BZE 1 N4 [BR IF BLOCK CURRENTLY EMPTY
4G75 #UNS G3SIGNET
4G9N (
4G#? SLC 4 8 [TEST IF BIT9 SET IN PR NO
4GBW BNG 4 PROPMEEP [THIS IS A MEEP PROPERTY
4GFF )
4GJ6 LDN 0 #26 [ "&"
4H3Q SMO 3
4HHB DCH 0 A1+1(1) [APPEND "&" TO LAST PROP NAME
4J32 BCHX 1 N4
4JGL N4
4K2= ADN 1 A1+1(3) [START ADDRESS - DESTINATION
4KFW LDN 0 ACOMMUNE2(2) [START ADDRESS OF PROPERTY NAME
4K^G SMO ACOMMUNE1(2) [NO OF SIGNIFICANT CHARACTERS
4LF6 MVCH 0 0 [MOVE IN CHARACTER STRING
4LYQ SBN 1 A1+1(3)
4MDB SLC 1 2
4MY2 STO 1 A1(3) [RESET BLOCK CHAR COUNT
4NCL LDX 1 FX1
4NX= N6
4PBW EXIT 7 2 [AND EXIT
4PWG N5
4QB6 XFORBIDDEN
4QTQ EXIT 7 1
4QW# #UNS G3SIGNET
4QWW (
4QXD PROPMEEP [PLACE MEEP PROPERTY NAME AT HEAD OF THE (TEMPORARY)
4QY2 [PROPERTY NAMES STRING (FOR CENTRAL LISTFILE)
4QYJ LDX 4 A1(3) [MOVE CURRENT STRING OF (TEMPORARY)
4Q^6 ADN 1 A1+1(3) [PROPERTY NAMES FORWARD BY 5 CHARS
4Q^N LDX 2 1 [STARTING WITH LAST STRING CHAR
4R2= STRMV SLC 1 2
4R2S SBN 1 1
4R3B SRC 1 2
4R3Y LDCH 0 0(1) [INITIALLY MOVE LAST STRING CHAR
4R4G DCH 0 1(2) [TO LAST STRING CHAR +5 POSITION
4R54 SLC 2 2
4R5L SBN 2 1
4R68 SRC 2 2
4R6Q BCT 4 STRMV [MOVE NEXT STRING CHAR
4R7# LDX 2 FX2
4R7W LDX 0 ACOMMUNE2(2) [INSERT MEEP PROPERTY NAME (LPNN) +
4R8D STO 0 A1+1(3) ["&" AT THE HEAD OF STRING
4R92 LDN 0 #26
4R9J DCH 0 A1+2(3)
4R=6 LDN 0 5 [UPDATE CHAR STRING COUNT
4R=N ADS 0 A1(3)
4R?= LDX 1 FX1
4R?S BRN N6
4R#B )
4R*B #
4RT2 SMHUNTW
4S#L # THIS SUBROUTINE HUNTS FOR AN APERI/APROPNOS BLOCK ON X2. IT IS
4SS= # REQUIRED BY THE ALTLENG MACRO.
4T?W # LINK IN X1
4TRG MHUNTW 2,APERI,APROPNOS
4W?6 BRN (1)
4WQQ #
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 #
537B SVFREEW
53M2 # THIS SUBROUTINE OPTIONALLY FREES THE APROPNOS, APROPS, APERM AND
546L # BTEMP BLOCKS
54L= # LINK IN X7
555W SVFREEW1
55KG VFREEW APERI,APERM
5656 VFREEW APERI,BTEMP
56JQ VFREEW APERI,APROPNOS
574B BRN (7)
57J2 #
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= #
67W? #UNS G3SIGNET
67^# (
684* SCHECKMEEP
687B # THIS SUBROUTINE TESTS IF THE MEEP LP IS REQUIRED AND EXISTS
68=C # ON ENTRY : X3 -> APERI/APROPNOS BLOCK ; EXITS +0 WITH X1 -> MEEP
68*D # LP DEVICE LIST AND B0 SET IN AWORK4 IF TRUE ; EXITS +1 IF FALSE
68DF # REPLIES NOTAV IF MEEP LP IS REQUIRED BUT DOESN'T EXIST
68HG # LINK IN X7
68LH LDX 0 AWORK4(2) [TEST IF LP REQUIRED
68PJ ANDN 0 #77
68SK SBN 0 2
68XL BNZ 0 SMEEPEX [LP NOT REQUIRED
692M LDCT 6 #400 [FOR 'TWOMEEPS' CHECK
695N LDX 4 BPROPCNT(3) [TEST IF A MEEP PROPERTY IS REQUIRED
698P SMEEP1
69?Q SMO 4
69BR LDX 0 BPROPS-1(3)
69FS SLL 0 9
69JT BPZ 0 SMEEP2 [NOT A MEEP PROPERTY NO.(B9 UNSET)
69MW LDX 0 CPROPNO(3) [TEST IF A CONSOLE PROP ALSO REQUIRED
69QX BNZ 0 XMEEP [NOT PERMITTED WITH MEEP PROPERTY
69TY BPZ 6 TWOMEEPS [MORE THAN ONE MEEP PROPERTY REQUIRED
69Y^ LDX 6 ASIGNETPTR
6=42 BZE 6 SMEEP2 [MEEP LP DOESN'T EXIST BUT CHECK FOR
6=73 ['TWOMEEPS'
6==4 STO 6 1 [SET X1 -> MEEP LP DEVICE LIST
6=*5 LDCT 0 #400 [SET B0 OF AWORK4 TO INDICATE THAT
6=D6 ORS 0 AWORK4(2) [THE MEEP LP IS REQUIRED AND EXISTS
6=H7 SMEEP2
6=L8 BCT 4 SMEEP1 [TEST NEXT PROPERTY NO.
6=P9 BZE 6 NOTAV [MEEP LP REQUIRED BUT DOESN'T EXIST
6=S= BPZ 6 (7) [MEEP LP IS REQUIRED&EXISTS: EXIT +0
6=X? SMEEPEX
6?2# EXIT 7 1 [MEEP LP IS NOT REQUIRED: EXIT+1
6?5* #
6?8B TESTIFMEEP
6??C # THIS SUBROUTINE TESTS IF THE DEVICE OWNED BY THE CURRENT ACTIVITY
6?BD # IS THE MEEP(SIGNET) LINE PRINTER : EXITS +0 IF TRUE; EXITS +1 IF
6?FF # FALSE
6?JG # LINK IN X7
6?MH SMO FX2
6?QJ LDX 0 CPPTR
6?TK BZE 0 TMEEPEX [REMOTE DEVICE OWNED
6?YL BXE 0 ASIGNETPTR,(7) [MEEP LP OWNED : EXIT +0
6#3M TMEEPEX
6#6N EXIT 7 1
6#9P #
6##Q SCHECKMDEV1
6#CR HUNTW 3,APERI,APROPNOS [SETS X3 FOR SCHECKMDEV
6#GS BNG 3 (5) [MUST BE REMOTE
6#KT SCHECKMDEV
6#NW # THIS SUBROUTINE CHECKS THAT IF THE MEEP LP IS OWNED,THE REQUEST
6#RX # NEEDS IT AND THAT IF THE MEEP LP IS NOT OWNED,THE REQUEST DOESN'T
6#WY # NEED IT
6#^^ # ON ENTRY : X3 -> APERI/APROPNOS BLOCK ; IF CHECKS OK THE S/R EXITS
6*52 # ELSE THE REPLY PERMEXCL IS GIVEN
6*83 # LINK IN X5
6*?4 LTYPE ,0 [SET DEV TYPE IN AWK4 FOR SCHECKMEEP
6*B5 STO 0 AWORK4(2)
6*F6 LDN 1 0 [NOTE X1 WILL ONLY BE CHANGED IF MEEP
6*J7 [LP IS REQUIRED AND EXISTS
6*M8 CALL 7 SCHECKMEEP
6*Q9 BRN SCMO [MEEP LP IS REQUIRED AND EXISTS
6*T= CALL 7 TESTIFMEEP [MEEP LP NOT REQUIRED : TEST IF OWNED
6*Y? BRN PERMEXCL [NOT REQUIRED BUT OWNED:NO ACCORDANCE
6B3# EXIT 5 0
6B6* SCMO SBX 1 CPPTR(2) [CHECK IF MEEP LP OWNED
6B9B BNZ 1 PERMEXCL [REQUIRED BUT NOT OWNED:NO ACCORDANCE
6B#C EXIT 5 0
6BCD #
6BGF )
6BL2 #
6C5L # * * *
6CK= # * * **
6D4W # ** *
6DJG # * * *
6F46 # * * ***
6FHQ #
6G3B X1GETFREE
6GH2 #
6H2L # THIS ENTRY POINT IMPLEMENTS THE ISPER7 MACRO. IT CHECKS WHETHER
6HG= # A DEVICE OF TYPE SPECIFIED IN B18-24 OF ACOMMUNE7 EXISTS WITH
6H^W # ANY CONSOLE AND/OR PERMANENT PROPERTIES WHICH MAY BE REQUESTED
6JFG # PROPERTIES REQUIRED ARE IN AN APERI/APROPS BLOCK AND/OR APERI
6J^6 # ASSOCS BLOCK.
6KDQ # THE COMMAND TYPE IS IN B0-17 OF ACOMMUNE7
6KYB # VIZ B0=1 LISTFILE
6LD2 # B1=1 ONLINE
6LXL #
6MC= NGS 2 AWORK3(2) [SET ISPER MARKER
6MWW XISPERG
6NBG LDX 6 ACOMMUNE7(2)
6NW6 STO 6 AWORK4(2) [TYPE/COMMAND INDICATOR
6P*Q #SKI K6PERI
6PTB GSCAN 6,ISPER
6Q*2 ANDN 6 63 [MASK OUT PERIPHERAL TYPE
6QSL BZE 6 NOPROPS [NO PROPERTIES FOR TAPE OR
6R#= SBN 6 3
6RRW BZE 6 NOPROPS [CARD-READER
6S?G HUNT 3,APERI [NO PROPERTIES ARE REQUIRED UNLESS
6SR6 # A BLOCK OF TYPE APERI EXISTS
6T=Q BNG 3 NOPROPS [BR IF NO PROPERTIES REQUIRED
6TQB SETNCORE ATTMAX*17+4/4+7,3,APERI,APROPNOS
6W=2 STOZ A1(3)
6WPL LDN 7 A1(3)
6X9= LDN 0 A1+1(3)
6XNW MOVE 7 6 [ZEROISE FIXED PART OF APROPNOS
6Y8G ... HUNTC 3,APERI,APROPS,NOAPROPS [LOCATE APROPS BLOCK
6^7Q LDX 6 A1+1(3) [NO OF PROPERTIES IN BLOCK
6^MB TXL 6 MAXATT(1)
7272 BCC TOOMANY [BR IF TOO MANY PROPERTIES SPECIFIED
72LL CALL 5 OPEN [OPEN :SYSTEM.PROPERTY
736= LDN 5 A1+2
73KW PROPLOOP
745G MHUNTW 3,APERI,APROPS [LOCATE APROPS BLOCK
74K6 ADX 3 5 [POINTER TO FIRST/NEXT ENTRY
754Q LDN 4 ACOMMUNE1(2)
75JB MOVE 3 4 [MOVE PROPERTY RECORD INTO WORKSPACE
7642 STEP
76HL STEP [STEP TO NEXT RECORD
773= BZE 3 PROPMISS [BR IF PROPERTY NAME NOT FOUND
77GW TESTREPN COORED,NOMOVE [BR IF STEP NOT COORIDINATED
782G MHUNTW 1,APERI,APROPS
78G6 ADX 1 5 [ELSE RESET ACOMMUNE WORDS AS
78^Q ADN 2 ACOMMUNE1 [THEY MAY HAVE BEEN OVERWRITTEN
79FB MOVE 1 4
79^2 LDX 1 FX1
7=DL LDX 2 FX2
7=Y= NOMOVE
7?CW TESTNAMX 3,ACOMMUNE2(2),APROPNAME(3),STEP,4
7?XG LDX 0 APROPGROUP(3)
7#C6 STO 0 ACOMMUNE6(2) [STORE CONSOLE PROPERTY INDICATOR
7#WQ LDX 0 APROPNO(3) [PROPERTY NO
7*BB STOC 0 ACOMMUNE5(2) [STORE PROPERTY NO (LESS B0)
7*W2 CALL 7 PROPERTY [PROCESS THIS PROPERTY NAME
7B*L BRN TWOCONS [MORE THAN ONE CONS PROP SPECIFIED
7BT= BRN NONOCONS [COMMAND NOT ALLOWED CONSOLE PROPERTY
7C#W BCT 6 REWIND [BR IF MORE PROPERTY NAMES
7CSG BRN NOMOREPROPS
7D#6 REWIND
7DRQ REWIND [REWIND :SYSTEM.PROPERTY
7F?B ADN 5 4
7FR2 BRN PROPLOOP [BR TO PROCESS NEXT PROPERTY
7G=L NOMOREPROPS
7GQ= MFREEW APERI,APROPS [FREE THE APROPS BLOCK
7H9W CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY
7HPG NOAPROPS
7J96 # THE CONTENTS OF ANY APERI/APROPS BLOCK HAVE NOW BEEN ANALYSED AND
7JNQ # BUNGED IN THE APROPNOS, APERM, AND/OR BTEMP BLOCK.
7K8B HUNTW 3,APERI,ASSOCS
7KN2 BNG 3 NOASSOCS [BR IF NO ASSOCIATIONS TO DO
7L7L LDX 4 AWORK4(2) [COMMAND/TYPE WORD
7LM= LDCH 0 4 [DEVICE TYPE
7M6W SMO 0
7MLG LDX 0 QBITS(1) [ASSOC KEY FOR DEVICE TYPE
7N66 DSA 0 4
7NKQ LDX 6 A1(3) [COUNT OF ASSOCIATIONS
7P5B PALOOP
7PK2 LDX 0 4 [TEST IF KEY IN X4 IS CONTAINED
7Q4L ANDX 0 A1+1(3) [IN THE CIT PATTERN IN A1+1 OF
7QJ= ERX 0 4 [THE ASSOCS BLOCK....
7R3W BZE 0 SMATCH [BR IF SO
7RHG ADN 3 ASSOCSLEN [STEP TO NEXT RECORD
7S36 BCT 6 PALOOP
7SGQ BRN NOASSOCS [BR IF NO RELEVANT ASSOCIATIONS
7T2B SMATCH
7TG2 LDN 0 12
7T^L STO 0 ACOMMUNE1(2) [STORE CHARACTER COUNT OF 12
7WF= LDN 7 A1+3(3) [START OF PROPERTY NAME
7WYW LDN 0 ACOMMUNE2(2)
7XDG MOVE 7 3 [MOVE PROPERTY NAME INTO WORKSPACE
7XGP LDCT 1 #600 [ROUTINE TO EDIT..
7XJY ORN 1 ACOMMUNE4(2) [..OUT TRAING SPACES..
7XM7 NEXT LDCH 0 0(1) [..AND ALTER CHARACTER..
7XPB SBN 0 #20 [..COUNT ACCORDINGLY
7XRK BNZ 0 ZEDED
7XTS LDN 0 1
7XY3 SBS 0 ACOMMUNE1(2)
7Y2= SLC 1 2
7Y4F SBN 1 1
7Y6N SRC 1 2
7Y8X LDX 0 ACOMMUNE1(2)
7Y?6 BNZ 0 NEXT
7Y** ZEDED LDX 0 A1+2(3) [PROPERTY NUMBER
7YCQ STO 0 ACOMMUNE6(2) [STORE CONSOLE PROP INDICATOR (B0)
7YXB STOC 0 ACOMMUNE5(2) [STORE PROP NO (LESS B0)
7^78 LDX 1 FX1
7^C2 CALL 7 PROPERTY [PROCESS THE ASSOCIATION
7^WL BRN NOASSOCS [2ND CONS PROP - IGNORE IT
82B= ... BRN XFBD
82TW NOASSOCS
83*G # ANALYSIS OF ASSOCIATIONS COMPLETED. NOW WE MUST COMPLETE THE APROPNOS
83T6 MHUNTW 3,APERI,APROPNOS [LOCATE APROPNOS BLOCK
84#Q LDX 5 BPROPCNT(3)
84SB BNZ 5 P1 [BR IF SOME PROPERTIES WERE STORED
85#2 FREECORE 3 [ELSE FREE THE APROPNOS BLOCK
85RL BRN SPORPON
86?= P1
86QW TXL 5 MAXATT(1)
87=G BCC TOOMANY [BR IF TOO MANY PROPERTIES REQUESTED
87Q6 LDX 0 CPROPNO(3) [LOAD CONSOLE PROPERTY NO
889Q ANDX 0 BITS22LS
88PB BCT 0 P2 [BR IF NOT CENTRAL
8992 STOZ CPROPNO(3) [ELSE CLEAR CPROPNO
89NL P2
8=8= ADN 5 BPROPS [DESTINATION ADDRESS POINTER
8=MW HUNTW 1,APERI,APERM [LOCATE APERM BLOCK
8?7G BNG 1 NOAPERM [BR IF NOT THERE
8?M6 LDX 6 A1(1)
8#6Q STO 6 CHPERM(3) [STORE COUNT OF PERM PROP CHARS
8#LB STO 5 ADPERM(3) [START OF PERM PROP STRING
8*62 ADN 6 3
8*KL SRL 6 2 [NO OF WORDS IN STRING
8B5= ADX 5 3
8BJW LDN 4 A1+1(1)
8C4G SMO 6
8CJ6 MOVE 4 0 [MOVE IN PERM PROP STRING
8D3Q SBX 5 3 [RELATIVISE X5
8DHB ADX 5 6 [UPDATE POINTER
8F32 FREECORE 1 [& FREE APERM BLOCK
8FGL NOAPERM [NOW FOR THE BTEMP BLOCK
8G2= HUNTW 1,APERI,BTEMP [LOCATE BTEMP BLOCK
8GFW BNG 1 NOBTEMP [BR IF NOT THERE
8G^G LDX 6 A1(1)
8HF6 STO 6 CHTEMP(3) [NO OF CHARS IN TEMP PROP STRING
8HYQ STO 5 ADTEMP(3) [START ADDRESS OF STRING
8JDB ADN 6 3
8JY2 SRL 6 2 [WORD LENGTH OF STRING
8KCL ADX 5 3
8KX= LDN 4 A1+1(1)
8LBW SMO 6
8LWG MOVE 4 0 [MOVE STRING INTO APROPNOS
8MB6 SBX 5 3
8MTQ ADX 5 6 [TOTAL LENGTH OF APROPNOS USED
8N*B FREECORE 1 [FREE BTEMP BLOCK
8NT2 NOBTEMP
8P#L SBN 5 A1 [X5 = RECORD HEADER
8PS= STO 5 A1(3) [STORE TOTAL RECORD HEADER
8Q?W ADN 5 A1
8QRG ALTLENG 3,5,SMHUNTW [ALTER LENGTH OF BLOCK
8R?6 NOPROPS
8RQQ SPORPON
8S=B LDN 0 #77 [CLEAR COMMAND INDICATOR, BUT
8SQ2 ANDS 0 AWORK4(2) [RETAIN PERIPHERAL TYPE
8T9L BRN PERIPHERAL [BR TO LOOK FOR A SUITABLE
8TP= # PERIPHERAL
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 #
8^6L TOOMANY [TOO MANY PROPERTIES SPECIFIED
8^L= CALL 7 SVFREEW [FREE APPROPRIATE BLOCKS
925W Q1 SETREP2 MAXATT [SET REPLY
92KG UPPLUS 2 [AND RETURN
9356 #
93JQ PROPMISS [PROPERTY NOT IN :SYSTEM.PROPERTY
944B CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY
94J2 CALL 7 SVFREEW1 [FREE ALL BUT APROPS BLOCK
953L STO 5 ACOMMUNE1(2) [STORE RELATIVE POINTER TO ERRONEOUS
95H= SETREP2 XPROP [PROPERTY NAME
962W UPPLUS 2
96GG #
9726 TWOCONS [2 CONSOLE PROPERTIES SPECIFIED
97FQ CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY
97^B CALL 7 SVFREEW [AND FREE ALL BLOCKS
98F2 SETREP2 CPROPS
98YL UPPLUS 2
99D= #
99XW NONOCONS [COMMAND MAY NOT SPECIFY CONSOLE PROP
9=CG CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY
9=X6 CALL 7 SVFREEW1 [FREE ALL BUT APROPS
9?BQ SETREP2 XCPROP
9?WB UPPLUS 2
9#B2 #
9#TL SWIPEDCONS
9**= SWITCHED
9*SW FREECORE 3 [FREE APERI,ATTRIB BLOCK
9B#G CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY
9BS6 BRN T1
9BT9 #UNS G3SIGNET
9BW# (
9BXC #
9BYG TWOMEEPS [MORE THAN 1 MEEP PROPERTY SPECIFIED
9B^K SETREP2 TWOMEEPS
9C2N UPPLUS 2
9C3R #
9C4W XMEEP [MEEP PROPERTY MAY NOT BE SPECIFIED
9C5^ [WITH A CONSOLE PROPERTY
9C74 SETREP2 XMEEP
9C87 UPPLUS 2
9C9= #
9C=* )
9C?Q NOPER
9CRB # NO DEVICE OF REQUIRED TYPE IN RELEVANT CLUSTER
9D?2 LDXC 0 AWORK3(2)
9DQL BCC T1 [BR IF GETPER
9F== VFREEW APERI,APROPNOS
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 WRNG
9WXQ # ALL DEVICES WITH SPECIFIED PERM EXCL PROPS ARE WRONGED
9XCB SETREP2 WRNG
9XX2 UPPLUS 2
9YBL #
9YW= NOTAV
9^*W # NO DEVICES WITH SPECIFIED PERM PROPS ARE FREE
9^TG SETREP2 NOTAV
=2*6 UPPLUS 2
=2SQ #
=3#B PROK
=3S2 CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY
=3TS OK
=4M8 SETREP OK
=4R= UPPLUS 2
=5=W #
=5GN ...XFBD GEOERR 1,FRBID
=5QG # * * **
=6=6 # * * * *
=6PQ # ** *
=79B # * * *
=7P2 # * * ****
=88L #
=8N= X2GETFREE
=97W #
=9MG # THIS ENTRY POINT IS USED BY THE GETPER7 MACRO. IT SEARCHES FOR
==76 # A DEVICE OF THE REQUIRED TYPE WITH THE REQUIRED PROPERTY
==LQ # CONFIGURATION
=?6B #
=?L2 STO 2 AWORK3(2) [INDICATE GETPER ENTRY
=#5L LDCH 7 ACOMMUNE7(2)
=#K= #SKI K6PERI
=*4W GSCAN 7,GETPER
=*JG STO 7 AWORK4(2) [PRESERVE DEVICE TYPE REQUIRED
=B46 PERIPHERAL
=BHQ # NOW TO LOOK FOR A SUITABLE DEVICE
=C3B LDXC 5 GSIGN [SET MASTER MARRKER (- X5 =0)
=CH2 STO 5 AWORK2(2) [ = 'NOPER'
=D2L HUNTW 3,APERI,APROPNOS
=DG= BNG 3 PLOCAL [NO PROPERTIES - MUST BE LOCAL
=DJF #UNS G3SIGNET
=DLN (
=DNX CALL 7 SCHECKMEEP [CHECK IF MEEP LP REQUIRED
=DR6 BRN SCHECKDEV [MEEP LP EXISTS AND IS REQUIRED
=DT* [EXAMINE IT
=DXJ )
=D^W LDX 4 CPROPNO(3)
=FFG BZE 4 PLOCAL [BR IF NO CONS PROP REQ'D
=F^6 IDFPER XIDFBRK,OK [LOOK FOR IDF DEVICE
=GDQ LDX 0 ACOMMUNE9(2) [NOT FOUND - BR TO ANALYSE
=GNJ ...#SKI G167&1$1
=GYB BRN XAMINE [RESULT
=H2# ...#SKI G167&1
=H4= ...(
=H68 ...# ALLOWS LISTFILES TO NON-ATTRIBUTED PROPERTIES
=H86 ... SRL 0 1
=H=4 ... BZE 0 WRNG
=H#2 ... BRN XXAMINE
=H*Y ...)
=HD2 PLOCAL
=H^K LDXC 0 AWORK3(2)
=J4# ... BCC XGFND [SEPAREATE FINDPEREC FOR ISPER
=J73 FINDPERE 1,APFOTY,AWORK4(2),QNEXTDVI,,NLINE,NLINE
=J9Q BRN NLINE
=J#G ...XGFND FINDPERE 1,APFOTY,AWORK4(2),QNEXTDEV
=JC= # FIND DEVICE LIST OF NEXT DEVICE OF THIS TYPE
=JN3 NLINE BNG 1 NODEV [BR IF NO MORE
=JYS #UNS G3SIGNET
=K2Q (
=K4N LDXC 0 AWORK4(2) [IF MEEP LP REQUIRED,IGNORE OTHER LPS
=K6L BCS NODEV [AND ANALYSE MASTER MARKER
=K8J BXE 1 ASIGNETPTR,QNEXTDV [MEEP LP NOT REQUIRED : IGNORE IT
=K=G SCHECKDEV
=K#D )
=KBG LDN 5 0
=KW6 LTYPE 1,0
=L*Q BZE 0 SLINPUT [BR IF TR (NO ATTRIBUTIONS FOR)
=LTB SBN 0 3
=M*2 BZE 0 SLINPUT [OR CR (SLOW INPUT DEVICES )
=MSL STO 1 ACOMMUNE1(2) [PRESERVE DEVICE LIST POINTER
=N#= LADDP 1,1 [LOAD ADDRESS OF APIA
=NRW CALL 7 SCHECKATT [CHECK PROPERTY ATTRIBUTIONS
=P?G LDX 1 ACOMMUNE1(2) [RESTORE DEVICE LIST POINTER
=PR6 SLINPUT
=P^B ... JNANON 1,XJR
=Q7L ORN 5 8 [SET WRG MARKER
=Q*W BRN XFREE
=QJ6 ...XJR JRIGHT 1,RIGHT [BR IF DEVICE RIGHTED
=QQB ORN 5 8 [ELSE SET 'WRONGED' MARKER
=R=2 RIGHT
=RPL JFREE 1,XFREE [BR IF DEVICE FREE
=S9= ORN 5 16 [ELSE SET ALREADY ALLOCATED MARKER
=SNW XFREE
=T8G #SKI K6PERI>199$199
=TN6 TRACE 5,GPMARK [TRACE CHECKATT REPLY
=W7Q BZE 5 PERFECT [BR IF DEVICE IS PERFECT FIT
=WMB NGN 0 1
=X72 S1
=XLL ADN 0 1 [SHIFT COUNT
=Y6= SRC 5 1 [FIND L.S. BIT SET IN MARKER FOR
=YKW BPZ 5 S1 [THIS DEVICE
=^5G LDN 5 1
=^K6 SMO 0
?24Q SLL 5 0 [AND SET IT IN THE MASTER MARKER
?2JB ORS 5 AWORK2(2)
?342 SBN 5 32 [TEST IF OK EXCEPT FOR TEMP PROPS
?3HL BNZ 5 QNEXTDV [AND BR FOR NEXT DEVICE IF NOT
?43= LDXC 0 AWORK3(2)
?4GW BCS QNEXTDVI [BR FOR NEXT DEVICE IF ISPER
?52G LDX 0 CPPTR(2) [BR IF DEVICE WITH WRONG TEMP
?5G6 BNZ 0 QNEXTDEV [ALREADY STORED
?5^Q STO 1 CPPTR(2) [ELSE REMEMBER THIS ONE
?6CS QNEXTDV
?6D# LDXC 0 AWORK3(2)
?6DS BCS QNEXTDVI [ISPER LABEL
?6FB BRN QNEXTDEV
?6^2 NODEV
?6^7 #UNS FSHTEST
?6^# #SKI
?6^F (
?754 )
?7DL # ALL LOCAL DEVICES HAVE NOW BEEN EXAMINED. NOW TO ANALYSE MASTER
?7Y= # MARKER TO DECIDE ON THE REPLY
?8CW #
?8XG LDX 0 AWORK2(2) [LOAD MASTER MARKER
?9C6 XAMINE [ENTRY FROM IDFPERIS
?9WQ #SKI K6PERI>199$199
?=BB TRACE 0,GPMASTER [TRACE MASTER MARKER
?=W2 SRL 0 1 [ REPLY
??*L BZE 0 NOPER [ NOPER
??GS ...#SKI G167&1
??N2 ...XXAMINE
??T= SRL 0 1
?##W BZE 0 NOPROP [ NOPROP
?#SG SRL 0 1
?*#6 BZE 0 PERMEXCL [ PERMEXCL
?*RQ SRL 0 1
?B?B BZE 0 WRNG [ WRNG
?BR2 SRL 0 1
?C=L BZE 0 NOTAV [ NOTAV
?CQ= LDXC 0 AWORK3(2)
?D9W BCS OK [IF ISPER - OK
?DPG # DEVICE OK EXCEPT FOR TEMPORARY PROPERTY CONFIGURATION
?F96 SAWCEN CENTRAL,NOTCENTRAL [BR IF REMOTE DEVICE ALLOCATED
?FNQ LDX 1 CPPTR(2) [LOCAL DEVICE - LOAD CPPTR
?G8B #SKI K6PERI>99$99
?GN2 TRACE 1,ALLOTPET
?H7L SETALLOC 1 [MARK DEVICE ALLOCATED
?HM= LDCH 0 ATYPE(2)
?J6W SBN 0 ACTLF/64
?JLG BNZ 0 NOTLF [BR IF NOT CO
?K66 LGEOG 1,0
?KKQ STO 0 JSOURCE1(2) [SET UP JSOURCE1
?L5B LTYPE 1,0
?LK2 DCH 0 JSOURCE1(2)
?M4L NOTCENTRAL
?MJ= SETREP2 PREQ [SET 'CHANGES IN TEMPORARY PROPERTY
?N3W # ATTRIBUTIONS REQUIRED' REPLY
?NHG UPPLUS 2 [AND RETURN
?P36 #
?PGQ # * * ***
?Q2B # * * *
?QG2 # ** ***
?Q^L # * * *
?RF= # * * ***
?RYW #
?SDG X3GETFREE
?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 #
?XB= NOTLF ACROSS GETFREEB,1
?XTW #
?Y*G #
C??B XIDFBRK
C?R2 VFREEW APERI,APROPNOS [FREE ANY APROPNOS BLOCK
C#2S SETREP CANT
C#=L UP
C#Q= #
CF6W PERFECT [PERFECT FIT FOUND
CFLG LDXC 0 AWORK3(2)
CG66 BCS SETOK [SET REPLY IF ISPER
CGKQ SETALLOC 1 [ELSE ALLOCATE THE DEVICE
CH5B LDCH 0 ATYPE(2)
CHK2 SBN 0 ACTLF/64
CJ4L BNZ 0 NJS [BR IF NOT ACTLF
CJJ= LGEOG 1,0
CK3W STO 0 JSOURCE1(2) [SET UP JSOURCE1
CKHG LTYPE 1,0
CL36 DCH 0 JSOURCE1(2)
CLGQ NJS
CM2B STO 1 CPPTR(2) [STORE CPPTR
CMG2 #SKI K6PERI>99$99
CM^L TRACE 1,ALLOTPER
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 # * * *
CPY6 # * * **
CQCQ # ** * *
CQXB # * * *****
CRC2 # * * *
CRWL #
CSB= X4GETFREE
CSTW # THIS ENTRY POINT SERVICES THE ISPERG MACRO. IT COMBINES THE
CT*G # FUNCTIONS OF ISPER AND GETPER
CTT6 #
CW#Q STO 2 AWORK3(2) [MARK AS GETPER
CWSB BRN XISPERG [AND BR TO DO GETPER
CX#2 #
CXRL #
CY?= # * * ****
CYQW # * * *
C^=G # ** ***
C^Q6 # * * *
D29Q # * * ***
D2PB #
D392 X5GETFREE
D3NL # THIS ENTRY POINT SERVICES THE CHECKATT MACRO. IT SETS A REPLY
D48= # ACCORDING TO THE DEGREE OF ACCORDANCE BETWEEN THE PROPERTIES IN ANY
D4MW # APROPNOS BLOCK AND THOSE ATTRIBUTED TO THE DEVICE OWNED BY THE
D57G # CURRENT ACTIVITY (AS DEFINED BY CPPTR)
D5M6 #
D5S# #UNS G3SIGNET
D5^G #SKI
D66Q HUNTW 3,APERI,APROPNOS [X3 -> APROPNOS OR -VE
D6?Y #UNS G3SIGNET
D6F6 CALL 5 SCHECKMDEV1 [CHECKOUT MEEP LP OWNERSHIP/REQUEST
D6LB LADDP ,1 [ADDRESS OF APIA
D762 CALL 7 SCHECKATT [COMPARE PROPERTIES
D7KL #SKI K6PERI>199$199
D85= TRACE 5,CHECKATT [CHECK ATT REPLY
D8JW BZE 5 OK [ OK
D94G LDN 0 2
D9J6 ANDX 0 5
D=3Q BNZ 0 NOPROP [ NOPROP
D=HB LDN 0 4 [
D?32 ANDX 0 5
D?GL BNZ 0 PERMEXCL [ PERMEXCL
D#2= BRN NOTCENTRAL [ PREQ
D#35 #
D#3Y #
D#4R # * * * *
D#5L # * * ** **
D#6F # ** * *
D#7# # * * * *
D#87 # * * *** ***
D#92 #
D#9T X11GETFREE
D#=N # ENTRY USED BY CHANGELIST COMMAND TO DO ISPER
D#?H # MACRO EXCEPT APERI/APROPNOS BLOCK ALREADY SET UP
D##B #
D#*9 NGS 2 AWORK3(2) [ ISPER MACRO
D#B4 LDCH 7 ACOMMUNE7(2)
D#BX STO 7 AWORK4(2) [ PERIPHERAL TYPE
D#CQ BRN PERIPHERAL
D#CR #
D#DW #
D#DX #
D#FW #PAGE
D#^G MENDAREA 45,K100GETFREE
D*F6 #END
^^^^ ...31754577000200000000