TITLE BLANKT -- blank terminal screen code for mailsystem
SUBTTL Written by Mark Crispin /MRC 5-Apr-85
SEARCH MACSYM,MONSYM ; system definitions
SALL ; suppress macro expansions
.DIRECTIVE FLBLST ; sane listings for ASCIZ, etc.
; This module contains code to blank the terminal screen. This is
; site-dependent and should be edited for each individual site as
; appropriate.
A=:1 ; JSYS AC's
B=:2
.PSECT CODE
$BLANK::SAVEAC <A,B>
STKVAR <TTYPE,OLDMOD>
MOVEI A,.PRIOU ; get terminal type index
GTTYP%
MOVEM B,TTYPE ; save for later
CAIGE B,NCLRSC ; more than the number supported?
SKIPN CLRSCN(B) ; yes, able to blank on this type?
RET ; no, return
RFMOD% ; get current terminal mode
MOVEM B,OLDMOD ; save for later
TRZ B,TT%DAM ; change to binary mode
SFMOD%
MOVE B,TTYPE ; get type index back again
MOVE A,CLRSCN(B) ; get blanking sequence or address
TXOE A,.LHALF ; was it an address (LH=0)?
HRROI A,CLRSCN(B) ; no, sequence 4 chars or less, set up address
PSOUT% ; output the sequence
MOVEI A,.PRIOU ; wait for it to get out
DOBE%
SETZ B, ; tell monitor we are at top of page
SFPOS%
MOVEI A,^D500 ; give terminal a chance to do it
DISMS%
MOVEI A,.PRIOU ; restore former terminal mode
MOVE B,OLDMOD
SFMOD%
RET ; now return