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