Both sides previous revisionPrevious revisionNext revision | Previous revision |
ref:cterm [2024/02/09 22:16] – And done... now for some references! deuce | ref:cterm [2024/02/12 10:12] (current) – [DEC Private Mode Set (DECSET)] Add DECBKM deuce |
---|
====== CTerm ====== | ====== CTerm ====== |
CTerm is the ANSI parsing code maintained as part of ciolib (and used by SyncTERM). This page is basically a pretty version of the [[https://gitlab.synchro.net/main/sbbs/-/raw/master/src/conio/cterm.txt?ref_type=heads|cterm.txt file in git]], as of e8ce7771e2af35a47986f0c11e359e954ebe9c13 | CTerm is the ANSI parsing code maintained as part of ciolib (and used by SyncTERM). This page is basically a pretty version of the [[https://gitlab.synchro.net/main/sbbs/-/raw/master/src/conio/cterm.txt?ref_type=heads|cterm.txt file in git]], as of 7a8edde4c8ccdedd1556895eec3ed265a4f615bf |
| |
The text file is still the normative reference, but this may serve as a friendlier source. | The text file is still the normative reference, but this may serve as a friendlier source. |
==== Supported DCS string values ==== | ==== Supported DCS string values ==== |
=== CTerm loadable font === | === CTerm loadable font === |
**Sequence:** ''CTerm:Font:p1:<b64>''\\ | **Sequence:** ''DCS CTerm:Font:p1:<b64> ST''\\ |
Indicates the string is a loadable font. (CTerm 1.213) | Indicates the string is a loadable font. (CTerm 1.213) |
| |
| |
=== Sixel Sequence === | === Sixel Sequence === |
**Sequence:** ''[ p1 [ ; p2 ] ] q''\\ | **Sequence:** ''DCS [ p1 [ ; p2 ] ] q ST''\\ |
**Defaults:** p1 = 0 p2 = 0\\ | **Defaults:** p1 = 0 p2 = 0\\ |
Indicates the string is a sixel sequence. | Indicates the string is a sixel sequence. |
| |
=== Request Status String (DECRQSS) === | === Request Status String (DECRQSS) === |
**Sequence:** ''$ q pt''\\ | **Sequence:** ''DCS $ q pt ST''\\ |
pt is the intermediate and/or final characters of a control function to query the status of. The terminal will send a response in the format ''DCS p1 $ r pt ST'' | pt is the intermediate and/or final characters of a control function to query the status of. The terminal will send a response in the format ''DCS p1 $ r pt ST'' |
| |
| |
=== Define Macro (DECDMAC) === | === Define Macro (DECDMAC) === |
**Sequence:** ''p1 [ ; p2 [ ; p3 ] ! z''\\ | **Sequence:** ''DCS p1 [ ; p2 [ ; p3 ] ! z ST''\\ |
**Defaults:** p2 = 0 p3 = 0\\ | **Defaults:** p2 = 0 p3 = 0\\ |
Sets a macro to be replayed using ''CSI Pn * z'' | Sets a macro to be replayed using ''CSI Pn * z'' |
| |
=== Palette Redefinition === | === Palette Redefinition === |
**Sequence:** ''4;(pX;pY)...''\\ | **Sequence:** ''OSC 4;(pX;pY)... ST''\\ |
Specifies one or more palette redefinitions. pX is the palette index, and pY is the colour definition | Specifies one or more palette redefinitions. pX is the palette index, and pY is the colour definition |
Color format: ''rgb:R/G/B'' Where R, G, and B are a sequence of one to four hex digits representing the value of the red, green, and blue channels respectively. | Color format: ''rgb:R/G/B'' Where R, G, and B are a sequence of one to four hex digits representing the value of the red, green, and blue channels respectively. |
| |
=== Set Font === | === Set Font === |
**Sequence:** ''APS SyncTERM:C;SetFont Pn Ps''\\ | **Sequence:** ''APS SyncTERM:C;SetFont Pn Ps ST''\\ |
Where Pn is a font slot number (max 255) and Ps is a filename in the cache. This sets font slot Pn to use the specified font file. | Where Pn is a font slot number (max 255) and Ps is a filename in the cache. This sets font slot Pn to use the specified font file. |
| |
=== Draw PPM === | === Draw PPM === |
**Sequence:** ''APS SyncTERM:C;DrawPPM Ps... Ps2''\\ | **Sequence:** ''APS SyncTERM:C;DrawPPM Ps... Ps2 ST''\\ |
Draws a PPM from the cache directory on the screen. Ps2 is the filename and is required. Arguments for Ps are optional. The following options can be included (separated by semi-colons): | Draws a PPM from the cache directory on the screen. Ps2 is the filename and is required. Arguments for Ps are optional. The following options can be included (separated by semi-colons): |
| |
| |
=== Load PPM === | === Load PPM === |
**Sequence:** ''APS SyncTERM:C;LoadPPM Ps... Ps0''\\ | **Sequence:** ''APS SyncTERM:C;LoadPPM Ps... Ps0 ST''\\ |
Loads a PPM to a buffer. Ps0 is the filename | Loads a PPM to a buffer. Ps0 is the filename |
| ''B=#'' | Selects the buffer (0 or 1 only) to paste from. | | | ''B=#'' | Selects the buffer (0 or 1 only) to paste from. | |
| |
=== Load PBM === | === Load PBM === |
**Sequence:** ''APS SyncTERM:C;LoadPBM Ps... Ps0''\\ | **Sequence:** ''APS SyncTERM:C;LoadPBM Ps... Ps0 ST''\\ |
Loads a PBM to a buffer. Ps0 is the filename | Loads a PBM to a buffer. Ps0 is the filename |
| |
=== Copy === | === Copy === |
**Sequence:** ''APS SyncTERM:P;Copy Ps...''\\ | **Sequence:** ''APS SyncTERM:P;Copy Ps... ST''\\ |
Copies a portion of the screen into an internal buffer for use with the Paste function. Defaults to copying the entire screen. | Copies a portion of the screen into an internal buffer for use with the Paste function. Defaults to copying the entire screen. |
| ''B=#'' | Selects the buffer (0 or 1 only) to copy to. | | | ''B=#'' | Selects the buffer (0 or 1 only) to copy to. | |
| |
=== Paste === | === Paste === |
**Sequence:** ''APS SyncTERM:P,Paste Ps...''\\ | **Sequence:** ''APS SyncTERM:P,Paste Ps... ST''\\ |
Pastes from the copied buffer. Supports the same options as the Cache DrawPPM command except for the filename, and adds the B= option. | Pastes from the copied buffer. Supports the same options as the Cache DrawPPM command except for the filename, and adds the B= option. |
| ''B=#'' | Selects the buffer (0 or 1 only) to paste from. | | | ''B=#'' | Selects the buffer (0 or 1 only) to paste from. | |
| 34 | | reset | Enable blink alt character set. With this mode set, the blink (5, 6) graphic renditions selects characters from an alternate character set. | | | 34 | | reset | Enable blink alt character set. With this mode set, the blink (5, 6) graphic renditions selects characters from an alternate character set. | |
| 35 | | reset | Blink Disabled. This makes the blink (5, 6) graphic renditions not cause the character to blink. Mostly for use with ''CSI ? 34 h'' to permit fonts to be used without blinking. | | 35 | | reset | Blink Disabled. This makes the blink (5, 6) graphic renditions not cause the character to blink. Mostly for use with ''CSI ? 34 h'' to permit fonts to be used without blinking. |
| | 67 | DECBKM | set | DEC Backarrow Key Mode. When set, backspace sends the BS code. When reset, backspace sends DEL (0x7F). | |
| 69 | | reset | DEC Left Right Margin Mode enabled. Enables CSI s to set the left/right margins, and disables CSI s from saving the current cursor position. | | | 69 | | reset | DEC Left Right Margin Mode enabled. Enables CSI s to set the left/right margins, and disables CSI s from saving the current cursor position. | |
| 80 | | set | Sixel Scrolling Enabled. When this is set, the sixel active position begins in the upper-left corner of the currently active text position. When the sixel active position reaches the bottom of the page, the page is scrolled up. At the end of the sixel string, a sixel newline is appended, and the current cursor position is the one in which the bottom sixel is in. | | | 80 | | set | Sixel Scrolling Enabled. When this is set, the sixel active position begins in the upper-left corner of the currently active text position. When the sixel active position reaches the bottom of the page, the page is scrolled up. At the end of the sixel string, a sixel newline is appended, and the current cursor position is the one in which the bottom sixel is in. | |
===== See Also ===== | ===== See Also ===== |
* [[:ref:ansi:|ANSI References]] | * [[:ref:ansi:|ANSI References]] |
| * [[https://ecma-international.org/publications-and-standards/standards/ecma-48/|ECMA-48 Standard]] |
| * [[https://www.invisible-island.net/xterm/ctlseqs/ctlseqs.html|XTerm Control Sequences]] |
| * [[https://vt100.net/|VT100.net]] |
| * [[https://raw.githubusercontent.com/dse/vt/master/banana_ansi_bbs.txt|Banana ANSI]] |
| |
{{tag>}} | {{tag>}} |
| |