DEFINITION MODULE VT52; (* Strict DEC VT52 escape sequences. No VT100/ANSI CSI. Pure ESC emitter, plus Unbuffered/Buffered input-mode helpers (termios) for reading device replies. Direct cursor address is ESC Y row col with +31 offset. *) PROCEDURE EnterAnsi; (* ESC < : enter ANSI mode *) PROCEDURE SetAltKeypad; (* ESC = : alternate keypad *) PROCEDURE SetNumKeypad; (* ESC > : numeric keypad *) PROCEDURE SetGraphics; (* ESC F : special graphics charset *) PROCEDURE SetAscii; (* ESC G : normal US/UK charset *) PROCEDURE CursorUp; (* ESC A *) PROCEDURE CursorDown; (* ESC B *) PROCEDURE CursorRight; (* ESC C *) PROCEDURE CursorLeft; (* ESC D *) PROCEDURE CursorHome; (* ESC H *) PROCEDURE CursorPosition(row, col : CARDINAL); (* ESC Y r c, r=row+31, c=col+31 *) PROCEDURE ReverseFeed; (* ESC I : reverse line feed *) PROCEDURE ClearToEndOfLine; (* ESC K *) PROCEDURE ClearToEndOfScreen; (* ESC J *) PROCEDURE Identify; (* ESC Z *) PROCEDURE IdentifyResponse; (* ESC / Z *) (* Terminal input mode: call Unbuffered before reading device replies so no RETURN key is needed; call Buffered afterwards to restore the saved state. *) PROCEDURE Unbuffered; PROCEDURE Buffered; END VT52.