.TITLE Screen oriented subroutines .MCALL .TTYOUT .ENABL LC .SBTTL Program definition ; ; ; This is a set of screen oriented subroutines ; for use on a VT-52 or VT-100 in non-ANSI mode. ; ; CALL HOME -- Homes the cursor ; ; CALL CLEAR -- Clears from the cursor to the EOS. ; ; CALL HOMECL -- Homes and clears the screen ; ; CALL GOTOXY(X,Y) -- Positions the cursor at column X, row Y. ; ; CALL BELL -- Rings the bell twice. ; ; CALL CLRLIN -- Clears from cursor to EOL ; ; ; 14-Jan-80 ; ; .SBTTL Some constants .PSECT $CODE BEL = 7 ;BELL ESC = 33 ;ESCAPE H = 110 ;H J = 112 ;J K = 113 ;K DIRECT = 131 ;DIRECT ADDRESS .PAGE .SBTTL HOME routine HOME:: .TTYOUT #ESC ;ESCAPE .TTYOUT #H ;HOME RTS PC ;RETURN .SBTTL CLEAR routine CLEAR:: .TTYOUT #ESC ;ESCAPE .TTYOUT #J ;CLEAR FROM CURSOR TO EOS RTS PC ;RETURN .SBTTL HOMECL routine HOMECL:: CALL HOME ;HOME CALL CLEAR ;CLEAR RTS PC ;RETURN .SBTTL CLRLIN routine CLRLIN:: .TTYOUT #ESC ;ESCAPE .TTYOUT #K ;CLEAR EOL RTS PC ;RETURN .PAGE .SBTTL GOTOXY routine GOTOXY:: MOV R1,-(SP) ;SAVE R1 MOV @4(R5),R1 ;Y ADD #37,R1 ;ADD 31 .TTYOUT #ESC ;ESCAPE .TTYOUT #DIRECT ;CURSOR ADDRESS .TTYOUT R1 ;Y FIRST MOV @2(R5),R1 ;X ADD #37,R1 ;ADD 31 .TTYOUT R1 ;X NEXT MOV (SP)+,R1 ;RESTORE R1 RTS PC ;RETURN .PAGE .SBTTL BELL routine BELL:: .TTYOUT #BEL ;DING .TTYOUT #BEL ;DING RTS PC ;RETURN .END