| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- DEFINITION MODULE VT100;
- (*
- Strict DEC VT100 escape sequences.
- No VT52 compat, no DOS screen modes, no xterm extensions,
- no colors. Pure CSI/ESC emitter, plus Unbuffered/Buffered
- input-mode helpers (termios) for reading device replies.
- Reference: DEC VT100 User Guide (EK-VT100-UG).
- *)
- (* SGR - character attributes (VT100: 0,1,4,5,7 only) *)
- PROCEDURE ResetAttributes; (* SGR0 ESC[0m *)
- PROCEDURE Bold; (* SGR1 ESC[1m *)
- PROCEDURE Underline; (* SGR4 ESC[4m *)
- PROCEDURE Blink; (* SGR5 ESC[5m *)
- PROCEDURE Reverse; (* SGR7 ESC[7m *)
- (* Cursor movement *)
- PROCEDURE CursorHome; (* ESC[H *)
- PROCEDURE CursorPosition(line, col : CARDINAL); (* CUP ESC[line;colH *)
- PROCEDURE HVPosition(line, col : CARDINAL); (* HVP ESC[line;colf *)
- PROCEDURE CursorUp(n : CARDINAL); (* CUU ESC[nA *)
- PROCEDURE CursorDown(n : CARDINAL); (* CUD ESC[nB *)
- PROCEDURE CursorRight(n : CARDINAL); (* CUF ESC[nC *)
- PROCEDURE CursorLeft(n : CARDINAL); (* CUB ESC[nD *)
- (* Scroll / line movement *)
- PROCEDURE Index; (* IND ESC D *)
- PROCEDURE ReverseIndex; (* RI ESC M *)
- PROCEDURE NextLine; (* NEL ESC E *)
- (* Cursor save / restore (DEC) *)
- PROCEDURE SaveCursor; (* DECSC ESC 7 *)
- PROCEDURE RestoreCursor; (* DECRC ESC 8 *)
- (* Erase in line / screen *)
- PROCEDURE ClearLineRight; (* EL0 ESC[K / ESC[0K *)
- PROCEDURE ClearLineLeft; (* EL1 ESC[1K *)
- PROCEDURE ClearLine; (* EL2 ESC[2K *)
- PROCEDURE ClearScreenDown; (* ED0 ESC[J / ESC[0J *)
- PROCEDURE ClearScreenUp; (* ED1 ESC[1J *)
- PROCEDURE ClearScreen; (* ED2 ESC[2J *)
- (* Scrolling region *)
- PROCEDURE SetScrollRegion(top, bottom : CARDINAL); (* DECSTBM ESC[top;bottomr *)
- (* Tabs *)
- PROCEDURE TabSet; (* HTS ESC H *)
- PROCEDURE TabClear; (* TBC ESC[g / ESC[0g *)
- PROCEDURE TabClearAll; (* TBC ESC[3g *)
- (* Double-size / alignment *)
- PROCEDURE DoubleHeightTop; (* DECDHL ESC#3 *)
- PROCEDURE DoubleHeightBottom; (* DECDHL ESC#4 *)
- PROCEDURE SingleWidth; (* DECSWL ESC#5 *)
- PROCEDURE DoubleWidth; (* DECDWL ESC#6 *)
- PROCEDURE ScreenAlign; (* DECALN ESC#8 *)
- (* LNM / DEC private modes *)
- PROCEDURE SetNewLine; (* LNM ESC[20h *)
- PROCEDURE ResetNewLine; (* LNM ESC[20l *)
- PROCEDURE SetAppCursorKeys; (* DECCKM ESC[?1h *)
- PROCEDURE SetCursorKeys; (* DECCKM ESC[?1l *)
- PROCEDURE SetANSI; (* DECANM ESC[?2h *)
- PROCEDURE SetVT52; (* DECANM ESC[?2l *)
- PROCEDURE Set132Columns; (* DECCOLM ESC[?3h *)
- PROCEDURE Set80Columns; (* DECCOLM ESC[?3l *)
- PROCEDURE SetSmoothScroll; (* DECSCLM ESC[?4h *)
- PROCEDURE SetJumpScroll; (* DECSCLM ESC[?4l *)
- PROCEDURE SetReverseScreen; (* DECSCNM ESC[?5h *)
- PROCEDURE SetNormalScreen; (* DECSCNM ESC[?5l *)
- PROCEDURE SetRelativeOrigin; (* DECOM ESC[?6h *)
- PROCEDURE SetAbsoluteOrigin; (* DECOM ESC[?6l *)
- PROCEDURE SetAutoWrap; (* DECAWM ESC[?7h *)
- PROCEDURE ResetAutoWrap; (* DECAWM ESC[?7l *)
- PROCEDURE SetAutoRepeat; (* DECARM ESC[?8h *)
- PROCEDURE ResetAutoRepeat; (* DECARM ESC[?8l *)
- PROCEDURE SetInterlace; (* DECINLM ESC[?9h *)
- PROCEDURE ResetInterlace; (* DECINLM ESC[?9l *)
- (* Keypad *)
- PROCEDURE SetAltKeypad; (* DECKPAM ESC= *)
- PROCEDURE SetNumKeypad; (* DECKPNM ESC> *)
- (* Character sets *)
- PROCEDURE SetUK_G0; (* ESC(A *)
- PROCEDURE SetUS_G0; (* ESC(B *)
- PROCEDURE SetGraphics_G0;(* ESC(0 *)
- PROCEDURE SetAlt_G0; (* ESC(1 *)
- PROCEDURE SetAltGraph_G0;(* ESC(2 *)
- PROCEDURE SetUK_G1; (* ESC)A *)
- PROCEDURE SetUS_G1; (* ESC)B *)
- PROCEDURE SetGraphics_G1;(* ESC)0 *)
- PROCEDURE SetAlt_G1; (* ESC)1 *)
- PROCEDURE SetAltGraph_G1;(* ESC)2 *)
- PROCEDURE Shift2; (* SS2 ESC N *)
- PROCEDURE Shift3; (* SS3 ESC O *)
- (* Reports / identification / reset *)
- PROCEDURE RequestDeviceStatus; (* DSR ESC[5n *)
- PROCEDURE RequestCursorPosition; (* DSR ESC[6n, response ESC[line;colR *)
- PROCEDURE Identify; (* DA ESC[c *)
- PROCEDURE Identify2; (* DA ESC[0c *)
- PROCEDURE ResetTerminal; (* RIS ESC c *)
- (* LEDs / confidence tests *)
- PROCEDURE LedsOff; (* DECLL ESC[0q *)
- PROCEDURE Led1; (* DECLL ESC[1q *)
- PROCEDURE Led2; (* DECLL ESC[2q *)
- PROCEDURE Led3; (* DECLL ESC[3q *)
- PROCEDURE Led4; (* DECLL ESC[4q *)
- PROCEDURE TestPowerUp; (* DECTST ESC[2;1y *)
- PROCEDURE TestLoopback; (* DECTST ESC[2;2y *)
- PROCEDURE TestPowerRepeat; (* DECTST ESC[2;9y *)
- PROCEDURE TestLoopRepeat; (* DECTST ESC[2;10y *)
- (* Terminal input mode: call Unbuffered before reading device
- replies (e.g. CPR) so no RETURN key is needed; call
- Buffered afterwards to restore the saved state. *)
- PROCEDURE Unbuffered;
- PROCEDURE Buffered;
- END VT100.
|