Motion Perfect terminals - cursor control

Motion Perfect terminals - cursor control

From Motion Perfect v4 version 4.4.1 onwards, the terminals 0, 5, 6 and 7 support a sub-set of the VT100 cursor control codes.  These are in the form of escape sequences starting with the <ESC> code ASCII code 27 ($1B in Hex)

Currently supported commands:

Cursor Control
Cursor Home <ESC>[{ROW};{COLUMN}H
Sets the cursor position where subsequent text will begin. If no row/column parameters are provided (ie. <ESC>[H), the cursor will move to the home position, at the upper left of the screen.


Cursor Up <ESC>[{COUNT}A
Moves the cursor up by COUNT rows; the default count is 1.

Cursor Down <ESC>[{COUNT}B
Moves the cursor down by COUNT rows; the default count is 1.

Cursor Forward <ESC>[{COUNT}C
Moves the cursor forward by COUNT columns; the default count is 1.

Cursor Backward <ESC>[{COUNT}D
Moves the cursor backward by COUNT columns; the default count is 1.

Force Cursor Position <ESC>[{ROW};{COLUMN}f
Identical to Cursor Home.


Erasing Text
Erase End of Line <ESC>[K
Erases from the current cursor position to the end of the current line.

Erase Start of Line <ESC>[1K
Erases from the current cursor position to the start of the current line.

Erase Line <ESC>[2K
Erases the entire current line.

Erase Down <ESC>[J
Erases the screen from the current line down to the bottom of the screen.

Erase Up <ESC>[1J
Erases the screen from the current line up to the top of the screen.

Erase Screen <ESC>[2J
Erases the screen with the background colour and moves the cursor to home.


A BASIC program using the PRINT command has to send the ESC code twice in the PRINT so that is sends on ESC to the terminal.


For example:
' move to row 14 / column 10
PRINT CHR(27); CHR(27); "[14;10H";