REPERT867

(George Source)

Macros used: BXE, CHNUMCOD, COMERRX, ENDCOM, FREECORE, GEOERR, GEOPACK, JFREE, LADDP, LFPACTLF, LPROP, LTYPE, MHUNT, MHUNTW, MONOUTX, OUTBLOCK, OUTPACK, OUTPACKX, PARABEG, PARANUMB, PARSORTX, PARUNACC, SAWCEJX, SEGENTRY, SPARANOX, TESTREP2, TRACE, UNIFREE

REPERT867.txt
2278 ...#OPT  K0REPERT=0
22#B ...#LIS  K0REPERT>K0ALLGEO>K0GREATGEO>K0COMMAND
22FL    #SEG  REPERT8   
22^=          8HREPERT  
2394 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983
23DW          SEGENTRY K1REPERT,POINT1  
23GK ...[     THIS SEGMENT IMPLEMENTS THE REPERTOIRE COMMAND
23J# ...[     WHICH INTERROGATES/INFORMS THE SYSTEM OF THE  
23L3 ...[     REPERTOIRE OF A CENTRAL LINE PRINTER. 
23MQ ...[     THE 'REPERTOIRE' INCLUDES :-  
23PF ...[     1. THE CHARACTER SET  (IF A TRAIN PRINTER)
23R8 ...[     2. THE ASSUMED PRINT WIDTH
23SX ...[     3. THE ASSUMED PAGELENGTH 
23WL ...[     ************************* 
23YG    [   
24D6    [     DATA  AREA
24XQ    [   
257J ...[     ************************* 
25CB    PARTBL         +6                  [LENGTH PARAMETER
25X2                   8HLENGTH 
26BL                   +TLEN
26W=    XLEN           #20                 [B19 SET IF LENGTH SPECIFIED 
27*W                   +5                  [WIDTH PARAMETER 
27TG                   8HWIDTH  
28*6                   +TWID
28SQ    XWID           #10                 [B20SET IF WIDTH SPECIFIED   
29#B                   +7                  [CHARSET PARAMETER   
29S2                   8HCHARSET
2=?L                   +TCHA
2=R=    XCHA           #4                  [B21 SET IF CHARSET SPECIFIED
2?=W    XLP            +2   
2?QG ...XTRLP          #20000   
2#=6    XPP            +160 
2#PQ                   +132 
2*9B                   +120 
2*P2                   +96  
2B8L    XLEMSK         #7777
2B96 ...XCHMSK         #77774777
2B9M ...[ MESSAGE IDENTIFIERS   
2B=N ...XJRR           +JRR 
2B?P ...XJRRWI         +JRRWI   
2B#Q ...XJRRLE         +JRRLE   
2B*R ...XJNOPAR        +JNOPAR  
2BBS ...XJILLCH        +JILLCH  
2BCT ...XJSMALL        +JSMALL  
2BDW ...XJLARGE        +JLARGE  
2BFX ...XJINCAP        +JINCAP  
2BGY ...XJPARMIS       +JPARMIS 
2BH^ ...XJPERMIS       +JPERMIS 
2BK2 ...XJRES          +JRES
2BL3 ...XJNOTCT        +JNOTCT  
2BM4 ...XJNOTTR        +JNOTTR  
2BN=    [   
2C7W    [     ******************************
2CMG    [              SUBROUTINE  AREA 
2D76    [     ******************************
2DLQ    [   
2F6B    SPARPER 
2FL2    [ THIS S/R SETS UP A GMON/ASET BLK & DOES AN OUTPACK
2G5L    [ FOR THE PERIPHERAL PARAM. IN THE MESSAGE  
2GK=          SBX   7  FX1  
2H4W          LDN   5  6
2HJG          OUTBLOCK 5
2J46    ST1   MHUNTW   2,CPAR,JSCE  
2JHQ          GEOPACK  4,JSCEA(2)   
2K3B          OUTPACK  4,1,GEOPER,ST1      [J TO ST1 IF COORD.  
2KH2          ADX   7  FX1  
2L2L          EXIT  7  0
2LG=    [   
2L^W    SPARNUM 
2MFG    [ THIS S/R DOES AN OUTPACKX FOR THE NUMBER PARAM.   
2M^6          SBX   7  FX1  
2NDQ          LDN   4  1
2NYB          LDN   5  JPDNUMA  
2PD2          OUTPACKX 3,4,5,PARM          [J TO PARM IF COORD. 
2PXL          MONOUTX  6
2QC=          ADN   7  1
2QWW    PARM  ADX   7  FX1  
2RBG          EXIT  7  0
2RW6    SERR
2S*Q          SBX   7  FX1  
2STB          MHUNTW   3,CPAR,JSCE  
2T*2          LDX   4  JSCEP(3) 
2TSL          FREECORE 3
2W#=          SRL   4  12   
2WRW ...      SPARANOX  4   
2X?G          ADX   7  FX1  
2XR6          EXIT  7  0
2Y=Q    [   
2YQB    [     ENTRY  POINT  
2^=2    POINT1  
2^PL ...      PARANUMB 4                    [HOW MANY PERAMETERS
329=          STOZ     AWORK1(2)
32NW          BZE   4  NOPARAMS            [NO COMMAND PARAMETERS   
338G          SBN   4  2
33N6          BPZ   4  START               [J IF MORE THAN ONE PARAMETER
343T ...      LDX   0  GSIGN
34CJ ...      STO   0  AWORK4(2)
34R? ...      BRN      TPER                [J TO DO PARSORT ETC.
3572    START   
35LL          STOZ     AWORK4(2)
366= ...      LDN   7  10   
36KW    SRET  ADX   1  7                   [SET MODIFIER FOR PARAMETER TABLE
375G          LDX   5  PARTBL(1)           [GET PARAMETER LENGTH
37K6    TLOOP   
384Q          PARABEG  1,5,PARTBL+1(1),,0  [PASS FIRST UNACCESSED PARAM 
38JB          MHUNT    3,CPB,CUNI          [FIND BLOCK  
3942          LDX   4  ANUM(3)  
39HL          BNG   4  SRET2               [NO PARAMETER
39L9 ...      SMO     7 
39NS ...      LDX   0  PARTBL+4(1)         [SET APPROP. BIT IN AWRK4
39W2 ...      ORS   0  AWORK4(2)           [TO INDICATE WHICH PARAM GIVEN   
3=3=          BZE   4  SETDEF              [J IF NO FURTHER CHARS IN STRING 
3=GW          CHNUMCOD                     [CONVERT PARAMETER TO BINARY 
3?G6          TESTREP2 CHNUMERR,TEND
3?^Q          SMO      7                   [FIND WHICH ROUTINE TO USE   
3#FB          LDX   6  PARTBL+3(1)  
3#^2          ADX   6  1
3*DL          LDX   5  ACOMMUNE1(2)        [GET RESULT OF CONVERSION
3*Y=          BRN      (6)                 [J TO APPROPRIATE ROUTINE
3BCW    SRET2 FREECORE 3                   [NO PARAM FOUND - FREE BLK   
3BXG          SBN   5  3                   [JUMP IF SHORTENED PARAMETER 
3CC6 ...      BNG   5  RETURN              [HAS ALREDY BEEN LOOKED FOR  
3CWQ          LDN   5  2                   [OTHERWISE SET PARAM LENGTH TO 2 
3DBB          ADX   1  7                   [RESET MODIFIER  
3DW2          BRN      TLOOP               [AND BRN BACK
3F*L    RETURN  
3FT=          BZE   7  TPER                [J IF ONLY PERIPHERAL PARAM REMAINS  
3G#W                                       [TO BE LOOKED AT 
3GSG ...      SBN   7  5                   [UPDATE POINTER TO TABLE 
3H#6          BRN      SRET 
3HRQ    [   
3J?B    [CHARACTER SET PARAMETER
3JR2    [   
3K=L    TCHA
3KQ=          LDCT  4  #400 
3L9W          SBN   5  48   
3LPG          BZE   5  TCHA1               [J IF 48 SPECIFIED   
3M96          STOZ     4
3MNQ          SBN   5  16   
3N8B          BZE   5  TCHA1               [J IF 64 SPECIFIED   
3NN2          LDCT  4  #200 
3P7L          SBN   5  32   
3PM=          BNZ   5  YILLCH              [J IF ILLEGAL CH. SET
3Q6W    TCHA1   
3QLG          STO   4  AWORK1(2)
3R66          BRN      RETURN              [J TO LOOK FOR WIDTH PARAM   
3RKQ    [   
3S5B    [     WIDTH PARAMETER   
3SK2    [   
3T4L    TWID
3TJ=          STO   5  AWORK2(2)
3W3W          LDN   6  141  
3WHG          BRN      TCOMM               [J TO COMMON CODE
3X36    [   
3XGQ    [     LENGTH PARAMETER  
3Y2B    [   
3YG2    TLEN
3Y^L          STO   5  AWORK3(2)
3^F=          LDN   6  4076 
3^YW    TCOMM SBN   5  20   
42DG          BNG   5  YSMALL              [PARAMETER VALUE TOO SMALL   
42Y6          SBX   5  6
43CQ          BPZ   5  YLARGE              [PARAMETER VALUE TOO LARGE   
43XB          BRN      RETURN   
44C2    [ HERE WE DEAL WITH SETTING DEFAULT VALUES  
44WL    [ FOR CHARSET,WIDTH AND LENGTH  
45B=    SETDEF  
45TW          UNIFREE   
46*G ...      SBN   7  5                   [X7 CONTAINS 8,4 OR ZERO 
46T6          BZE   7  SDEFW               [J TO SET DEFAULT WIDTH  
47#Q          BNG   7  SDEFL               [J TO SET DEFAULT LENGTH 
47SB ...      LDN   4  0                   [SET MODIFIER FOR CHARSET FLAG   
48#2 ...      BRN   SRET                  [TO DEFAULT OF 64 
48RL    SDEFW   
49?=          NGN   0  1
49QW          STO   0  AWORK2(2)           [FLAG TO INDICATE H/W WIDTH ASSUMED  
4==G ...      BRN      SRET                [NOW J TO LOOK FOR LENGTH PARAM  
4=Q6    SDEFL   
4?9Q          LDX   0  GSIGN
4?PB          STO   0  AWORK3(2)           [AWORK3 NEGATIVE IF DEFAULT LENGTH   
4#92 ...      BRN      TPER 
4#NL    [NOW FOR THE PERIPHERAL PARAMETER   
4*8=    TPER  PARUNACC                     [PASS NEXT UNACCESSED PARAMETER  
4*MW          MHUNT    3,CPB,CUNI   
4B7G          LDX   0  ANUM(3)  
4BM6          BNG   0  YNOPER              [NO PERIPHERAL PARAMETER 
4C6Q          LDX   5  JPARNUM(3)          [PARAMETER NUMBER FOR PARSORTX   
4CLB ...      PARSORTX SBRK,5,INCOUT,GROPE  
4D62          MHUNT    2,CPAR,JSCE  
4DKL          BNG   2  TEND                [IF NO PERIPHERAL PARAM - ENDCOM 
4F5=          LDX   3  JSCEP(2)            [GET POINTER TO DEVICE LIST  
4FJW          LTYPE    3,4                 [PERIPHERAL TYPE TO X4   
4FP# ...      BXE   4  XLP(1),XYLP         [J. PRINTER  
4GCG ...      BRN      NCENT               [J. NOT CENTRAL  
4GJ6    [J TO NCENT IF DEVICE NOT PRINTER OR IF NOT CENTRAL PRINTER 
4GWH ...[(OR IF NOT CENTRAL TAPE PUNCH - G.S. ONLY) 
4HCW ...XYLP
4HHB ...      SAWCEJX  JSCEB(2),TCENT,NCENT,NCENT   
4J32    [ FIRST CHECK IF DEVICE IS A TRAIN PRINTER  
4JGL    [   
4K2=    [ X3 HOLDS POINTER TO DEVICE LIST   
4KFW    TCENT   
4KG7 ...      LDX   2  FX2  
4K^G          LDX   0  K52+1(3)            [B 10 SET IF TRAIN PRINTER   
4LF6          ANDX  0  XTRLP(1) 
4LYQ          BNZ   0  TCHAR               [J IF TRAIN PRINTER  
4MDB          LDX   6  GSIGN               [IF NOT SET AWORK1 NEGATIVE  
4MY2          STO   6  AWORK1(2)           [FOR LATER USE   
4NCL    [ WAS CHARSET OF CH SPECIFIED?  
4NX=    [   
4PBW    TCHAR   
4PWG          LDX   0  AWORK4(2)
4QB6 ...      ANDX  0  XCHA(1)  
4QTQ          BZE   0  NOCHA               [NO CHARSET PARAMETER
4R*B          BNG   6  NOTTR               [COMERR - NOT TRAIN PRINTER  
4RT2    NOCHA   
4S#L          LDX   0  AWORK4(2)
4SS= ...      ANDX  0  XWID(1)  
4T?W ...      BZE   0  TRR                [NO WIDTH PARAMETER   
4TRG ...[ NOW GET H/W WIDTH OF PRINTER  
4W?6    [   
4WQQ ...      LPROP    3,4                 [PICK UP PROPERTY BITS   
4Y9L ...      LDN   7  160  
4YP= ...      SRC   4  5
4^8W ...      BNG   4  TSTOW               [J IF 160 PP 
4^NG ...      SBN   7  28   
5286 ...      SLC   4  3
52MQ ...      BNG   4  TSTOW               [J IF 132 PP 
537B ...      SBN   7  12   
53M2 ...      SRC   4  2
546L ...      BNG   4  TSTOW               [J IF 120 PP 
54L= ...      SBN   7  24   
555W ...TSTOW   
56JQ          LDX   0  AWORK2(2)
574B          BNG   0  TNEXT               [J IF H/W WIDTH ASSUMED  
57J2          SBX   7  0
583L          BNG   7  YINCAP              [WIDTH SPECIFIED > H/W WIDTH 
588S ...      BRN      TRR  
58B3 ...TNEXT   
58ND ...      STO   7  AWORK2(2)
5984 ...TRR 
5=26          LDX   0  AWORK4(2)           [IF INTERROGATORY REPERTOIRE 
5=FQ          BNG   0  TINT                [GO ON TO OUTPUT MESSAGES
5=^B    [ OTHERWISE CHECK IF PRINTER FREE  OR   WAITING FOR PROPERTY ATTR.  
5?F2 ...      JFREE    3,TFREE             [J IF PRINTER FREE   
5?YL          MHUNTW   3,CPAR,JSCE         [ELSE CHECK WAITING STYLE
5#D=          GEOPACK  4,JSCEA(3)   
5#XW          LFPACTLF 4,3                 [LOCATE ACTLF
5*CG          BNG   3  YNREQ               [J IF NO ACTLF   
5*X6          LDEX  0  CLONG1(3)
5BBQ          SBN   0  #73  
5BWB          BNZ   0  YNREQ               [J IF WS NOT #73 
5CB2    [  NOW CHECK ON PARAMETERS GIVEN AND SET
5CTL    [  APPROPRIATE BITS IN DEVICE LIST AND APIA 
5D*=    TFREE   
5DSW          LDX   2  FX2  
5G48 ...      MHUNTW  3,CPAR,JSCE   
5G#= ...      LDX   4  JSCEP(3) 
5GHS ...      LDX   7  AWORK4(2)
5GJ4 ...      ANDX  7  XCHA(1)  
5GJ9 ...      LADDP    4,3            [X3 = PNTR TO APIA
5GJB ...      BZE   7  SWID                [J IF CH. NOT SPECIFIED  
5GYH ...      LDX   0  AREPERT(3)   
5H#N ...      ANDX  0  XCHMSK(1)
5HNT ...      LDX   7  AWORK1(2)
5J52 ...      SRL   7  13   
5JF7 ...      ORX   0  7
5JT# ...      STO   0  AREPERT(3)            [SET CH BITS 13,14 
5K9G    [NOW DEAL WITH WIDTH
5KP6    SWID
5LNB          LDX   7  AWORK4(2)
5M82          ANDX  7  XWID(1)  
5MML          BZE   7  SLEN                [J IF WIDTH NOT SPECIFIED
5N7=          LDX   6  AWORK2(2)
5NLW ...      DEX   6  AREPERT(3)          [PUT WIDTH INTO BOTTOM 9 BITS
5PL6    SLEN
5Q5Q          LDX   7  AWORK4(2)
5QKB          ANDX  7  XLEN(1)  
5R52          BZE   7  TCHECK              [J IF LENGTH NOT SPECIFIED   
5RJL          LDX   6  AWORK3(2)
5S4=          LDX   0  XLEMSK(1)
5SHW ...      ANDS  0  AREPERT(3)          [MASK OUT B0-11  
5T3G          BPZ   6  SETL 
5TH6          LDN   0  65                  [SET B0-11 OF LREPERT TO 
5W2Q          STO   0  AWORK3(2)
5W=J ...      SLL   0  12   
5WGB ...      ORS   0  AREPERT(3)          [DEFAULT OF 65   
5X22          BRN      TCHECK              [NOW J TO OUTPUT MESSAGES IF NECC.   
5XFL    SETL
5X^=          SLL   6  12   
5YDW ...      ORS   6  AREPERT(3)          [PUT SPECIFIED LENGTH IN B0-11   
5YYG    [ NOW RE-CHECK PARAMS GIVEN AND OUTPUT APPROPRIATE MESSAGE  
5^D6 ...TCHECK  
5^XQ          LDX   6  AWORK4(2)
62CB          SRC   6  3
62X2          BNG   6  TMESC
63BL ...      SRC   6  2
63W= ...      BNG   6  ROUTL
64*W ...      SLC   6  1
64TG ...      BNG   6  ROUTW
65*6          TRACE 6,RRAWRK4   
65SQ          BRN      TEND 
66#B    [ INTERROGARY RR - WE NOW OUTPUT REPERTOIRE MESSAGES
66S2    [ FIRST CHECK IF DEVICE IS A TRAIN PRINTER -FLAG WORD AWORK1
67?L    TINT
67R=          LDX   0  AWORK1(2)
68=W          BNG   0  TMESW               [NOT TRAIN PRINTER   
68MW ...[ GET CHARSET FRO APIA  
694X ...TMESC MHUNTW   3,CPAR,JSCE  
69C# ...      LDX   3  JSCEP(3) 
69KS ...      LADDP    3,3  
69S# ...      LDX   6  AREPERT(3)   
6=2S ...      SLL   6  13   
6=9B          SRL   6  22   
6=P2          BNZ   6  T96  
6?8L ...T64   LDN   0  64                  [IF 64 CH SET
6?N=          STO   0  AWORK1(2)           [AWORK1 TO BE USED IN SPAREOUT   
6#7W ...      BRN      TMESW
6#MG    T96   SBN   6  1
6*76          BNZ   6  T48  
6*LQ          LDN   0  96   
6B6B          STO   0  AWORK1(2)           [IF 96 CH SET
6BL2 ...      BRN      TMESW
6C5L    T48   SBN   6  1
6CK=          BNZ   6  TRESET              [J.IF BIT SETTING WRONG  
6D4W          LDN   0  48   
6DJG          STO   0  AWORK1(2)
6F46 ...      BRN      TMESW
6FHQ ...[ IF BIT SETTING CH SET WRONG WE MUST RESET IT TO 64
6G3B    TRESET  
6GH2 ...      TRACE 6,RRAPERT?  
6H2L ...      LDX   0  XCHMSK(1)
6HG= ...      ANDS  0  AREPERT(3)            [CLEAR CH BITS 
6H^W          BRN      T64  
6JFG    [ WE HAVE THE APPROPRIATE CHAR. SET IN AWORK1   
6J^6    [ NOW GET WIDTH FROM APIA   
6KDQ    TMESW   
6KNJ ...      MHUNTW   3,CPAR,JSCE  
6KYB ...      LDX   3  JSCEP(3) 
6L88 ...      LADDP  3,3
6LD2          LDX   2  FX2  
6LXL ...      LDEX  0  AREPERT(3)          [WIDTH HELD IN BOTTOM 9 BITS 
6MC=          STO   0  AWORK2(2)           [TO BE USED LATER
6MWW    [ NOW GET PAGELENGTH FROMAPIA   
6NBG    TMESL   
6NW6 ...      LDX   0  AREPERT(3)   
6P*Q          SRL   0  12   
6PTB          STO   0  AWORK3(2)           [PUT LENGTH IN AWORK3
6Q*2    [ NOW WE OUTPUT THE PRINTER REPERTOIRE MESSAGES 
6QSL    [ AT THIS POINT :   
6R#=    [   
6RRW    [     AWORK1 = CHARSET  
6S?G    [     AWORK2 = WIDTH
6SR6    [     AWORK3 = LENGTH   
6T=Q    [ FIRST OF ALL THE CHARACTER SET MESSAGE!   
6TQB    ROUTC   
6TXJ ...      LDX   0  AWORK1(2)
6W4R ...      BNG   0  ROUTL
6W=2          CALL  7  SPARPER             [OUTPACK FOR PERI PARAM  
6WPL    ST2   LDN   3  AWORK1(2)           [START ADDRESS OF CH PARAM   
6X9= ...      LDX   6  XJRR(1)             [CH. SET MESSAGE IDENTIFIER  
6XNW          CALL  7  SPARNUM             [OUTPACKX PLUS MONOUT
6Y8G          BRN      ST2                 [IF COORDINATION DURING OUTPACK  
6YN6          LDX   0  AWORK4(2)
6^7Q ...      BNG   0  ROUTL               [J IF INTERR. RR 
6^MB ...      SRC   0  5
7272          BPZ   0  TCHEK
72J? ...[ OTHERWISE OUTPUT PAGELENGTH MESS. 
72^J ...ROUTL   
73BT ...      CALL  7  SPARPER  
73S6 ...ST4   LDN   3  AWORK3(2)
749C ...      LDX   6  XJRRLE(1)           [LENGTH MESS. IDENTIFIER 
74LN ...      CALL  7  SPARNUM  
753^ ...      BRN      ST4  
75F= ...TCHEK   
75WH ...      LDX   0  AWORK4(2)
76?S ...      BNG   0  ROUTW               [J IF INTERR. RR 
76P5 ...      SRC   0  4
776B ...      BPZ   0  TEND                [ENDCOM !
77HM ...[ NOW FOR THE PRINT WIDTH MESSAGE   
77YY ...ROUTW   
78B9 ...      CALL  7  SPARPER  
78RG ...ST3   LDN   3  AWORK2(2)
798R ...      LDX   6  XJRRWI(1)           [WIDTH MESS. IDENTIFIER  
79L4 ...      CALL  7  SPARNUM  
7=3* ...      BRN      ST3  
7=DL    TEND
7=Y=          ENDCOM
7?CW    [     NOW FOR THE EXCEPTION PATHS   
7?XG    NOPARAMS
7#9X ...      LDX   1  FX1  
7#J# ...      LDX   6  XJNOPAR(1)   
7#WQ          BRN      REPORT   
7*BB    [   
7*W2    YILLCH  
7B8C ...      LDX   1  FX1  
7BGS ...      LDX   6  XJILLCH(1)   
7BT=          BRN      REPORT   
7C#W    [   
7CSG    YSMALL  
7D6X ...      LDX   1  FX1  
7DF# ...      LDX   6  XJSMALL(1)   
7DRQ          BRN      REPORT   
7F?B    [   
7FR2    YLARGE  
7G5C ...      LDX   1  FX1  
7GCS ...      LDX   6  XJLARGE(1)   
7GQ=          BRN      REPORT   
7H9W    [   
7HPG    YINCAP  
7J3X ...      LDX   1  FX1  
7JB# ...      LDX   6  XJINCAP(1)   
7JNQ          BRN      REPORT   
7K8B    [   
7KN2    YNOPER  
7KXS ...      LDX   6  XJPARMIS(1)  
7L7L ...      LDX   7  XJPERMIS(1)  
7LCD ...      COMERRX  6,7  
7LM=    [   
7M6W    YNREQ   
7MF? ...      LDX   1  FX1  
7MRN ...      LDX   6  XJRES(1) 
7N66          BRN      REP  
7NKQ    [   
7P5B    NCENT   
7PCR ...      LDX   1  FX1  
7PQ8 ...     LDX    6  XJNOTCT(1)   
7Q4L          BRN      REP  
7QJ=    [   
7R3W    NOTTR   
7RB? ...      LDX   1  FX1  
7RNN ...      LDX   6  XJNOTTR(1)   
7S36    REP   CALL  7  SERR 
7SGQ    [   
7T2B    REPORT  
7TG2          COMERRX  6
7T^L    [   
7WF=    SBRK
7WYW          GEOERR   1,RRBRKIN
7XDG    #END
^^^^ ...074316060001