OPR TITLE 'DMKOPR (CP) VM/370 - RELEASE 6' 00001000 ISEQ 73,80 VALIDATE SEQUENCING OF ASSEMBLE FILE 00002000 *. 00003000 * MODULE NAME - 00004000 * 00005000 * DMKOPR 00006000 * 00007000 * FUNCTION - 00008000 * 00009000 * PROVIDE THE NECCESSARY SUPPORT FOR FOR VM/370 CONSOLE. 00010000 * CERTAIN ROUTINES WITHIN THE CONTROL PROGRAM CAN NOT 00011000 * CALL DMKQCN TO ISSUE WRITES TO THE SYSTEM OPERATOR, 00012000 * THIS MODULE WILL DETERMINE THE SYSTEM'S PRIMARY CONSOLE ; 00013000 * (3210, 3215, 3066, 3270,3278), AND BUILD A CHANNEL PROGRAM 00014000 * TO HANDLE THE REQUESTED CALL. 00015000 * 00016000 * 00016100 * IF MESSAGE LENGTH IS GREATER THAN 160 BYTES AND MESSAGE 00016200 * IS FOR A GRAPHICS TYPE DEVICE IT WILL BE TRUNCATED TO 00016300 * 160 BYTES. 00016400 * 00016500 *. 00017000 EJECT 00018000 COPY OPTIONS 00019000 COPY LOCAL OPTIONS 00020000 EJECT 00021000 DMKOPR START 00022000 USING PSA,R0 00023000 USING RDEVBLOK,R8 REAL DEVICE BLOCK 00024000 SPACE 00025000 EXTRN DMKRIODV,DMKRIOCN @V200820 00026000 ENTRY DMKOPRWT @V200731 00027000 SPACE 00028000 *. 00029000 * SUBROUTINE NAME - 00030000 * 00031000 * DMKOPRWT - TO WRITE TO SYSTEMS CONSOLE 00032000 * 00033000 * FUNCTION - 00034000 * 00035000 * TO INITIATE WRITE TO THE PRIMARY SYSTEMS CONSOLE 00036000 * 00037000 * ATTRIBUTES - 00038000 * 00039000 * SERIALLY REUSABLE, CALLED BY BALR R14,R15 00040000 * 00041000 * ENTRY CONDITIONS - 00042000 * 00043000 * GPR0 = MAXIMUM NUMBER OF BYTES 00044000 * GPR1 = ADDRESS OF BUFFER 00045000 * GPR2 = PARAMETER REGISTER - 00046000 * NOAUTO - PREVENT AUTO-CARRIAGE RETURN 00047000 * ALARM - RING THE ALARM 00048000 * GPR14 = RETURN ADDRESS 00049000 * GPR15 = ADDRESS OF DMKOPRWT 00050000 * 00051000 * EXIT CONDITIONS - 00052000 * 00053000 * GPR0 - GPR15 = UNCHANGED 00054000 * CONDITION CODE = 0 (NO ERRORS DETECTED) 00055000 * CONDITION CODE = 1 (ERROR DETECTED - EXAMINE CSW) 00056000 * CONDITION CODE = 2 (MISUSE OF PARAMETERS) 00057000 * CONDITION CODE = 3 (DEVICE IS NON-EXISTANT) 00058000 * 00059000 * CALLS TO OTHER ROUTINES - NONE 00060000 * 00061000 * EXTERNAL REFERENCES - 00062000 * 00063000 * DMKRIODV - ADDRESS OF REAL DEVICE BLOCKS 00064000 * DMKRIOCN - ADDRESS OF POINTER TO SYSTEM PRIMARY CONSOLE 00065000 * 00066000 * TABLES / WORK AREAS - NONE 00067000 * 00068000 * REGISTER USAGE - 00069000 * GPR0 = MAXIMUM BYTE COUNT 00070000 * GPR1 = ADDRESS OF CALLERS BUFFER 00071000 * GPR3 - GPR12 = WORK REGISTERS 00072000 * GPR13 = UNUSED 00073000 * GPR14 = RETURN REGISTER 00074000 * GPR15 = MODULE BASE REGISTER 00075000 *. 00076000 EJECT 00077000 USING DMKOPRWT,R15 00078000 DMKOPRWT DS 0D ENTRY FOR SYSTEM CONSOLE OUTPUT 00079000 STM R0,R15,OPREGS SAVE REGISTERS AT INPUT @V200731 00080000 ST R2,PARM2 SAVE PARAMETER REGISTER 00081000 L R8,=A(DMKRIOCN) GET PRIMARY SYSTEMS CONSOLE POINTER 00082000 LH R3,2(,R8) PICK UP CONSOLE ADDRESS FOR 'SIO' 00083000 LH R8,0(,R8) GET DISPLACEMENT OF RDEVBLOK 00084000 SLL R8,3(0) CONVERT TO BYTE INDEX @V200820 00085000 AL R8,=A(DMKRIODV) FORM ABSOLUTE ADDR. OF CONSOLE RDEVBLOK 00086000 STIDP CPUID STORE CPU IDENTIFICATION @V200731 00087000 CLI CPUVERSN,X'FF' IS THIS A VIRTUAL MACHINE ? @V200731 00088000 BNE TESTCNS NO, GO TEST CONSOLE ADDRESS @V200731 00089000 L R3,FFS GET ALL FFS @V200731 00090000 DC X'83340024' GET CONSOLE ADDRESS (VIRTUAL) @V200731 00091000 BO SETCC3 CONSOLE ADDRESS DOESN'T EXIST @V200731 00092000 B CNS3210 @V200820 00093000 SPACE 00094000 TESTCNS EQU * CHECK FOR GRAPHIC CONSOLE @V200820 00095000 CLI RDEVTYPC,CLASGRAF IS SYSTEM CONSOLE A 3277/3066 @V200731 00096000 BE GRAPHID YES, GO TO GRAPHIC SUPPORT @V200731 00097000 CNS3210 EQU * 00098000 TM PARM,NOAUTO IS A CARRIAGE RETURN NECESSARY @V200731 00099000 BZ WRT10CR YES, GET CORRECT CCWS @V200731 00100000 STCM R1,B'0111',WRT3210+1 RESOLVE CCW DATA ADDRESS @V200731 00101000 STH R0,WRT3210+6 STORE CCW COUNT 00102000 LA R5,WRT3210 ADDRESS OF THE CHANNEL PROGRAM 00103000 B SETCAW DO I/O 00104000 WRT10CR EQU * @V200731 00105000 STCM R1,B'0111',WRT3210A+1 RESOLVE CCW DATA ADDRESS @V200731 00106000 STH R0,WRT3210A+6 STORE CCW COUNT 00107000 LA R5,WRT3210A ADDRESS OF THE CHANNEL PROGRAM 00108000 B SETCAW DO I/O 00109000 SPACE 00110000 GRAPHID EQU * @V200731 00111000 MVC CPXYSTAT(20),RUNLABEL ASSUME 'RUNNING' STATUS @V200731 00112000 CLI RDEVTYPE,TYP3066 IS THIS A 3066 CONSOLE @V200731 00113000 BNE CON3270 NO, GO TO 3277 SUPPORT @V200731 00114000 LA R4,RDEVCORD GET POINTER TO CURRENT LINE @V200731 00115000 STCM R4,B'0111',WRTCRTXY+1 SAVE CURRENT LINE POINTER @V200731 00116000 BAL R10,SETMSLEN PUT MSG IN 80 OR 160 BYTE BUFFER @VA11129 00116100 LA R5,WRTCRTXY GET ADDRESS OF CHANNEL PROGRAM @V200731 00117000 STCM R1,B'0111',WRT3066+1 RESOLVE CCW DATA ADDR @V200731 00118000 STH R0,WRT3066+6 STORE THE CCW COUNT @V200731 00119000 B SETCAW NOW DO SIO FOR WRITE @V200731 00120000 SPACE 00121000 CON3270 EQU * @V200731 00122000 SR R4,R4 CLEAR REGISTER 4 @V200731 00123000 IC R4,RDEVCORD GET THE CURRENT LINE (Y CO-ORD) @V200731 00124000 SLL R4,1 SETUP THE INDEX INTO THE TABLE @V200731 00125000 LH R4,TABLE70(R4) GET THE LINE ADDRESS @V200731 00126000 CLI RDEVGRTY,MODEL2A IS THIS 3278 MODEL 2A? @V60A6B6 00126100 BNE TRY3273 TRY MODEL 3 HRC101DK 00126250 MVC LAB3270A+2(2),ADDR2A1 CHANGE ADDR FOR 3278 HRC101DK 00126300 MVC LAB3270A+8(2),ADDR2A2 HRC101DK 00126350 MVC MAXLEN,LEN327A MAX LEN FOR 3278 MOD2A=1440 HRC101DK 00126400 B MOD3278 DON'T OVERLAY WITH 3270 @V60A6B6 00126510 SPACE , HRC101DK 00126610 TRY3273 EQU * HRC101DK 00126620 CLI RDEVGRTY,MODEL3 IS THIS 3278 MODEL 3 ? HRC101DK 00126630 BNE TRY3274 TRY MODEL 4 HRC101DK 00126640 MVC LAB3270A+2(2),ADDR031 CHANGE ADDR FOR 3278 HRC101DK 00126650 MVC LAB3270A+8(2),ADDR032 HRC101DK 00126660 MVC MAXLEN,LEN3273 MAX LEN FOR 3278 MOD3 =2400 HRC101DK 00126670 B MOD3278 DON'T OVERLAY WITH 3270 HRC101DK 00126680 SPACE , HRC101DK 00126690 TRY3274 EQU * HRC101DK 00126700 CLI RDEVGRTY,MODEL4 IS THIS 3278 MODEL 4 ? HRC101DK 00126710 BNE YES3270 ASSUME MODEL 2 HRC101DK 00126720 MVC LAB3270A+2(2),ADDR041 CHANGE ADDR FOR 3278 HRC101DK 00126730 MVC LAB3270A+8(2),ADDR042 HRC101DK 00126740 MVC MAXLEN,LEN3274 MAX LEN FOR 3278 MOD4 =3280 HRC101DK 00126750 B MOD3278 DON'T OVERLAY WITH 3270 HRC101DK 00126760 SPACE , HRC101DK 00126770 YES3270 EQU * HRC101DK 00126780 MVC MAXLEN,LEN3272 MAX LEN FOR 3272=1760 HRC101DK 00126790 MOD3278 EQU * @V60A6B6 00126800 STCM R4,3,LAB3270+2 SAVE THE CURRENT LINE POINTER @V200731 00127000 BAL R10,SETMSLEN PUT MSG IN 80 OR 160 BYTE BUFFER @VA11129 00127100 STCM R1,B'0111',WRTCR70+1 GET THE MESSAGE ADDRESS @V200731 00128000 STH R0,WRTCR70+6 SAVE THE BYTE COUNT IN THE CCW @V200731 00129000 MVI LAB3270,WC6 TURN OFF ALARM BIT BY DEFAULT @VA08218 00129510 LA R5,WRTCRT70 GET ADDRESS OF CHANNEL PROGRAM @V200731 00130000 EJECT 00131000 SETCAW EQU * HERE TO ISSUE 'SIO' 00132000 TM PARM,ALARM SHOULD WE RING THE ALARM 00133000 BZ DEVTIO NO - WAS NOT ASKED TO DO SO. 00134000 MVI LAB3270,WC56 TURN ON 3270 ALARM CONTROL BIT @VA07600 00134500 ICM R5,B'1000',ALRMTIC CHAIN CCW STRING FROM 00135000 ST R5,ALRMTIC THE ALARM CCW... 00136000 LA R5,ALRMCCW LOAD NEW CAW ADDRESS 00137000 DEVTIO EQU * @V200731 00138000 LA R10,TIOT1 GET THE ADDRESS OF TIO @V200731 00139000 L R4,XRIGHT16 GET THE TIMEOUT COUNT @V200731 00140000 TIOT1 EQU * @V200731 00141000 TIO 0(R3) CLEAR ANY OUTSTANDING STATUS @V200731 00142000 BO SETCC3 NOT OPERATIONAL - SET CC = 3 @V200731 00143000 BC 4+2,TESTLOOP GO DECREMENT COUNT @V200731 00144000 ST R5,CAW STORE CAW ADDRESS @V200731 00145000 XC CSW,CSW CLEAR CSW FIELD @V200731 00146000 LA R5,10 ERROR RETRY COUNT = 10 @V200731 00147000 SIORETR1 EQU * @V200731 00148000 SIO 0(R3) ISSUE SIO @V200731 00149000 LA R10,TIOT2 GET THE ADDRESS OF TIO @V200731 00150000 L R4,XRIGHT16 GET THE TIMEOUT COUNT @V200731 00151000 TIOT2 EQU * @V200731 00152000 TIO 0(R3) WAIT FOR DEVICE END STATUS @V200731 00153000 BO SETCC3 NOT OPERATIONAL - SET CC = 3 @V200731 00154000 BC 4+2,TESTLOOP GO DECREMENT COUNT @V200731 00155000 TM CSW+4,UC WAS THERE AN ERROR CONDITION @V200731 00156000 BO SIORETRY YES, GO DECREMENT RETRY COUNT @V200731 00157000 CLI CPUVERSN,X'FF' RUNNING VIRTUALLY ? @V200820 00158000 BE SETCC0 YES - ALL FINISHED @VM08535 00159000 CLI RDEVTYPC,CLASGRAF IS DEVICE TYPE GRAPHIC ? @V200731 00160000 BNE SETCC0 NO -- RETURN TO CALLER @VM08535 00161000 SLR R10,R10 CLEAR REG 00162000 IC R10,RDEVCORD INSERT 3066 CORRIDINATE 00163000 LA R10,1(,R10) BUMP IT BY 1 LINE 00164000 CH R0,=H'80' DID CCW REACH BEYOND 1 LINE 00165000 BNH *+8 NO 00166000 LA R10,1(,R10) YES - INCREASE IT BY 1 MORE LINE 00167000 STC R10,RDEVCORD SAVE THE CURRENT POINTER 00168000 MH R10,=H'80' GET THE BYTE LENGTH @V200731 00169000 L R4,=F'2640' GET THE MAX. LENGTH @V200731 00170000 CLI RDEVTYPE,TYP3066 IS THIS A 3066 GRAPHIC ? @V200731 00171000 BE TEST3066 YES, GO CHECK FOR MAX. @V200731 00172000 L R4,MAXLEN GET THE MAX.LENGTH FOR 3270 @V60A6B6 00173000 TEST3066 EQU * @V200731 00174000 CR R10,R4 IS Y COORDINATE AT END OF CRT @V200731 00175000 BL SETCC0 NO - RETURN TO CALLER @VA14139 00176100 MVI RDEVCORD,0 YES - RESET TO TOP OF THE SCREEN 00177000 B SETCC0 ALL DONE - RETURN @VM08535 00178000 SIORETRY EQU * @V200731 00179000 BCT R5,SIORETR1 DECREMENT RETRY COUNT @V200731 00180000 B SETCC1 GO SET CONDITION CODE 1 @V200731 00181000 TESTLOOP EQU * @V200731 00182000 BCTR R4,R10 DECREMENT TIO INSTRUCTION COUNT @V200731 00183000 B SETCC2 GO SET CONDITION CODE 2 @V200731 00184000 EJECT 00185000 SETCC0 CLI *+1,255 SET CONDITION CODE = 0 00186000 B RSTREGS RESTORE USERS REGISTERS 00187000 SETCC1 TM *,X'FF' SET CONDITION CODE = 1 00188000 B RSTREGS RESTORE USERS REGISTERS 00189000 SETCC2 CLI *,X'00' SET CONDITION CODE = 2 00190000 B RSTREGS RESTORE USERS REGISTERS 00191000 SETCC3 TM *+1,255 SET CONDITION CODE = 3 00192000 RSTREGS LM R0,R15,OPREGS RESTORE CALLERS REGISTERS @V200730 00193000 BR R14 RETURN TO CALLER 00194000 SETMSLEN DS 0H @VA11129 00194100 LR R5,R0 GET MESSAGE LENGTH @VA12247 00194125 CH R0,=H'80' WHAT IS MESSAGE LENGTH @VA11129 00194140 BL MSLEN80 LESS THAN SET TO 80 @VA11129 00194160 BER R10 IF EQUAL TO 80, CONTINUE @VA11129 00194180 CH R0,=H'160' IS IT MORE THAN 160 BYTES @VA11129 00194200 BNH MSLEN160 YES, SET IT FOR 160 BYTES @VA11129 00194220 LA R5,160 SET MOVE FOR MAXIMUM LENGTH @VA11129 00194240 MSLEN160 DS 0H @VA11129 00194260 LA R0,160 SET WRITE FOR MAXIMUM LENGTH @VA11129 00194280 B SETMS @VA11129 00194300 MSLEN80 DS 0H @VA11129 00194320 LA R0,80 SET WRITE FOR MINIMUM LENGTH @VA11129 00194340 SETMS DS 0H @VA11129 00194360 XC MSGBUF(160),MSGBUF CLEAR BUFFER @VA11129 00194380 BCTR R5,0 SUBTRACT ONE FOR EXECUTE @VA11129 00194400 EX R5,MSGMVC MOVE MESSAGE TO BUFFER @VA11129 00194420 LA R1,MSGBUF @VA11129 00194440 BR R10 RETURN TO MAINLINE @VA11129 00194460 SPACE 2 00194480 MSGMVC MVC MSGBUF(*-*),0(R1) EXECUTED INSTRUCTION - MSG @VA11129 00194500 EJECT 00195000 *---------------------------------------------------------------------* 00196000 * GRAPHIC SUPPORT CCWS * 00197000 *---------------------------------------------------------------------* 00198000 CRTWORD CCW X'27',SBACP,SILI+CC,2 SET BAR TO (STATUS WORD) @V200731 00199000 CCW X'01',CPXYSTAT,SILI+CC,20 WRITE 'RUNNING' @V200731 00200000 CCW X'27',SBAREAD,SILI+CC,2 SET BUFFER ADDR @V200731 00201000 CCW X'01',BLNKLINE,SILI+CC,140 CLEAR INPUT LINE @V200731 00202000 CURS3066 CCW X'0F',SBAREAD,SILI+CC,2 REPOSITION CURSOR @V200731 00203000 CCW X'03',*-*,SILI,3 END OF READ CCW STRING @V200731 00204000 SPACE 2 00205000 CRTWORD1 CCW X'01',LAB3270A,SILI,LEN THE CONTROL DATA @V200731 00206000 CCW X'03',*-*,SILI,2 @V200731 00207000 SPACE 2 00208000 WRTCRTXY CCW X'27',*-*,SILI+CC,2 SET CORRECT LINE IN BUFFER @V200731 00209000 WRT3066 CCW X'01',*-*,SILI+CC,140 WRITE OUT USER DATA @V200731 00210000 CCW X'08',CRTWORD,SILI,1 NOW DISPLAY STATUS @V200731 00211000 SPACE 2 00212000 WRTCRT70 CCW X'01',LAB3270,SILI+CD,4 THE CONTROL DATA @V200731 00213000 WRTCR70 CCW X'00',*-*,SILI+CD,0 THE WRITE CCW @V200731 00214000 CCW X'00',LAB3270A+1,SILI+CC,LEN-1 WRITE STATUS @V200731 00215000 CCW X'03',*-*,SILI,2 @V200731 00216000 SPACE 3 00217000 *---------------------------------------------------------------------* 00218000 * CCW'S FOR GRAPHICS AND CONSOLES SUPPORT * 00219000 *---------------------------------------------------------------------* 00220000 ALRMCCW CCW X'0B',*-*,SILI+CC,1 RING THE ALARM @V200731 00221000 ALRMTIC CCW X'08',*-*,SILI,0 NOP/TIC CCW @V200731 00222000 SPACE 2 00223000 *---------------------------------------------------------------------* 00224000 * CCW'S FOR 2310/2315 CONSOLE * 00225000 *---------------------------------------------------------------------* 00226000 WRT3210 CCW X'01',*-*,SILI+CC,140 WRITE WITH NO CARRAGE RETURN 00227000 CCW X'03',*-*,SILI,1 00228000 SPACE 00229000 WRT3210A CCW X'09',*-*,SILI+CC,140 WRITE WITH A CARRAGE RETURN 00230000 CCW X'03',*-*,SILI,1 00231000 SPACE 00232000 *---------------------------------------------------------------------* 00233000 * FIRST DC ARE ADDRESSES FOR LINES 1 -6 * 00234000 * SECOND DC ARE ADDRESSES FOR LINES 7 - 12 * 00235000 * THIRD DC ARE ADDRESSES FOR LINES 13 - 18 * 00236000 * FOURTH DC ARE ADDRESSES FOR LINES 19 - 24 * 00237000 * FIFTH DC ARE ADDRESSES FOR LINES 25 - 30 HRC101DK 00237200 * SIXTH DC ARE ADDRESSES FOR LINES 31 - 36 HRC101DK 00237400 * SEVENTHDC ARE ADDRESSES FOR LINES 37 - 42 HRC101DK 00237600 * EIGHT DC ARE ADDRESSES FOR LINES 43 HRC101DK 00237800 *---------------------------------------------------------------------* 00238000 SPACE 2 00239000 TABLE70 DS 0D @V200731 00240000 DC X'4040C150C260C3F0C540C650' @V200731 00241000 DC X'C760C8F04A404B504C604DF0' @V200731 00242000 DC X'4F405050D160D2F0D440D550' @V200731 00243000 DC X'D660D7F0D9405A505B605CF0' @V200731 00244000 DC X'5E405F50606061F0E340E450' HRC101DK 00244200 DC X'E560E6F0E840E9506A606BF0' HRC101DK 00244400 DC X'6D406E506F60F0F0F240F350' HRC101DK 00244600 DC X'F460' HRC101DK 00244800 * X'5B60' - LINE 23, COL. 1 00245000 * X'5D6A' - LINE 24, COL. 59 00246000 SPACE 2 00247000 WC56 EQU X'C6' WRITE CONTROL BITS 5 & 6 @VA07600 00247100 WC6 EQU X'C2' WRITE CONTROL BIT 6 @V200731 00248000 AT7 EQU X'C1' ATTRIBUTE BIT 7 @V200731 00249000 AT2 EQU X'E0' ATTRIBUTE BIT 2 @V200731 00250000 SF EQU X'1D' START OF FIELD CONTROL @V200731 00251000 SBA EQU X'11' SET BUFFER ADDRESS @V200731 00252000 IC EQU X'13' INSERT CURSOR @V200731 00253000 EUA EQU X'12' ERASE UNPROTECTED @V200731 00254000 ADDR2A1 DC X'D65F' LOCATION LINE 18 COL 80 HRC101DK 00254110 ADDR2A2 DC X'D86B' LOCATION LINE 20 COL 60 HRC101DK 00254120 ADDR031 DC X'E55F' LOCATION LINE 18 COL 80 HRC101DK 00254130 ADDR032 DC X'E76B' LOCATION LINE 20 COL 60 HRC101DK 00254140 ADDR041 DC X'F34F' LOCATION LINE 18 COL 80 HRC101DK 00254150 ADDR042 DC X'F55B' LOCATION LINE 20 COL 60 HRC101DK 00254160 MAXLEN DC F'0000' INITIALIZATION OF LEN FIELD @V60A6B6 00254300 LEN327A DC F'1440' SCREEN FOR 3278 MOD2A = 1440 HRC101DK 00254490 LEN3272 DC F'1760' SCREEN FOR 3272=1760 HRC101DK 00254580 LEN3273 DC F'2400' SCREEN FOR 3273=2400 HRC101DK 00254670 LEN3274 DC F'3280' SCREEN FOR 3274=3280 HRC101DK 00254760 SPACE 2 00255000 LAB3270A DC AL1(WC6),AL1(SBA),X'5B5F',AL1(SF),AL1(AT7) @VA03499 00256500 DC AL1(IC),AL1(EUA),X'5D6B',AL1(SF),AL1(AT2) @V200731 00257000 RUNLABEL DC CL20'RUNNING' @V200731 00258000 LEN EQU *-LAB3270A @V200731 00259000 LAB3270 DC AL1(WC6),AL1(SBA),X'0000' @V200731 00260000 SPACE 2 00261000 MSGBUF DS CL160 NEW MESSAGE BUFFER @VA11129 00261100 SPACE 3 00262000 OPREGS DC 16F'0' REGISTER SAVE AREA @V200730 00263000 SPACE 00264000 PARM2 DC F'0' PARMS PASSED 00265000 PARM EQU PARM2+3 00266000 WRTREQ EQU X'40' REQUEST TO 'WRITE' TO SYSTEMS CONSOLE 00267000 SBACP DC AL1(34,60) COORDINATES FOR SCREEN 'STATUS' WORD 00268000 SBAREAD DC AL1(33,0) COORDINATES FOR (READ/CURSOR) CCW 00269000 SPACE 00270000 CPXYSTAT DC CL20'40' SCREEN 'STATUS' WORD 00271000 BLNKLINE DC CL140'40' BLANKS FOR CLEARING 'READ AREA' @V200731 00272000 MODEL2A EQU X'0C' GIVES CORRECT VALUE TO DETERMINE @V60A6B6 00272100 MODEL2 EQU X'00' GIVES CORRECT VALUE TO DETERMINE HRC101DK 00272120 MODEL3 EQU X'04' GIVES CORRECT VALUE TO DETERMINE HRC101DK 00272140 MODEL4 EQU X'08' GIVES CORRECT VALUE TO DETERMINE HRC101DK 00272160 MODEL5 EQU X'10' GIVES CORRECT VALUE TO DETERMINE HRC101DK 00272180 * IF THE SCREEN SIZE IS 20 LINES 00272200 EJECT 00273000 LTORG 00274000 EJECT 00275000 COPY RBLOKS 00276000 COPY EQU 00277000 COPY DEVTYPES 00278000 PSA 00279000 END DMKOPR 00280000