Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ref:cterm [2024/02/09 22:16] – And done... now for some references! deuceref:cterm [2024/02/12 10:12] (current) – [DEC Private Mode Set (DECSET)] Add DECBKM deuce
Line 1: Line 1:
 ====== 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.
Line 50: Line 50:
 ==== 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)
  
Line 56: Line 56:
  
 === 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.
Line 85: Line 85:
  
 === 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''
  
Line 102: Line 102:
  
 === 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''
Line 117: Line 117:
  
 === 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.
Line 136: Line 136:
  
 === 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):
  
Line 161: Line 161:
  
 === 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. |
Line 179: Line 179:
  
 === 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. |
Line 479: Line 479:
 | 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. |
Line 836: Line 837:
 ===== 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>}}