.TITLE TOUTIN .ENABL LC ; ; CALL TOUTIN( OUT, NOUT, IN, NIN [,VFC] ) -- This subroutine ; performs a read after a prompt to the plotting device. Where, ; ; OUT Character string to be output. ; NOUT Number of characters to be output. ; IN Storage location for input string. ; NIN INPUT: Maximum number of characters to be read. ; OUTPUT: Actual number of characters read. ; VFC Vertical format control byte (i.e. FORTRAN carriage ; control). If omitted, VFC is assumed to be 0, ; contiguous output. ; .PSECT TOUTIN .MCALL QIOW$S ; TOUTIN::TST ILun ;VALID PLOTTING DEVICE? BEQ D ;BRANCH IF NOT ; CLRB VFC ;SET DEFAULT VERTICAL FORMAT CONTROL CMP #5,(R5) ;VFC PRESENT? BGT 1$ ;BRANCH IF NOT MOVB @12(R5),VFC ;SET PROPER VERTICAL FORMAT CONTROL ; 1$: CMP #3,IDev ;TEKTRONIX 4662? BNE C ;BRANCH IF NOT ; A: CMP IBfDv3,@4(R5) ;SUFFICIENT ROOM? BGE B ;BRANCH IF TRUE ; JSR PC,BUFDV3 ;POLL TO ALLOW BUFFER TO EMPTY BR A ;BRANCH TO TRY AGAIN ; B: SUB @4(R5),IBfDv3 ;DECREMENT BUFFER LENGTH C: QIOW$S #IO.RPR!TF.RNE!TF.BIN,ILun,#1,,#IOSB,,<6(R5),@10(R5),,2(R5),@4(R5),VFC> ;OUTPUT PROMPT AND WAIT FOR READ MOV IOSB+2,@10(R5) ;STORE NUMBER OF CHARACTERS READ D: RTS PC ;RETURN ; IOSB: .BLKW 2 ;I/O STATUS BUFFER VFC: .BYTE 0 ;VERTICAL FORMAT CONTROL