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