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 STKVAR 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 DEFINE CLRASCII ; ASCII screen clear DEFINE CLRANSI <[BYTE (7) .CHESC,"[","H",.CHESC,"[","J",0]> ; ANSI standard CLRSCN: 0 ; 0 TTY33 0 ; 1 TTY35 0 ; 2 TTY37 0 ; 3 TI 0 ; 4 reserved for customer definition 0 ; 5 reserved for customer definition 0 ; 6 reserved for customer definition 0 ; 7 reserved for customer definition 0 ; 8 default 0 ; 9 PTY, NVT (aka "ideal") BYTE (7) .CHCRB,.CHCUN,.CHCUN,.CHCUN,0 ; 10 VT05 CLRASCII ; 11 VT50 0 ; 12 LA30 BYTE (7) .CHCRB,.CHCUN,0 ; 13 GT40 0 ; 14 LA36 CLRASCII ; 15 VT52 CLRANSI ; 16 VT100 0 ; 17 LA38 0 ; 18 LA120 0 ; 19 reserved for customer definition 0 ; 20 reserved for customer definition 0 ; 21 reserved for customer definition 0 ; 22 reserved for customer definition 0 ; 23 reserved for customer definition 0 ; 24 reserved for customer definition 0 ; 25 reserved for customer definition 0 ; 26 reserved for customer definition 0 ; 27 reserved for customer definition 0 ; 28 reserved for customer definition 0 ; 29 reserved for customer definition 0 ; 30 reserved for customer definition 0 ; 31 reserved for customer definition 0 ; 32 reserved for customer definition 0 ; 33 reserved for customer definition 0 ; 34 reserved for customer definition CLRANSI ; 35 VT125 CLRANSI ; 36 VK100 (GIGI) CLRANSI ; 37 VT102 CLRASCII ; 38 H19 CLRANSI ; 39 VT131 CLRANSI ; 40 VT200 0 ; 41 reserved for customer definition 0 ; 42 reserved for customer definition 0 ; 43 reserved for customer definition 0 ; 44 reserved for customer definition 0 ; 45 reserved for customer definition 0 ; 46 reserved for customer definition 0 ; 47 reserved for customer definition 0 ; 48 reserved for customer definition 0 ; 49 reserved for customer definition 0 ; 50 reserved for customer definition 0 ; 51 reserved for customer definition CLRANSI ; 52 VT300 0 ; 53 reserved for Digital defintion 0 ; 54 reserved for Digital defintion 0 ; 55 reserved for Digital defintion 0 ; 56 reserved for Digital defintion 0 ; 57 reserved for Digital defintion 0 ; 58 reserved for Digital defintion 0 ; 59 reserved for Digital defintion 0 ; 60 reserved for Digital defintion 0 ; 61 reserved for Digital defintion 0 ; 62 reserved for Digital defintion NCLRSC==.-CLRSCN ; maximum # of terminal types END