* 制御機能

[1] [CITE@en[Digital VT100 User Guide: Programmer Information]], [TIME[2022-04-30T08:09:14.000Z]] <https://vt100.net/docs/vt100-ug/chapter3.html>

[29] [CITE@en[VT100.net: Private Control Functions used by DEC]], [TIME[2022-04-30T09:23:32.000Z]] <https://vt100.net/emu/ctrlfunc_dec.html>

[30] [CITE[Wayback Machine]], [TIME[2022-04-30T09:23:48.000Z]] <https://web.archive.org/web/20110103061225/http://web.eecs.utk.edu/~shuford/terminal/vt100_reference_card.txt>

[2] [CITE[Wayback Machine]], [TIME[2022-04-30T08:09:52.000Z]] <https://web.archive.org/web/20110103061220/http://web.eecs.utk.edu/~shuford/terminal/vt100_codes_news.txt>

[3] [CITE@en[VT52 - Wikipedia]], [TIME[2022-04-19T00:08:20.000Z]], [TIME[2022-04-30T08:10:08.734Z]] <https://en.wikipedia.org/wiki/VT52>

[26] [CITE[BIOS]], [TIME[2022-04-30T09:19:44.000Z]], [TIME[2013-06-21T03:27:05.995Z]] <https://web.archive.org/web/20130621030502/http://www.yardley.cc/atari/compendium/atari-compendium-chapter-3-BIOS.htm#vt52emulator>

[46] [CITE[Man page of CONSOLE_CODES]], [TIME[2022-04-29T09:33:30.000Z]], [TIME[2022-04-30T10:00:50.991Z]] <https://linuxjm.osdn.jp/html/LDP_man-pages/man4/console_codes.4.html>

[68] [CITE[Wayback Machine]], [TIME[2022-04-30T12:25:52.000Z]] <https://web.archive.org/web/20010221071255/http://www.cs.utk.edu/~shuford/terminal/villanova-vt100-esc-codes.txt>

[94] [CITE[Wayback Machine]], [TIME[2022-04-30T12:50:11.000Z]] <https://web.archive.org/web/20010109234500/http://www.cs.utk.edu/~shuford/terminal/ansi_dec_controls_news.txt>

[48] [TIME[2022-04-30T10:23:59.000Z]] <https://webcache.googleusercontent.com/search?q=cache:6oc699y1XfUJ:ftp://ftp.chiark.greenend.org.uk/users/bjharris/all-escapes/all-escapes.txt>

[103] [CITE[Xterm Control Sequences]], [TIME[2008-12-29T17:58:30.000Z]], [TIME[2022-05-01T01:22:51.583Z]] <https://www.xfree86.org/current/ctlseqs.html>


[4] [[VT100]] [[control characters]] [SRC[>>1]]

,*   ,* 0 ,* 1 ,* 2 ,* 3 ,* 4 ,* 5 ,* 6 ,* 7
,* 0 ,[CODE(charname)@en[NULL]],,,,,,,
,* 1 ,                         ,[CODE(charname)@en[XON]],,,,,,
,* 2 ,                         ,,,,,,,
,* 3 ,                         ,[CODE(charname)@en[XOFF]],,,,,,
,* 4 ,                         ,,,,,,,
,* 5 ,[CODE(charname)@en[ENQ]] ,,,,,,,
,* 6 ,                         ,,,,,,,
,* 7 ,[CODE(charname)@en[BEL]] ,,,,,,,
,* 8 ,[CODE(charname)@en[BS]]  ,[CODE(charname)@en[CAN]] ,,,,,,
,* 9 ,[CODE(charname)@en[HT]]  ,,,,,,,
,* 10,[CODE(charname)@en[LF]]  ,[CODE(charname)@en[SUB]],,,,,,
,* 11,[CODE(charname)@en[VT]]  ,[CODE(charname)@en[ESC]],,,,,,
,* 12,[CODE(charname)@en[FF]]  ,,,,,,,
,* 13,[CODE(charname)@en[CR]]  ,,,,,,,
,* 14,[CODE(charname)@en[SO]]  ,,,,,,,
,* 15,[CODE(charname)@en[SI]]  ,,,,,,,[CODE(charname)@en[DEL]]

[10] [CODE(charname)@en[ESC]] [VAR[F]] [SRC[>>1]]

,*   ,* 0 ,* 1 ,* 2 ,* 3 ,* 4 ,* 5 ,* 6 ,* 7
,* 0 ,    ,    ,    ,    ,    ,    ,    ,{Reverse video}
,* 1 ,    ,    ,    ,(([CODE(charname)@en[DECHTS]])) {{[CODE(charname)@en[DECGON]]}},Cursor Up,,   ,{Normal video}
,* 2 ,    ,    ,    ,(([CODE(charname)@en[DECCAHT]])) {{[CODE(charname)@en[DECGOFF]]}},Cursor Down,,{Foreground color},
,* 3 ,    ,    ,    ,(([CODE(charname)@en[DECVTS]])),Cursor Right,,{Background color},
,* 4 ,    ,    ,    ,(([CODE(charname)@en[DECCAVT]])),Cursor Left,,{Clear to start of screen},
,* 5 ,    ,    ,    ,(([CODE(charname)@en[DECXMIT]])),{Clear screen},,{Enable cursor},
,* 6 ,    ,    ,    ,(([CODE(charname)@en[DECBI]])),Enter Graphics Mode,,{Disable cursor},{Wrap on}
,* 7 ,    ,    ,    ,[CODE(charname)@en[DECSC]],Exit Graphics Mode,,,{Wrap off}
,* 8 ,    ,    ,    ,[CODE(charname)@en[DECRC]],Cursor to Home,,,
,* 9 ,    ,    ,    ,(([CODE(charname)@en[DECFI]])),Reverse Line Feed,Direct Cursor Address,,
,* 10,    ,    ,    ,    ,Erase to End of Screen,[CODE(charname)@en[DECID]] = Identify,{Save cursor},
,* 11,    ,    ,    ,    ,Erase to End of Line,,{Restore cursor},
,* 12,    ,    ,    ,Enter ANSI Mode,(Insert line),,{Clear line},
,* 13,    ,    ,    ,[CODE(charname)@en[DECKPAM]] = Enter Alternate Keypad Mode,(Delete line),,,
,* 14,    ,    ,    ,[CODE(charname)@en[DECKPNM]] = Exit Alaternate Keypad Mode,,,,
,* 15,    ,    ,    ,    ,    ,    ,{Clear to start of line},

- [20] [[文字の名前]]形式は [[ANSI]] Mode, 英語の名前は VT52 Mode
- [22] () のものは VT52 にある [SRC[>>3]] が VT100 の VT52 mode [SRC[>>1]] になし
- [27] {} のものは VT52 mode の [[TOS]] 拡張 [SRC[>>3, >>26]]
- [35] {{}} のものは [[VT105]] [SRC[>>29]]
- [34] (()) のものはその他 [SRC[>>29]]


- [19] Direct Cursor Address - [CODE(charname)@en[ESC]] Y line column
(line, column = integer + [N[0x1F]])
[SRC[>>1]]
- [28] Foreground color, Background color は次の1バイトの下位4ビットが色を表す
[SRC[>>3, >>26]]


[64] その他のもの:


- [88] [CODE(charname)@en[ESC]] ? - [SRC[>>68]]
- [72] [CODE(charname)@en[ESC]] D - [CODE(charname)@en[IND]] [SRC[>>46]]
- [73] [CODE(charname)@en[ESC]] E - [CODE(charname)@en[NEL]] [SRC[>>46]]
- [74] [CODE(charname)@en[ESC]] H - [CODE(charname)@en[HTS]] [SRC[>>46]]
- [75] [CODE(charname)@en[ESC]] M - [CODE(charname)@en[RI]] [SRC[>>46]]
- [70] [CODE(charname)@en[ESC]] N - Switch to G1 [SRC[>>68]]
- [69] [CODE(charname)@en[ESC]] O - Switch to G0 [SRC[>>68]]
- [95] [CODE(charname)@en[ESC]] P - [CODE(charname)@en[DCS]] (extended) [SRC[>>48]]
- [89] [CODE(charname)@en[ESC]] P - PF1 (VT52 mode) [SRC[>>68]]
- [91] [CODE(charname)@en[ESC]] Q - PF2 (VT52 mode) [SRC[>>68]]
- [92] [CODE(charname)@en[ESC]] R - PF3 (VT52 mode) [SRC[>>68]]
- [93] [CODE(charname)@en[ESC]] S - PF4 (VT52 mode) [SRC[>>68]]
- [81] [CODE(charname)@en[ESC]] V - Print cursor line (VT52 mode) [SRC[>>68]]
- [82] [CODE(charname)@en[ESC]] W - Enter print controller (VT52 mode) [SRC[>>68]]
- [83] [CODE(charname)@en[ESC]] X - Exit print controller (VT52 mode) [SRC[>>68]]
- [84] [CODE(charname)@en[ESC]] ] - Print screen (VT52 mode) [SRC[>>68]]
- [85] [CODE(charname)@en[ESC]] ^ - Enter auto print (VT52 mode) [SRC[>>68]]
- [86] [CODE(charname)@en[ESC]] [ASIS[-]] - Exit auto print (VT52 mode) [SRC[>>68]]
-- [87] [CODE[_]] カ
- [71] [CODE(charname)@en[ESC]] c - Hard Reset [SRC[>>68]], 
[CODE(charname)@en[RIS]] [SRC[>>46, >>103, >>125]]
- [65] [CODE(charname)@en[ESC]] d - Set colour table [SRC[>>48]]
- [66] [CODE(charname)@en[ESC]] l - [CODE(charname)@en[LMA]]
(Lock memory above) [SRC[>>48]], Memory Lock [SRC[>>103]]
- [67] [CODE(charname)@en[ESC]] m - [CODE(charname)@en[USR]]
(Unlock scrolling region) [SRC[>>48]], Memory Unlock [SRC[>>103]]
- [105] [CODE(charname)@en[ESC]] n - [CODE(charname)@en[LS2]] [SRC[>>103]]
- [106] [CODE(charname)@en[ESC]] o - [CODE(charname)@en[LS3]] [SRC[>>103]]
- [107] [CODE(charname)@en[ESC]] | - [CODE(charname)@en[LS3R]] [SRC[>>103]]
- [108] [CODE(charname)@en[ESC]] } - [CODE(charname)@en[LS2R]] [SRC[>>103]]
- [109] [CODE(charname)@en[ESC]] ~ - [CODE(charname)@en[LS1R]] [SRC[>>103]]
- [76] [CODE(charname)@en[ESC]] { T [VAR[filename]] [CODE(charname)@en[CR]] -
Transmit a file [SRC[>>68]]
- [77] [CODE(charname)@en[ESC]] { R [VAR[filename]] [CODE(charname)@en[CR]] -
Receive a file [SRC[>>68]]
- [78] [CODE(charname)@en[ESC]] { A [VAR[filename]] [CODE(charname)@en[CR]] -
Append to a file [SRC[>>68]]
- [79] [CODE(charname)@en[ESC]] { S - Save collected text [SRC[>>68]]
- [80] [CODE(charname)@en[ESC]] S - Save collected text [SRC[>>68]]



[110] Tektronix 4014 mode [SRC[>>103]]:

- [111] ESC ETX - Switch to VT100 Mode (ESC Ctrl-C)
- [112] ESC ENQ - Return Terminal Status (ESC Ctrl-E)
- [113] ESC FF - PAGE (Clear Screen) (ESC Ctrl-L)
- [114] ESC SO - Begin 4015 APL mode (ignored by xterm) (ESC Ctrl-N)
- [115] ESC SI - End 4015 APL mode (ignored by xterm) (ESC Ctrl-O)
- [116] ESC ETB - COPY (Save Tektronix Codes to file COPYyyyy-mm-dd.hh:mm:ss) (ESC Ctrl-W)
- [117] ESC CAN - Bypass Condition (ESC Ctrl-X)
- [118] ESC SUB - GIN mode (ESC Ctrl-Z)
- [119] ESC FS - Special Point Plot Mode (ESC Ctrl-\)
- [120] ESC 8 - Select Large Character Set
- [121] ESC 9 - Select #2 Character Set
- [122] ESC : - Select #3 Character Set
- [123] ESC ; - Select Small Character Set


[36] [[告知シーケンス]] [SRC[>>29]]:

- [37] [CODE(charname)@en[ESC]] 2/0 3/6 - 
[CODE(charname)@en[DECTC1]]
(Truncate C1 Controls);
[CODE(charname)@en[S7C1R]]
(Select 7-bit C1 Reception)
- [38] [CODE(charname)@en[ESC]] 2/0 3/7 -
[CODE(charname)@en[DECAC1]]
(Accept C1 Controls);
[CODE(charname)@en[S8C1R]]
(Select 8-bit C1 Reception)



[5] [[私用制御機能]]:

- [7] [CODE(charname)@en[ESC]] 2/3 3/3 - [CODE(charname)@en[DECDHL]], Top Half [SRC[>>1]], [CODE(charname)@en[DECDHLT]] [SRC[>>126]]
- [8] [CODE(charname)@en[ESC]] 2/3 3/4 - [CODE(charname)@en[DECDHL]], Bottom Half [SRC[>>1]], [CODE(charname)@en[DECDHLB]] [SRC[>>126]]
- [33] [CODE(charname)@en[ESC]] 2/3 3/5 - [CODE(charname)@en[DECSWL]] [SRC[>>1, >>126]]
- [9] [CODE(charname)@en[ESC]] 2/3 3/6 - [CODE(charname)@en[DECDWL]] [SRC[>>1, >>126]]
- [31] [CODE(charname)@en[ESC]] 2/3 3/7 - [CODE(charname)@en[DECHCP]] [SRC[>>29]]
- [6] [CODE(charname)@en[ESC]] 2/3 3/8 - [CODE(charname)@en[DECALN]] [SRC[>>1]]
- [32] [CODE(charname)@en[ESC]] 2/3 3/9 - [CODE(charname)@en[DECFPP]] [SRC[>>29]]

[39] 独自の [CODE(charname)@en[DOCS]]:

- [40] [CODE(charname)@en[ESC]] 2/5 3/0 - [CODE(charname)@en[DECTCS]] (Exit NAPLPS)
[SRC[>>29]]
- [41] [CODE(charname)@en[ESC]] 2/5 3/4 - [CODE(charname)@en[DECSCCS]] (Enter NAPLPS)
[SRC[>>29]]
- [42] [CODE(charname)@en[ESC]] 2/5 3/8 - [CODE(charname)@en[DECHPPCL]] (Enter HP PCL emulation mode)
[SRC[>>29]]
- [99] ESC 2/5 3/8 - [[UTF-8]] (旧) [SRC[>>46]]


[11] 独自の[[制御シーケンス]] [SRC[>>1]]:

- [12] [CODE(charname)@en[ESC]] [ Ps q - [CODE(charname)@en[DECLL]] [VAR[Ps]] ∈
[ [N[0]], [N[4]] ]
- [13] ESC [ <sol>; <par>; <nbits>; <xspeed>; <rspeed>; <clkmul>; <flags> x -
[CODE(charname)@en[DECREPTPARM]]
- [14] ESC [ <sol> x - [CODE(charname)@en[DECREQTPARM]]
- [15] ESC [ Pn; Pn r - [CODE(charname)@en[DECSTBM]]
- [16] ESC [ 2 ; Ps y - [CODE(charname)@en[DECTST]]
- [47] ESC [ ... ] - [[Linux]] 独自 [SRC[>>46]]
- [96] その他 [SRC[>>48]]

[18] 独自のモード: 

- [97] 3/15 [VAR[M]] ([VAR[M]] ∈ [ [N[0]], [N[9]] ]) [SRC[>>1]]
- [98] その他 [SRC[>>48]]

[130] [[SGR]] も参照。

[17] [[私用図形文字集合]] ([[94集合]]): 

- [23] VT52 Graphics mode [SRC[>>3]]
(VT100 の VT52 mode の Graphis Mode とは違う [SRC[>>1]])
- [100] [[3/0]] Special Graphics [SRC[>>1]]
- [101] [[3/1]] Alternate Character ROM Standard Character Set [SRC[>>1]]
- [102] [[3/2]] Alternate Character ROM Special Graphics [SRC[>>1]]
- [50] 3/3 - HP Roman 8, upper 128 chars [SRC[>>48]]
- [51] 3/4 - Dutch character set [SRC[>>48]]
- [52] 3/5 - Finnish character set [SRC[>>48]]
- [53] 3/6 - Norwegian/Danish character set [SRC[>>48]]
- [54] 3/7 - Swedish character set [SRC[>>48]]
- [55] 3/8 - APL character set [SRC[>>48]]
- [56] 3/9 - French Canadian character set [SRC[>>48]]
- [57] 3/12 - DEC supplemental character set [SRC[>>48]]
- [58] 3/13 - Swiss character set [SRC[>>48]]
- [59] 3/14 - DEC Technical character set [SRC[>>48]]
- [60] Q - French Canadian character set [SRC[>>48]]
- [49] 2/2 3/1 - Digital Symbol character set [SRC[>>48]]
- [61] 2/5 3/5 - Digtal Supplemental Graphics set [SRC[>>48]]
- [62] 2/5 3/6 - Portuguese character set [SRC[>>48]]
- [63] 2/5 3/13 - Hebrew character set [SRC[>>48]]



[90] [SRC[>>46]]

>
[PRE[
ESC (		G0 文字集合を定義するシーケンスを開始する。
ESC ( B		    デフォルト(ISO 8859-1 マッピング)を選択する。
ESC ( 0		    VT100 グラフィクスマッピングを選択する。
ESC ( U		    ヌルマッピングを選択する - キャラクター ROM から直接マッピングする。
ESC ( K		    ユーザー定義のマッピングを選択する - そのマップ
    は [B[mapscrn]](8) ユーティリティーによってロードされる。
ESC )		G1 を定義するシーケンスを開始する。
(すでに述べたように B, 0, U, K のどれかが次に続く)
]PRE]

[104] [SRC[>>103]]

>
[PRE[
C = 0 → DEC Special Character and Line Drawing Set
C = A → United Kingdom (UK)
C = B → United States (USASCII)
C = 4 → Dutch
C = C or 5 → Finnish
C = R → French
C = Q → French Canadian
C = K → German
C = Y → Italian
C = E or 6 → Norwegian/Danish
C = Z → Spanish
C = H or 7 → Swedish
C = = → Swiss
]PRE]

[132] [CITE@en[Unicode support — The Linux Kernel documentation]], [TIME[2021-04-25T21:06:20.000Z]], [TIME[2023-04-12T05:10:48.900Z]] <https://www.kernel.org/doc/html/v5.12/admin-guide/unicode.html>

>
,*Map symbol,*Map name,*Escape code (G0)
,LAT1_MAP,Latin-1 (ISO 8859-1),ESC ( B
,GRAF_MAP,DEC VT100 pseudographics,ESC ( 0
,IBMPC_MAP,IBM code page 437,ESC ( U
,USER_MAP,User defined,ESC ( K
>In particular, ESC ( U is no longer “straight to font”, since the font might be completely different than the IBM character set. This permits for example the use of block graphics even with a Latin-1 font loaded.


[127] [[指示シーケンス]]、[[私用終端バイト]]も参照。

[21] [CODE(charname)@en[ESC]] Z に対する応答:

- [24] VT100 の VT52 互換モード:
[CODE(charname)@en[ESC]] / Z [SRC[>>1]]
- [25] VT52 [SRC[>>3]]:
--[CODE(charname)@en[ESC]] / A
--[CODE(charname)@en[ESC]] / C 
--[CODE(charname)@en[ESC]] / H 
--[CODE(charname)@en[ESC]] / J 
--[CODE(charname)@en[ESC]] / K 
--[CODE(charname)@en[ESC]] / L 

[43] 
[CODE(charname)@en[DECRQTSR]] (Request Terminal State Report) に対する応答 [SRC[>>29]]:

- [44] [CODE(charname)@en[ESC]] 2/8 3/1 - [CODE(charname)@en[DDD3]] (Report Hebrew Settings)
- [45] [CODE(charname)@en[ESC]] 2/9 3/1 - [CODE(charname)@en[DDD1]] (Report Hebrew Settings)

[131] [CITE@en[DDD1, DDD2, DDD3]], [TIME[2022-12-12T09:55:11.000Z]] <https://www.vt100.net/docs/vt510-rm/DD1>

- ESC 2/8 3/1
- ESC 2/9 3/1
- ESC 2/9 4/2


- [124] [CITE[Digital Ansi-Compliant Print Protocol Lev 2 Program. Ref. Man. - PPLV2PMB.PDF]], [TIME[1995-08-31T14:32:02.000Z]], [TIME[2022-05-02T12:20:35.927Z]] <http://sup.xenya.si/sup/info/digital/MDS/jun99/Cd3/PRINTER/PPLV2PMB.PDF#page=110>
-- [125] <http://sup.xenya.si/sup/info/digital/MDS/jun99/Cd3/PRINTER/PPLV2PMB.PDF#page=159>

[126] [CITE[日本語トランスレータリファレンス・マニュアル]], [TIME[2006-01-07T09:03:28.000Z]], [TIME[2022-05-03T05:51:21.120Z]] <http://odl.sysworks.biz/disk$axpdocdec022/japanese/jdcpsv21/trans/jtran003.htm>

[129] 
[CITE@ja[Terminals - akinomyoga/contra]], [TIME[2021-12-31T23:05:20.000Z]], [TIME[2022-12-11T08:02:46.200Z]] <https://akinomyoga.github.io/contra/term.html>

[133] 関連: [[Linux Zone]]

* 人工的な利用例

[134] 
[CITE@en[qemacs/tests/vt100.txt at master · qemacs/qemacs · GitHub]], [TIME[2025-10-26T05:24:31.000Z]] <https://github.com/qemacs/qemacs/blob/master/tests/vt100.txt>
ファイルいくつか

* メモ

[128] 端末が壊れて[[文字化け]]しまくっている時

[PRE(code)[
$ echo -e "\026\033c"
]PRE]

