.TITLE V52CHA .IDENT /M201/ .PSECT TCHAR,OVR,RW,D ; ; This module defines the terminal characteristics for DEC ; VT52 type terminals. ; $DEC: .WORD 0 ;BINARY CURSOR CONTROL $EOB: .WORD EOB ;END OF BLOCK $CUR: .WORD CUR ;CURSOR/LINE OVERPRINT $OVR: .WORD OVR ;LINE WRAP $CLN: .WORD CLN ;LINE CLEANER $EEO: .WORD EEO ;SCREEN CLEANER $LFSEQ: .WORD LFS ;UP SCROLL $REV: .WORD REV ;DOWN SCROLL $CLT: .WORD CLT ;CURSOR LEFT,DOWN,UP,RIGHT $CDN: .WORD CDN $CUP: .WORD CUP $CRT: .WORD CRT $ZAP: .WORD ZAP ;BLOW SCREEN $ELIN: .WORD ELIN ;ERASE CURRENT LINE $DIR: .WORD DIR ;CURSOR ADDRESSING ; X$SIZE: .WORD 80. Y$SIZE: .WORD 24. ; X$POS: .WORD DIR+4 ;POSITION FOR X Y$POS: .WORD DIR+3 ;POSITION FOR Y ; $XBIAS: .WORD 40 ;BIAS FOR X $YBIAS: .WORD 40 ;BIAS FOR Y ; ; Now comes the screen work area. These are values used ; by the screen module to do its thing. ; OUTCHR:.BLKW ;OUTPUT A CHARACTER OUTBLN:.BLKW ;END OF LINE OR BUFFER CLEANER RTMOST:.BLKW ;INITED TO ZERO AS END OF LIST BUSTRT:.BLKW ;LINE COUNTER, INITED TO ZERO LINPTR:.BLKW ;CHAR COUNTER (P) OF LINE STARTS SVSTRT:.BLKW ;SAVED LINE COUNTER INITFL:.BLKW ;>=0 IMPLIES UNKNOWN SCREEN STATE BUINDX:.BLKW ;CONTAINS LINE INDEX INTO SCREEN MAP CURLIN:.BLKW ;CONTAINS LINE NUMBER OF CURSOR CURCHR:.BLKW ;CONTAINS COLUMN NUMBER OF CURSOR CURABS:.BLKW ;CONTAINS ABSOLUTE MAP POSITION OF CURSOR UNDERC:.BLKW ;CHARACTER POS OF UNDER SCORE PRELIN:.BLKW ;LAST SET LINE TO SCREEN PRECOL:.BLKW ;LAST SET COLUMN TO SCREEN CHCKBL:.BLKW ;FLAG WORD .BLKB 80. ;ROOM FOR CHARS MAPST: .BLKB 80.*24. ;LAST KNOWN SCREEN MAPND: ;END OF SCREEN MAP ; ; Strings... ; EOB: .BYTE 5,ESC,'F,'A+40,ESC,'G CUR: .BYTE 7,ESC,'F,'K+40,ESC,'G,ESC,'D OVR: .BYTE 5,ESC,'F,'H+40,ESC,'G CLN: .BYTE 2,ESC,'K DIR: .BYTE 4,ESC,'Y,0,0 EEO: .BYTE 2,ESC,'J LFS: .BYTE 1,LF REV: .BYTE 2,ESC,'I CLT: .BYTE 2,ESC,'D CDN: .BYTE 2,ESC,'B CUP: .BYTE 2,ESC,'A CRT: .BYTE 2,ESC,'C ELIN: .BYTE 3,CR,ESC,'K ZAP: .BYTE 4,ESC,'H,ESC,'J ; .END