From 98cab31fc3659e33aef260efca55bf9f1753164c Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Mon, 11 Feb 2019 11:49:19 +0100
Subject: Add source files from Michael

---
 system/terminal-codes/unknown/src/A210             |  78 +++++++
 system/terminal-codes/unknown/src/A210.german      |  87 ++++++++
 system/terminal-codes/unknown/src/A230+            |  61 ++++++
 system/terminal-codes/unknown/src/DEC.VT220.ascii  |  49 +++++
 system/terminal-codes/unknown/src/DEC.VT220.german |  66 ++++++
 system/terminal-codes/unknown/src/DM5              |  53 +++++
 system/terminal-codes/unknown/src/ELBIT.ascii      |  32 +++
 system/terminal-codes/unknown/src/ELBIT.german     |  47 ++++
 system/terminal-codes/unknown/src/FT10-20.ascii    |  75 +++++++
 system/terminal-codes/unknown/src/FT10-20.german   |  94 ++++++++
 system/terminal-codes/unknown/src/GENGEN.ELA       | 244 +++++++++++++++++++++
 system/terminal-codes/unknown/src/GT100            |  44 ++++
 system/terminal-codes/unknown/src/IBM.PC.AT        |  63 ++++++
 system/terminal-codes/unknown/src/M20              |  10 +
 system/terminal-codes/unknown/src/M20.original     |  27 +++
 system/terminal-codes/unknown/src/M24              |  63 ++++++
 system/terminal-codes/unknown/src/M24.keybfr1      |  64 ++++++
 system/terminal-codes/unknown/src/PC.KB2           |  79 +++++++
 system/terminal-codes/unknown/src/PC.french        |  68 ++++++
 system/terminal-codes/unknown/src/PC.german        |  63 ++++++
 system/terminal-codes/unknown/src/Qume.german      |  77 +++++++
 system/terminal-codes/unknown/src/REGENT25         |  34 +++
 system/terminal-codes/unknown/src/REGENT40         |  37 ++++
 system/terminal-codes/unknown/src/RUC.AT.ascii     |  75 +++++++
 system/terminal-codes/unknown/src/SIEMENS.PC-D     |  88 ++++++++
 system/terminal-codes/unknown/src/TAP5060.ELA      |  49 +++++
 system/terminal-codes/unknown/src/TVI.german       |  57 +++++
 system/terminal-codes/unknown/src/TVI914.ascii     |  43 ++++
 system/terminal-codes/unknown/src/VC404.ascii      |  61 ++++++
 system/terminal-codes/unknown/src/VC404.german     |  75 +++++++
 system/terminal-codes/unknown/src/VC404.hrz        |  67 ++++++
 system/terminal-codes/unknown/src/VIDEOSTAR        |  52 +++++
 system/terminal-codes/unknown/src/basis108(ascii)  |  90 ++++++++
 .../terminal-codes/unknown/src/basis108(deutsch)   | 106 +++++++++
 system/terminal-codes/unknown/src/basis108(info)   | 107 +++++++++
 system/terminal-codes/unknown/src/ws580            |  62 ++++++
 36 files changed, 2447 insertions(+)
 create mode 100644 system/terminal-codes/unknown/src/A210
 create mode 100644 system/terminal-codes/unknown/src/A210.german
 create mode 100644 system/terminal-codes/unknown/src/A230+
 create mode 100644 system/terminal-codes/unknown/src/DEC.VT220.ascii
 create mode 100644 system/terminal-codes/unknown/src/DEC.VT220.german
 create mode 100644 system/terminal-codes/unknown/src/DM5
 create mode 100644 system/terminal-codes/unknown/src/ELBIT.ascii
 create mode 100644 system/terminal-codes/unknown/src/ELBIT.german
 create mode 100644 system/terminal-codes/unknown/src/FT10-20.ascii
 create mode 100644 system/terminal-codes/unknown/src/FT10-20.german
 create mode 100644 system/terminal-codes/unknown/src/GENGEN.ELA
 create mode 100644 system/terminal-codes/unknown/src/GT100
 create mode 100644 system/terminal-codes/unknown/src/IBM.PC.AT
 create mode 100644 system/terminal-codes/unknown/src/M20
 create mode 100644 system/terminal-codes/unknown/src/M20.original
 create mode 100644 system/terminal-codes/unknown/src/M24
 create mode 100644 system/terminal-codes/unknown/src/M24.keybfr1
 create mode 100644 system/terminal-codes/unknown/src/PC.KB2
 create mode 100644 system/terminal-codes/unknown/src/PC.french
 create mode 100644 system/terminal-codes/unknown/src/PC.german
 create mode 100644 system/terminal-codes/unknown/src/Qume.german
 create mode 100644 system/terminal-codes/unknown/src/REGENT25
 create mode 100644 system/terminal-codes/unknown/src/REGENT40
 create mode 100644 system/terminal-codes/unknown/src/RUC.AT.ascii
 create mode 100644 system/terminal-codes/unknown/src/SIEMENS.PC-D
 create mode 100644 system/terminal-codes/unknown/src/TAP5060.ELA
 create mode 100644 system/terminal-codes/unknown/src/TVI.german
 create mode 100644 system/terminal-codes/unknown/src/TVI914.ascii
 create mode 100644 system/terminal-codes/unknown/src/VC404.ascii
 create mode 100644 system/terminal-codes/unknown/src/VC404.german
 create mode 100644 system/terminal-codes/unknown/src/VC404.hrz
 create mode 100644 system/terminal-codes/unknown/src/VIDEOSTAR
 create mode 100644 system/terminal-codes/unknown/src/basis108(ascii)
 create mode 100644 system/terminal-codes/unknown/src/basis108(deutsch)
 create mode 100644 system/terminal-codes/unknown/src/basis108(info)
 create mode 100644 system/terminal-codes/unknown/src/ws580

(limited to 'system/terminal-codes/unknown/src')

diff --git a/system/terminal-codes/unknown/src/A210 b/system/terminal-codes/unknown/src/A210
new file mode 100644
index 0000000..4b63b40
--- /dev/null
+++ b/system/terminal-codes/unknown/src/A210
@@ -0,0 +1,78 @@
+(*************************************************)
+(* Typtabelle   : A210                           *)
+(* Zeichensatz  : ASCII                          *) 
+(* Keyboard     : ASCII                          *) 
+(* Erstellt am  : 07.12.85                       *)
+(*************************************************)
+
+forget ("A210", quiet) ;
+new type ("A210") ;
+
+enter outcode (127, 0, ""27"F"127"") ; (* Erster Outstring ! *) 
+INT VAR i ; 
+FOR i FROM 128 UPTO 254 REP 
+ link outcode (i, 4) (* first outstring *)
+PER ; 
+ 
+cursor logic (32, ""27"=", "", "") ;
+ 
+(* Ausgabe Codes : *)
+enter outcode (  1,  30) ;        (* Cursor Home : <CTRL-^> *) 
+enter outcode (  2,  12) ;        (* Cursor right: <CTRL-L> *) 
+enter outcode (  3,  11) ;        (* Cursor up   : <CTRL-K> *) 
+enter outcode (  4, 0, ""27"Y") ; (* CLEOP       : <ESC> Y *) 
+enter outcode (  5, 0, ""27"T") ; (* CLEOL       : <ESC> T *) 
+enter outcode (  8,   8) ;        (* Cursor left : <CTRL-H> *) 
+enter outcode ( 10,  10) ;        (* Cursor down : <LF> *) 
+enter outcode ( 13,  13) ;        (* CR          : <CR> *) 
+enter outcode ( 14, 0, ""27"G0") ;(* END MARK    : <ESC> G 0 *) 
+enter outcode ( 15, 0, ""27"G4") ;(* BEGIN MARK  : <ESC> G 4 *) 
+enter outcode ( 16, 0, ""27"G8") ;(* UNDERLINE   : <ESC> G 8 *) 
+enter outcode ( 17, 0, ""27"G2") ;(* FLASH       : <ESC> G 2 *) 
+ 
+(* Low Video on = <ESC> ) , High Video on = <ESC> ( *) 
+enter outcode (214, 0, ""27")A"27"(") ; (* ae     : <ESC> ) A <ESC> ( *) 
+enter outcode (215, 0, ""27")O"27"(") ; (* oe     : <ESC> ) O <ESC> ( *) 
+enter outcode (216, 0, ""27")U"27"(") ; (* ue     : <ESC> ) U <ESC> ( *) 
+enter outcode (217, 0, ""27")a"27"(") ; (* Ae     : <ESC> ) a <ESC> ( *) 
+enter outcode (218, 0, ""27")o"27"(") ; (* Oe     : <ESC> ) o <ESC> ( *) 
+enter outcode (219, 0, ""27")u"27"(") ; (* Ue     : <ESC> ) u <ESC> ( *)
+enter outcode (220, 0, ""27")k"27"(") ; (* Trenn-k     : k *) 
+enter outcode (221, 0, ""27")-"27"(") ; (* Trennstrich : - *) 
+enter outcode (222, 0, ""27")#"27"(") ; (* Fest-#      : # *) 
+enter outcode (223, 0, ""27")_"27"(") ; (* Fest-Blank  : <SPACE> *) 
+enter outcode (251, 0, ""27")B"27"(") ; (* sz     : <ESC> ) B <ESC> ( *) 
+
+(* Eingabecodes : *)
+enter incode (  0, ""0"")  ;  (* Wird beim Einschalten dreimal gesendet *)
+enter incode (  1, ""30"") ;  (* HOP         : <CTRL-^> *)
+enter incode (  2, ""12"") ;  (* Cursor right: <CTRL-L> *)
+enter incode (  3, ""11"") ;  (* Cursor up   : <CTRL-K> *)
+enter incode (  7, ""1"A"13"") ; (* SV - Call   : <CTRL-A> A <CR> *)
+enter incode (  7, ""2"") ;   (* SV - Call   : <CTRL-B> *)
+enter incode (  8, ""8"") ; 
+enter incode (  9, ""9"") ;   (* TAB         : <CTRL-I> *)
+enter incode ( 10, ""22"") ;  (* Cursor down : <CTRL-Y> *)
+enter incode ( 11, ""27"Q") ; (* RUBIN       : <ESC> Q *)
+enter incode ( 12, ""127"") ; (* RUBOUT      : <DEL> *)
+enter incode ( 12, ""27"W") ; (* RUBOUT      : <ESC> W *)
+enter incode ( 16, ""27"E") ; (* MARK        : <ESC> E *)
+enter incode ( 17, ""19"") ;  (* Stop        : <CTRL-S> *)
+enter incode ( 17, ""1"@"13"") ; (* Stop        : <CTRL-A> @ <CR> *)
+enter incode ( 23, ""17"") ;     (* Weiter      : <CTRL-Q> *)
+enter incode ( 23, ""1"B"13"") ; (* Weiter      : <CTRL-A> B <CR> *)
+enter incode (  4, ""1"C"13"") ; (* Funct.-Taste: <CTRL-A> C <CR> *)
+enter incode ( 20, ""1"D"13"") ; (* Funct.-Taste: <CTRL-A> D <CR> *)
+enter incode ( 21, ""1"E"13"") ; (* Funct.-Taste: <CTRL-A> E <CR> *)
+enter incode ( 22, ""1"F"13"") ; (* Funct.-Taste: <CTRL-A> F <CR> *)
+enter incode ( 24, ""1"G"13"") ; (* Funct.-Taste: <CTRL-A> G <CR> *)
+enter incode ( 25, ""1"H"13"") ; (* Funct.-Taste: <CTRL-A> H <CR> *)
+enter incode ( 26, ""1"I"13"") ; (* Funct.-Taste: <CTRL-A> I <CR> *)
+enter incode ( 28, ""1"J"13"") ; (* Funct.-Taste: <CTRL-A> J <CR> *)
+enter incode ( 29, ""1"`"13"") ; (* Funct.-Taste: <CTRL-A> ` <CR> *)
+enter incode ( 30, ""1"a"13"") ; (* Funct.-Taste: <CTRL-A> a <CR> *)
+enter incode ( 31, ""1"b"13"") ; (* Weiter      : <CTRL-A> b <CR> *)
+ 
+PROC link outcode (INT CONST eumelcode, begin of string) : 
+ enter outcode (eumelcode, begin of string -128) 
+ENDPROC link outcode ;
diff --git a/system/terminal-codes/unknown/src/A210.german b/system/terminal-codes/unknown/src/A210.german
new file mode 100644
index 0000000..656ad31
--- /dev/null
+++ b/system/terminal-codes/unknown/src/A210.german
@@ -0,0 +1,87 @@
+(*************************************************)
+(* Typtabelle   : A210 - Emulation QT102!        *)
+(* Zeichensatz  : German                         *) 
+(* Keyboard     : German                         *) 
+(* Erstellt am  : 04.02.87                       *)
+(*************************************************)
+
+forget ("A210.german", quiet) ;
+new type ("A210.german") ;
+
+enter outcode (127, 0, ""27"F"127"") ; (* Erster Outstring ! *) 
+INT VAR i ; 
+FOR i FROM 128 UPTO 254 REP 
+ link outcode (i, 4) (* first outstring *)
+PER ; 
+ 
+cursor logic (32, ""27"=", "", "") ;
+ 
+(* Ausgabe Codes : *)
+enter outcode (  1,  30) ;        (* Cursor Home : <CTRL-^> *) 
+enter outcode (  2,  12) ;        (* Cursor right: <CTRL-L> *) 
+enter outcode (  3,  11) ;        (* Cursor up   : <CTRL-K> *) 
+enter outcode (  4, 0, ""27"Y") ; (* CLEOP       : <ESC> Y *) 
+enter outcode (  5, 0, ""27"T") ; (* CLEOL       : <ESC> T *) 
+enter outcode (  8,   8) ;        (* Cursor left : <CTRL-H> *) 
+enter outcode ( 10,  10) ;        (* Cursor down : <LF> *) 
+enter outcode ( 13,  13) ;        (* CR          : <CR> *) 
+enter outcode ( 14, 0, ""27"G0") ;(* END MARK    : <ESC> G 0 *) 
+enter outcode ( 15, 0, ""27"G4") ;(* BEGIN MARK  : <ESC> G 4 *) 
+enter outcode ( 16, 0, ""27"G8") ;(* UNDERLINE   : <ESC> G 8 *) 
+enter outcode ( 17, 0, ""27"G2") ;(* FLASH       : <ESC> G 2 *) 
+ 
+(* Low Video on = <ESC> ) , High Video on = <ESC> ( *) 
+enter outcode (214, "[") ; (* Ae     : [ *) 
+enter outcode (215, "\") ; (* Oe     : \ *) 
+enter outcode (216, "]") ; (* Ue     : ] *)
+enter outcode (217, "{") ; (* ae     : {      } *) 
+enter outcode (218, "|") ; (* oe     : | *) 
+enter outcode (219, "}") ; (* ue     : }      { *)
+enter outcode (220, ""27")k"27"(") ; (* Trenn-k     : k *) 
+enter outcode (221, ""27")-"27"(") ; (* Trennstrich : - *) 
+enter outcode (222, ""27")#"27"(") ; (* Fest-#      : # *) 
+enter outcode (223, ""27")_"27"(") ; (* Fest-Blank  : <SPACE> *) 
+enter outcode (251, "~") ; (* sz     : ~ *) 
+enter outcode (252, "@") ; (* Paragraph: @ *)
+
+(* Eingabecodes : *)
+(* Achtung: Tabelle ist randvoll! *) 
+enter incode (  0, ""0"")  ;  (* Wird beim Einschalten dreimal gesendet *)
+enter incode (  1, ""30"") ;  (* HOP         : <CTRL-^> *)
+enter incode (  2, ""12"") ;  (* Cursor right: <CTRL-L> *)
+enter incode (  3, ""11"") ;  (* Cursor up   : <CTRL-K> *)
+enter incode (  7, ""1"A"13"") ; (* SV - Call   : F2 *)
+enter incode (  7, ""2"") ;   (* SV - Call   : <CTRL-B> *)
+enter incode (  9, ""9"") ;   (* TAB         : <CTRL-I> *)
+enter incode ( 10, ""22"") ;  (* Cursor down : <CTRL-Y> *)
+enter incode ( 11, ""27"Q") ; (* RUBIN       : <ESC> Q *)
+enter incode ( 12, ""127"") ; (* RUBOUT      : <DEL> *)
+enter incode ( 12, ""27"W") ; (* RUBOUT      : <ESC> W *)
+enter incode ( 16, ""27"E") ; (* MARK        : <ESC> E *)
+enter incode ( 17, ""19"") ;  (* Stop        : <CTRL-S> *)
+enter incode ( 23, ""17"") ;  (* Weiter      : <CTRL-Q> *)
+enter incode ( 23, ""3"") ;   (* Weiter      : <CTRL-C> *) 
+enter incode (  4, ""1"C"13"") ; (* Funct.-Taste F4 : <CTRL-A> C <CR>*) 
+enter incode ( 20, ""1"D"13"") ; (* Funct.-Taste F5 : <CTRL-A> D <CR> *)
+enter incode ( 21, ""1"E"13"") ; (* Funct.-Taste F6 : <CTRL-A> E <CR> *)
+enter incode ( 22, ""1"F"13"") ; (* Funct.-Taste F7 : <CTRL-A> F <CR> *)
+enter incode ( 24, ""1"G"13"") ; (* Funct.-Taste F8 : <CTRL-A> G <CR> *)
+enter incode ( 25, ""1"H"13"") ; (* Funct.-Taste F9 : <CTRL-A> H <CR> *)
+enter incode ( 26, ""1"I"13"") ; (* Funct.-Taste F10: <CTRL-A> I <CR> *)
+enter incode ( 28, ""1"J"13"") ; (* Funct.-Taste F11: <CTRL-A> J <CR> *)
+enter incode ( 29, ""1"`"13"") ; (* Funct.-Taste F12: <CTRL-A> ` <CR> *)
+enter incode ( 30, ""1"a"13"") ; (* Funct.-Taste F13: <CTRL-A> a <CR> *)
+enter incode ( 31, ""1"b"13"") ; (* Funct.-Taste F14: <CTRL-A> b <CR> *)
+enter incode (214, "[") ; 
+enter incode (215, "\") ; 
+enter incode (216, "]") ; 
+enter incode (217, "{") ; 
+enter incode (218, "|") ; 
+enter incode (219, "}") ; 
+enter incode (251, "~") ; 
+enter incode (252, "@") ; 
+
+ 
+PROC link outcode (INT CONST eumelcode, begin of string) : 
+ enter outcode (eumelcode, begin of string -128) 
+ENDPROC link outcode ;
diff --git a/system/terminal-codes/unknown/src/A230+ b/system/terminal-codes/unknown/src/A230+
new file mode 100644
index 0000000..89dcb79
--- /dev/null
+++ b/system/terminal-codes/unknown/src/A230+
@@ -0,0 +1,61 @@
+TEXT VAR  name :="A230+"; 
+command dialogue (FALSE); forget (name, quiet) ; 
+new type (name);
+cursor logic (32,""27"=","","");
+enter outcode (1 ,0,""30"");
+enter outcode (2 ,0,""12"");
+enter outcode (3 ,0,""11"");
+enter outcode (4 ,40,""27"Y");
+enter outcode (5 ,0,""27"T");
+enter outcode (14,0,""27"G0 ");
+enter outcode (15,0,""27"G4 ");
+ 
+enter outcode ( 91,0,">");
+enter outcode ( 92,0,"/");
+enter outcode ( 93,0,">");
+enter outcode (123,0,"(");
+enter outcode (124,0,"!");
+enter outcode (125,0,")");
+ 
+INT VAR i ; 
+FOR i FROM 127 UPTO 255 REP 
+  enter outcode (i, "?") 
+PER ; 
+ 
+enter outcode (214,91);
+enter outcode (215,92);
+enter outcode (216,93);
+enter outcode (217,123);
+enter outcode (218,124);
+enter outcode (219,125);
+enter outcode (220,"k") ; 
+enter outcode (221,"-") ; 
+enter outcode (222,"#") ; 
+enter outcode (223,"_") ; 
+enter outcode (251,126);
+ 
+enter incode (214,""91"");
+enter incode (215,""92"");
+enter incode (216,""93"");
+enter incode (217,""123"");
+enter incode (218,""124"");
+enter incode (219,""125"");
+enter incode (251,""126"");
+ 
+enter incode (63,""0"") ;
+enter incode ( 1,""30"");                            (* HOP *) 
+enter incode ( 2,""12"");                            (* up *) 
+enter incode ( 3,""11"");                            (* right *) 
+enter incode (10,""22"");                            (* down *) 
+enter incode ( 8,""8"");                             (* left *) 
+enter incode (11,""27"Q");enter incode (11,""26"");  (* rubin *) 
+enter incode (12,""27"W");enter incode (12,""127""); (* rubout *) 
+enter incode (12,""27"E");                           (*   "    *) 
+enter incode (16,""16"");                            (* mark *) 
+enter incode (16,""27"T");                           (* mark *) 
+enter incode (7,""2"");                              (* sv *) 
+enter incode (7, ""1""64""13"");                     (* F1 = SV *) 
+enter incode (17,""1""66""13"");                     (* F2 = stop *) 
+enter incode (23,""3"");                             (* weiter *) 
+enter incode (23,""1""65""13"");                     (* F3 = weiter *) 
+
diff --git a/system/terminal-codes/unknown/src/DEC.VT220.ascii b/system/terminal-codes/unknown/src/DEC.VT220.ascii
new file mode 100644
index 0000000..c83f9b9
--- /dev/null
+++ b/system/terminal-codes/unknown/src/DEC.VT220.ascii
@@ -0,0 +1,49 @@
+TEXT VAR  name :="DEC.VT220.ascii";
+new type (name);
+cursor logic  ( 1,  1, ""155"",";","H");
+enter outcode ( 1,  0, ""155"1;1H");  (* home *)
+enter outcode ( 2,  0, ""155"C");     (* right *)
+enter outcode ( 3,  0, ""155"A");     (* up *)
+enter outcode ( 4, 40, ""155"J");     (* clear eop *)
+enter outcode ( 5,  0, ""155"K");     (* clear eol *)
+enter outcode (10,  0, ""132"");      (* down    *) 
+enter outcode (14,  0, ""155"27m ");  (* end mark *)
+enter outcode (15,  0, ""155"7m ");   (* begin mark *)
+ 
+INT VAR i ; 
+FOR i FROM 127 UPTO 255 REP 
+  enter outcode (i, "?") 
+PER ; 
+
+enter outcode (214, ""196"");         (* AE *)
+enter outcode (215, ""214"");         (* OE *)
+enter outcode (216, ""220"");         (* UE *)
+enter outcode (217, ""228"");         (* ae *)
+enter outcode (218, ""246"");         (* oe *)
+enter outcode (219, ""252"");         (* ue *)
+enter outcode (220, "k");             (* Trenn-k  *) 
+enter outcode (221, "-");             (* Trenn-   *) 
+enter outcode (222, "#");             (* Pseudo-# *)
+enter outcode (223, " ");             (* gesch. Blank *) 
+enter outcode (251, ""223"");         (* sz *)
+ 
+enter incode ( 1, ""155"4"126"");     (* hop *)
+enter incode ( 2, ""155"C");          (* right *)
+enter incode ( 3, ""155"A");          (* up *)
+enter incode ( 4, ""4"");             (* info *) 
+enter incode ( 7, ""2"");             (* sv *)
+enter incode ( 7, ""254"");           (* sv *)
+enter incode ( 8, ""155"D");          (* left *)
+enter incode (10, ""155"B");          (* down *)
+enter incode (11, ""155"2"126"");     (* rubin *)
+enter incode (12, ""155"3"126"");     (* rubout *)
+enter incode (12, ""127"");           (* rubout *)
+enter incode (16, ""155"1"126"");     (* mark *)
+enter incode (17, ""1"");             (* stop *) 
+enter incode (23, ""3"");             (* weiter *)
+enter incode (27, ""96"");            (* esc *)
+
+enter incode (25, ""155""50""56""126"");  (* help *)
+enter incode (26, ""155""50""57""126"");  (* do *)
+enter incode (28, ""155"5"126"");         (* prev screen *)
+enter incode (29, ""155"6"126"");         (* next screen *)
diff --git a/system/terminal-codes/unknown/src/DEC.VT220.german b/system/terminal-codes/unknown/src/DEC.VT220.german
new file mode 100644
index 0000000..e45114b
--- /dev/null
+++ b/system/terminal-codes/unknown/src/DEC.VT220.german
@@ -0,0 +1,66 @@
+TEXT VAR  name :="DEC.VT220.german"; 
+new type (name);
+cursor logic  ( 1, 1, ""155"",";","H");
+enter outcode ( 1,  0, ""155"1;1H");  (* home *)
+enter outcode ( 2,  0, ""155"C");     (* right *)
+enter outcode ( 3,  0, ""155"A");     (* up *)
+enter outcode ( 4, 40, ""155"J");     (* clear eop *)
+enter outcode ( 5,  0, ""155"K");     (* clear eol *)
+enter outcode (10,  0, ""132"");      (* newline *) 
+enter outcode (14,  0, ""155"27m ");  (* end mark *)
+enter outcode (15,  0, ""155"7m ");   (* begin mark *)
+ 
+INT VAR i ; 
+FOR i FROM 127 UPTO 255 REP 
+  enter outcode (i, "?") 
+PER ; 
+
+enter outcode (214, ""196"");         (* AE *)
+enter outcode (215, ""214"");         (* OE *)
+enter outcode (216, ""220"");         (* UE *)
+enter outcode (217, ""228"");         (* ae *)
+enter outcode (218, ""246"");         (* oe *)
+enter outcode (219, ""252"");         (* ue *)
+enter outcode (220, "k");             (* Trenn-k  *) 
+enter outcode (221, "-");             (* Trenn-   *) 
+enter outcode (222, "#");             (* Pseudo-# *)
+enter outcode (223, " ");             (* gesch. Blank *) 
+enter outcode (251, ""223"");         (* sz *)
+
+
+enter incode (27, ""155"5"126"");     (* esc *)
+enter incode ( 1, ""155"4"126"");     (* hop *)
+enter incode ( 2, ""155"C");          (* right *)
+enter incode ( 3, ""155"A");          (* up *)
+enter incode ( 4, ""4"");             (* info *) 
+enter incode ( 7, ""2"");             (* sv *)
+enter incode ( 7, ""254"");           (* sv *)
+enter incode ( 8, ""155"D");          (* left *)
+enter incode (10, ""155"B");          (* down *)
+enter incode (11, ""155"2"126"");     (* rubin *)
+enter incode (12, ""155"3"126"");     (* rubout *)
+enter incode (12, ""127"");           (* rubout *)
+enter incode (16, ""155"1"126"");     (* mark *)
+enter incode (17, ""1"");             (* stop *) 
+enter incode (23, ""3"");             (* weiter *)
+enter incode (27, ""155"23~");        (* esc    *)
+enter incode (214, ""196"");         (* AE *)
+enter incode (215, ""214"");         (* OE *)
+enter incode (216, ""220"");         (* UE *)
+enter incode (217, ""228"");         (* ae *)
+enter incode (218, ""246"");         (* oe *)
+enter incode (219, ""252"");         (* ue *)
+enter incode (251, ""223"");         (* sz *)
+
+enter incode (25, ""155""50""56""126"");  (* help *)
+enter incode (26, ""155""50""57""126"");  (* do *)
+enter incode (28, ""155"5"126"");         (* prev screen *)
+enter incode (29, ""155"6"126"");         (* next screen *)
+
+
+
+
+
+
+
+
diff --git a/system/terminal-codes/unknown/src/DM5 b/system/terminal-codes/unknown/src/DM5
new file mode 100644
index 0000000..a672698
--- /dev/null
+++ b/system/terminal-codes/unknown/src/DM5
@@ -0,0 +1,53 @@
+LET name = "DM5";
+
+   forget (name,quiet); 
+   new type (name);
+
+cursor logic (32,""27"F","","");
+
+(*************************************************)
+(**** Tasten des Beehive Standard Terminals : ****)
+(*************************************************) 
+(** ae -> 24  Ae -> 20   home   -> esc H        **)
+(** oe -> 25  Oe -> 21   hop    -> 1            **)
+(** ue -> 26  Ue -> 22   mark   -> 4            **)
+(** sz -> 30             rubin  -> 5            **)
+(** cursor r -> 12       weiter -> 15           **)
+(** cursor u -> 11       sv     -> 14           **)
+(**                      halt   -> 6            **)
+(*************************************************)
+
+(* Ein- und Ausgabe-Steuerzeichen: *)
+enter incode (1,  ""27"H"); (* home *)  enter outcode (1,  0, ""27"H");
+enter incode (16, ""4"");   (* mark *)  enter outcode (15, 0, ""27"dP ");
+enter incode (11, ""5"");               enter outcode (14, 0, ""27"m ");
+enter incode (12, ""127"");
+enter incode (7,  ""14"");  (* sv *)
+enter incode (17, ""15"");  (* halt *)
+enter incode (23, ""6"");   (* weiter *)
+ 
+enter outcode (5,  0, ""27"K");         enter incode (3, ""11"");
+enter outcode (4, 40, ""27"J");         enter incode (2, ""12"");
+enter outcode (3,  ""11"");
+enter outcode (2,  0, ""27"C");
+
+(* Umlaute *)
+(* Ae *) enter incode (214, ""20""); enter outcode (214, 0, ""27"dQA"27"m");
+(* Oe *) enter incode (215, ""21""); enter outcode (215, 0, ""27"dQO"27"m");
+(* Ue *) enter incode (216, ""22""); enter outcode (216, 0, ""27"dQU"27"m");
+(* ae *) enter incode (217, ""24""); enter outcode (217, 0, ""27"dQa"27"m");
+(* oe *) enter incode (218, ""25""); enter outcode (218, 0, ""27"dQo"27"m");
+(* ue *) enter incode (219, ""26""); enter outcode (219, 0, ""27"dQu"27"m");
+(* ss *) enter incode (251, ""30""); enter outcode (251, 0, ""27"dQB"27"m");
+(* paragraph *)
+         enter incode (252, ""64""); enter outcode (252, 0, ""27"dQ$"27"m");
+
+(* Textkosmetik *)
+enter outcode (124, 0, ""27"Rd"27"S") ;
+enter outcode (220, "k") ;
+enter outcode (221, 0, ""27"dA-"27"m") ; 
+enter outcode (222, 0, ""27"dQ#"27"m") ; 
+enter outcode (223, "_") ;
+
+enter outcode (255, "%");
+
diff --git a/system/terminal-codes/unknown/src/ELBIT.ascii b/system/terminal-codes/unknown/src/ELBIT.ascii
new file mode 100644
index 0000000..3957ee8
--- /dev/null
+++ b/system/terminal-codes/unknown/src/ELBIT.ascii
@@ -0,0 +1,32 @@
+TEXT VAR  name :="ELBIT.ascii"; 
+new type (name);
+elbit cursor;
+enter outcode (1,12); 
+enter outcode (2  ,21  );
+enter outcode (3  ,26  );
+enter outcode (5  ,22  );
+enter outcode (4,64,""20"");
+enter incode (1,""12""); 
+enter incode (2  ,""21""  );
+enter incode (3  ,""26""  );
+enter incode (4,""4"");  (* info *) 
+enter incode (7,""2"");  (* sv *)
+enter incode (17,""1"");  (* stop *) 
+enter incode (23,""3"");  (* weiter *)
+
+enter outcode (214,"A");
+enter outcode (215,"O"); 
+enter outcode (216,"U"); 
+enter outcode (217,"a"); 
+enter outcode (218,"o"); 
+enter outcode (219,"u"); 
+enter outcode (251,"B");
+
+enter outcode (220, "k");     (* Trenn-k *) 
+enter outcode (221, "-");     (* Trenn-  *) 
+enter outcode (222, "#"); 
+enter outcode (223,"_") ; 
+ 
+enter incode (11,""126"");  (* rubin *) 
+enter incode (12,""127"");  (* rubout *) 
+enter incode (16,"^") ; (* mark *)
diff --git a/system/terminal-codes/unknown/src/ELBIT.german b/system/terminal-codes/unknown/src/ELBIT.german
new file mode 100644
index 0000000..17d5454
--- /dev/null
+++ b/system/terminal-codes/unknown/src/ELBIT.german
@@ -0,0 +1,47 @@
+TEXT VAR  name :="ELBIT.german"; 
+new type (name);
+elbit cursor;
+enter outcode (1,12); 
+enter outcode (2  ,21  );
+enter outcode (3  ,26  );
+enter outcode (5  ,22  );
+enter outcode (4,64,""20"");
+enter incode (1,""12""); 
+enter incode (2  ,""21""  );
+enter incode (3  ,""26""  );
+enter incode (4,""4"");  (* info *) 
+enter incode (7,""2"");  (* sv *)
+enter incode (17,""1"");  (* stop *) 
+enter incode (23,""3"");  (* weiter *)
+
+enter incode (214,""91"");
+enter incode (215,""92"");
+enter incode (216,""93"");
+enter incode (217,""123"");
+enter incode (218,""124"");
+enter incode (219,""125"");
+enter incode (251,""64"");
+ 
+enter outcode ( 91,"(");
+enter outcode ( 92,"/");
+enter outcode ( 93,")");
+enter outcode (123,"<");
+enter outcode (124,"!");
+enter outcode (125,">");
+enter outcode (126,"^");
+enter outcode (214,91);
+enter outcode (215,92); 
+enter outcode (216,93); 
+enter outcode (217,123); 
+enter outcode (218,124); 
+enter outcode (219,125); 
+enter outcode (251,64);
+
+enter outcode (220, "k");     (* Trenn-k *) 
+enter outcode (221, "-");     (* Trenn-  *) 
+enter outcode (222, "#"); 
+enter outcode (223,"_") ; 
+ 
+enter incode (11,""126"");  (* rubin *) 
+enter incode (12,""127"");  (* rubout *) 
+enter incode (16,"^") ; (* mark *)
diff --git a/system/terminal-codes/unknown/src/FT10-20.ascii b/system/terminal-codes/unknown/src/FT10-20.ascii
new file mode 100644
index 0000000..7f26910
--- /dev/null
+++ b/system/terminal-codes/unknown/src/FT10-20.ascii
@@ -0,0 +1,75 @@
+                                                (* Autor : Rudolf Ruland *)
+                                                (* Stand : 14.07.86      *) 
+ 
+INT VAR i; 
+TEXT VAR table :="FT10/20.ascii"; 
+forget (table, quiet);
+new type (table);
+ 
+(******************   Steuerzeichen   *************************************)
+ 
+enter incode ( 1, ""27"H");                      (* HOP                   *) 
+enter incode ( 2, ""27"C");                      (* RECHTS                *) 
+enter incode ( 3, ""27"A");                      (* OBEN                  *) 
+enter incode ( 4, ""4"");      (* CNTL D    *)   (* INFO                  *) 
+enter incode ( 7, ""2"");      (* CNTL B    *)   (* SV                    *) 
+enter incode ( 7, ""7"");      (* CNTL G    *)   (* SV                    *) 
+enter incode ( 8, ""27"D");                      (* LINKS                 *) 
+enter incode ( 9, ""27">");    (* BACKTAB   *)   (* TAB                   *) 
+enter incode (10, ""27"B");                      (* UNTEN                 *) 
+enter incode (11, ""27"K");                      (* RUBIN                 *) 
+enter incode (12, ""27"E");                      (* RUBOUT                *) 
+enter incode (12, ""127"");    (* DEL       *)   (* RUBOUT                *) 
+enter incode (16, ""27"J");                      (* MARK                  *) 
+enter incode (17, ""1"");      (* CNTL A    *)   (* STOP                  *) 
+enter incode (23, ""3"");      (* CNTL C    *)   (* WEITER                *) 
+enter incode (24, ""0"") ;     (* BREAK     *)   (* weitere ESC-Zeichen   *)
+enter incode (25, ""27"N") ;   (* LOCAL     *)   (*                       *)
+enter incode (26, ""27"V") ;   (* UNLOCK    *)   (*                       *)
+enter incode (28, ""27"I") ;   (* SEND PAGE *)   (*                       *)
+
+FOR i FROM 0 UPTO 31 REP enter outcode (i, "S") PER; 
+
+enter outcode ( 0, "");                          (* NULL                  *)
+enter outcode ( 1,  0, ""27"H");                 (* HOME                  *)
+enter outcode ( 2, 12);                          (* RECHTS                *)
+enter outcode ( 3, 11);                          (* OBEN                  *)
+enter outcode ( 4, 40, ""27"J");                 (* CL EOP                *)
+enter outcode ( 5,  0, ""27"K");                 (* CL EOL                *)
+enter outcode ( 7,  7);                          (* BELL                  *)
+enter outcode ( 8,  8);                          (* LINKS                 *)
+enter outcode (10, 10);                          (* UNTEN                 *)
+enter outcode (13, 13);                          (* RETURN                *)
+enter outcode (14,  0, ""27"d@ ");               (* END MARK              *)
+enter outcode (15,  0, ""27"dP ");               (* BEGIN MARK            *)
+
+enter outcode (27, 27);                          (* ESC                   *)
+
+enter outcode (20, 14);                          (* shift out - grafic on *)
+enter outcode (24, 14);
+enter outcode (21, 15);                          (* shift in  - grafic off*)
+enter outcode (25, 15);
+enter outcode (26,  5);                          (* answer back message   *)
+ 
+cursor logic (32,""27"F","","");
+ 
+(********************   Textzeichen   *************************************)
+ 
+enter incode ( 92, ""27"/");                     (* backslash             *)
+ 
+FOR i FROM 127 UPTO 255 REP enter outcode (i, "?") PER; 
+FOR i FROM 129 UPTO 159 REP enter outcode (i, "E") PER;  (* japanische    *)
+FOR i FROM 224 UPTO 239 REP enter outcode (i, "E") PER;  (*   ESC-Zeichen *)
+
+enter outcode (214, 0, ""27" 1"14""034""15"");   (* �                     *)
+enter outcode (215, 0, ""27" 1"14""046""15"");   (* �                     *)
+enter outcode (216, 0, ""27" 1"14""052""15"");   (* �                     *)
+enter outcode (217, 0, ""27" 1"14""066""15"");   (* �                     *)
+enter outcode (218, 0, ""27" 1"14""078""15"");   (* �                     *)
+enter outcode (219, 0, ""27" 1"14""084""15"");   (* �                     *)
+enter outcode (220, "k");                        (* Trenn-k               *)
+enter outcode (221, 0, ""27" 3"14""077""15"");   (* Trenn-Strich          *)
+enter outcode (222, 0, ""27" 4"14""069""15"");   (* gesch. Nummerkreuz    *)
+enter outcode (223, 0, ""27" 2"14""110""15"");   (* gesch. Blank          *)
+enter outcode (251, 0, ""27" 1"14""062""15"");   (* �                     *)
+enter outcode (252, 0, ""27" 1"14""063""15"");   (* �                     *)
diff --git a/system/terminal-codes/unknown/src/FT10-20.german b/system/terminal-codes/unknown/src/FT10-20.german
new file mode 100644
index 0000000..09d4337
--- /dev/null
+++ b/system/terminal-codes/unknown/src/FT10-20.german
@@ -0,0 +1,94 @@
+                                                (* Autor : Rudolf Ruland *)
+                                                (* Stand : 14.07.86      *)
+ 
+INT VAR i; 
+TEXT VAR table :="FT10/20.german"; 
+forget (table, quiet);
+new type (table);
+ 
+(******************   Steuerzeichen   *************************************)
+ 
+enter incode ( 1, ""27"H");                      (* HOP                   *) 
+enter incode ( 2, ""27"C");                      (* RECHTS                *) 
+enter incode ( 3, ""27"A");                      (* OBEN                  *) 
+enter incode ( 4, ""4"");      (* CNTL D    *)   (* INFO                  *) 
+enter incode ( 7, ""2"");      (* CNTL B    *)   (* SV                    *) 
+enter incode ( 7, ""7"");      (* CNTL G    *)   (* SV                    *) 
+enter incode ( 8, ""27"D");                      (* LINKS                 *) 
+enter incode ( 9, ""27">");    (* BACKTAB   *)   (* TAB                   *) 
+enter incode (10, ""27"B");                      (* UNTEN                 *) 
+enter incode (11, ""27"K");                      (* RUBIN                 *) 
+enter incode (12, ""27"E");                      (* RUBOUT                *) 
+enter incode (12, ""127"");    (* DEL       *)   (* RUBOUT                *) 
+enter incode (16, ""27"J");                      (* MARK                  *) 
+enter incode (17, ""1"");      (* CNTL A    *)   (* STOP                  *) 
+enter incode (23, ""3"");      (* CNTL C    *)   (* WEITER                *) 
+enter incode (24, ""0"") ;     (* BREAK     *)   (* weitere ESC-Zeichen   *)
+enter incode (25, ""27"N") ;   (* LOCAL     *)   (*                       *)
+enter incode (26, ""27"V") ;   (* UNLOCK    *)   (*                       *)
+enter incode (28, ""27"I") ;   (* SEND PAGE *)   (*                       *)
+
+FOR i FROM 0 UPTO 31 REP enter outcode (i, "S") PER; 
+
+enter outcode ( 0, "");                          (* NULL                  *)
+enter outcode ( 1,  0, ""27"H");                 (* HOME                  *)
+enter outcode ( 2, 12);                          (* RECHTS                *)
+enter outcode ( 3, 11);                          (* OBEN                  *)
+enter outcode ( 4, 40, ""27"J");                 (* CL EOP                *)
+enter outcode ( 5,  0, ""27"K");                 (* CL EOL                *)
+enter outcode ( 7,  7);                          (* BELL                  *)
+enter outcode ( 8,  8);                          (* LINKS                 *)
+enter outcode (10, 10);                          (* UNTEN                 *)
+enter outcode (13, 13);                          (* RETURN                *)
+enter outcode (14,  0, ""27"d@ ");               (* END MARK              *)
+enter outcode (15,  0, ""27"dP ");               (* BEGIN MARK            *)
+
+enter outcode (27, 27);                          (* ESC                   *)
+
+enter outcode (20, 14);                          (* shift out - grafic on *)
+enter outcode (24, 14);
+enter outcode (21, 15);                          (* shift in  - grafic off*)
+enter outcode (25, 15);
+enter outcode (26,  5);                          (* answer back message   *)
+ 
+cursor logic (32,""27"F","","");
+ 
+(********************   Textzeichen   *************************************)
+ 
+enter incode ( 39, "/");                         (* '                     *)
+enter incode ( 47, "'");                         (* /                     *)
+enter incode ( 92, ""27"/");                     (* backslash             *)
+enter incode (214, ""91"");                      (* �                     *)
+enter incode (215, ""92"");                      (* �                     *)
+enter incode (216, ""93"");                      (* �                     *)
+enter incode (217, ""123"");                     (* �                     *)
+enter incode (218, ""124"");                     (* �                     *)
+enter incode (219, ""125"");                     (* �                     *)
+enter incode (251, ""126"");                     (* �                     *)
+enter incode (252, ""064"");                     (* �                     *)
+ 
+FOR i FROM 127 UPTO 255 REP enter outcode (i, "?") PER; 
+FOR i FROM 129 UPTO 159 REP enter outcode (i, "E") PER;  (* japanische    *)
+FOR i FROM 224 UPTO 239 REP enter outcode (i, "E") PER;  (*   ESC-Zeichen *)
+
+ 
+enter outcode ( 64, 0, ""27" 0"14""064""15"");   (* @                     *)
+enter outcode ( 91, 0, ""27" 0"14""091""15"");   (* [                     *)
+enter outcode ( 92, 0, ""27" 0"14""092""15"");   (* \                     *)
+enter outcode ( 93, 0, ""27" 0"14""093""15"");   (* ]                     *)
+enter outcode (123, 0, ""27" 0"14""123""15"");   (* geschw. Klammer auf   *)
+enter outcode (124, 0, ""27" 0"14""124""15"");   (* |                     *)
+enter outcode (125, 0, ""27" 0"14""125""15"");   (* geschw. Klammer zu    *)
+enter outcode (126, 0, ""27" 0"14""126""15"");   (* ~                     *)
+enter outcode (214,  91);                        (* �                     *)
+enter outcode (215,  92);                        (* �                     *)
+enter outcode (216,  93);                        (* �                     *)
+enter outcode (217, 123);                        (* �                     *)
+enter outcode (218, 124);                        (* �                     *)
+enter outcode (219, 125);                        (* �                     *)
+enter outcode (220, "k");                        (* Trenn-k               *)
+enter outcode (221, 0, ""27" 3"14""077""15"");   (* Trenn-Strich          *)
+enter outcode (222, 0, ""27" 4"14""069""15"");   (* gesch. Nummerkreuz    *)
+enter outcode (223, 0, ""27" 2"14""110""15"");   (* gesch. Blank          *)
+enter outcode (251, 126);                        (* �                     *)
+enter outcode (252,  64);                        (* �                     *)
diff --git a/system/terminal-codes/unknown/src/GENGEN.ELA b/system/terminal-codes/unknown/src/GENGEN.ELA
new file mode 100644
index 0000000..ca88fd7
--- /dev/null
+++ b/system/terminal-codes/unknown/src/GENGEN.ELA
@@ -0,0 +1,244 @@
+(* Typtabellengenerierungsprogramm, Stand : 26.11.85 *) 
+ 
+page ; 
+putline ("- Erzeugen einer .gen Datei aus einer Typtabelle -") ; 
+line ; 
+BOUND STRUCT (ALIGN space, ROW 128 INT outcodes, 
+                           ROW  64 INT outstrings,
+                           ROW  64 INT instrings) VAR x ; 
+ 
+TEXT VAR t , filename ; 
+INT VAR i , laenge , position , eumel code ; 
+FILE VAR f ; 
+put ("Name der Tabelle:") ; 
+getline (t) ; 
+IF exists (t+".gen") THEN forget (t+".gen") FI ; 
+IF exists (t+".gen") 
+THEN filename := t + ".new.gen" 
+ELSE filename := t + ".gen"
+FI ; 
+f := sequentialfile (output, filename) ; 
+putline (f, "(" + 49 * "*" + ")") ; 
+putline (f, "(* Typtabelle   : " + text (t, 30) + " *)") ; 
+putline (f, "(* Generiert am : " + text (date, 30) + " *)") ; 
+putline (f, "(" + 49 * "*" + ")") ; 
+line (f) ; 
+putline (f, "forget (""" + t + """, quiet) ;") ; 
+putline (f, "new type (""" + t + """) ;") ; 
+line (f) ; 
+x := old (t) ; 
+t := "  " ; 
+IF (x.outstrings (1) AND 255) = 2 
+   THEN putline (f, "elbit cursor ;") ; 
+        line (f) ; 
+   ELSE write (f, "cursor logic (") ; 
+        put (f, text (x.outstrings (2) AND 255) + ",") ; 
+        position := (x.outcodes (4) AND 127) + 1 ;
+        put (f, denoter (x.outstrings, position, 0) + ",") ; 
+        position INCR (laenge + 2) ; 
+        put (f, denoter (x.outstrings, position, 0) + ",") ; 
+        position INCR (laenge + 2) ; 
+        putline (f, denoter (x.outstrings, position, 0) + ") ;") ; 
+        line (f)
+FI ; 
+putline (f, "(* Ausgabe Codes : *)") ; 
+FOR i FROM 1 UPTO 128 REP 
+ cout (lineno (f)) ;
+ replace (t, 1, x.outcodes (i)) ; 
+ IF i <> 4 
+ THEN IF code (t SUB 1) <> 255 
+      THEN eumel code := (i-1) * 2 ; 
+           put (f, "enter outcode (" + text (eumel code, 3) + ",") ; 
+           IF code (t SUB 1) > 127 
+           THEN outstring (code (t SUB 1)-128) 
+           ELSE numberput (code (t SUB 1)) 
+           FI ; 
+           line (f) 
+      FI 
+ FI ; 
+ IF code (t SUB 2) <> 255 
+ THEN eumel code := (i-1) * 2 + 1 ; 
+      put (f, "enter outcode (" + text (eumel code, 3) + ",") ;
+      IF code (t SUB 2) > 127 
+      THEN outstring (code (t SUB 2) - 128) 
+      ELSE numberput (code (t SUB 2)) 
+      FI ; 
+      line (f) 
+ FI ; 
+PER ; 
+line (f) ; 
+line (f) ; 
+ 
+putline (f, "(* Eingabe Codes : *)") ; 
+i := 0 ; 
+WHILE i < 128 CAND incode (i) <> 255 REP
+ cout (lineno (f)) ; 
+ eumel code := incode (i) ; 
+ put (f, "enter incode (" + text (eumel code,3) + ",") ; 
+ write (f, denoter (x.instrings, i + 1, 255)) ; 
+ put (f, ") ; (*") ; 
+ i INCR 1 ; 
+ IF in bezeichnung (eumel code) <> "" 
+ THEN put (f, in bezeichnung (eumel code) + ":") 
+ FI ; 
+ WHILE i < 128 CAND incode (i) <> 255 REP 
+  charput (incode (i)) ; 
+  i INCR 1 
+ PER ; 
+ i INCR 1 ; 
+ putline (f, "*)") 
+PER ; 
+ 
+edit (filename) ; 
+ 
+INT PROC incode (INT CONST element) : 
+ TEXT VAR t := "  " ; 
+ replace (t, 1, x.instrings (element DIV 2 + 1)); 
+ IF (element MOD 2) = 0 THEN code (t SUB 1) 
+ ELSE code (t SUB 2) 
+ FI 
+ENDPROC incode ; 
+ 
+ 
+TEXT PROC in bezeichnung (INT CONST code) : 
+ SELECT code OF 
+  CASE 1 : "HOP         " 
+  CASE 2 : "Cursor right"
+  CASE 3 : "Cursor up   " 
+  CASE 7 : "SV - Call   " 
+  CASE 8 : "Cursor left " 
+  CASE 9 : "TAB         " 
+  CASE 10: "Cursor down " 
+  CASE 11: "RUBIN       " 
+  CASE 12: "RUBOUT      "
+  CASE 13: "CR          " 
+  CASE 16: "MARK        " 
+  CASE 17: "Stop        " 
+  CASE 23: "Weiter      " 
+  CASE 27: "Escape      "
+  CASE 214:"ae-Taste    " 
+  CASE 215:"oe-Taste    " 
+  CASE 216:"ue-Taste    "
+  CASE 217:"Ae-Taste    " 
+  CASE 218:"Oe-Taste    " 
+  CASE 219:"Ue-Taste    " 
+  CASE 220:"Trenn-k     " 
+  CASE 221:"Trennstrich " 
+  CASE 222:"Fest-#      " 
+  CASE 223:"Fest-Blank  " 
+  CASE 251:"sz-Taste    " 
+  OTHERWISE IF code < 32 THEN "Funct.-Taste" 
+                         ELSE "" 
+            FI 
+ ENDSELECT 
+ENDPROC in bezeichnung ; 
+ 
+TEXT PROC out bezeichnung (INT CONST code) : 
+ SELECT code OF 
+  CASE 1 : "Cursor Home " 
+  CASE 2 : "Cursor right"
+  CASE 3 : "Cursor up   " 
+  CASE 4 : "CLEOP       " 
+  CASE 5 : "CLEOL       " 
+  CASE 6 : "Cursor (YX) " 
+  CASE 7 : "Beep        " 
+  CASE 8 : "Cursor left " 
+  CASE 10: "Cursor down " 
+  CASE 13: "CR          " 
+  CASE 14: "END MARK    " 
+  CASE 15: "BEGIN MARK  " 
+  CASE 214:"ae          " 
+  CASE 215:"oe          " 
+  CASE 216:"ue          "
+  CASE 217:"Ae          " 
+  CASE 218:"Oe          " 
+  CASE 219:"Ue          " 
+  CASE 220:"Trenn-k     " 
+  CASE 221:"Trennstrich " 
+  CASE 222:"Fest-#      " 
+  CASE 223:"Fest-Blank  " 
+  CASE 251:"sz          " 
+  OTHERWISE ""
+ ENDSELECT 
+ENDPROC out bezeichnung ; 
+ 
+PROC charput (INT CONST nr) : 
+ IF nr = 27 THEN put (f, "<ESC>") 
+ ELIF nr = 10 THEN put (f, "<LF>") 
+ ELIF nr = 13 THEN put (f, "<CR>") 
+ ELIF nr = 32 THEN put (f, "<SPACE>") 
+ ELIF nr = 127 THEN put (f, "<DEL>") 
+ ELIF nr > 127 THEN put (f, "<" + text (nr) + ">") 
+ ELIF nr > 32 THEN put (f, code (nr))
+ ELSE put (f, "<CTRL-" + code (nr+64) + ">") 
+ FI 
+ENDPROC charput ; 
+ 
+PROC numberput (INT CONST nr) : 
+ put (f, text (nr,3 ) + ") ; (*") ;
+ IF out bezeichnung (eumel code) <> "" 
+ THEN put (f, out bezeichnung (eumel code) + ":") 
+ FI ; 
+ charput (nr) ; 
+ put (f, "*)") ; 
+ENDPROC numberput ; 
+ 
+TEXT PROC denoter (ROW 64 INT VAR y, INT CONST pos, ende) : 
+ INT VAR i := pos ; 
+ TEXT VAR t := "  " , zeile := """" ; 
+ laenge := 0 ; 
+ WHILE i < 128 AND zugriff <> ende REP 
+  IF zugriff > 31 AND zugriff < 127 THEN zeile CAT code (zugriff) 
+  ELIF zugriff = 34 THEN zeile CAT """"""
+  ELIF zugriff = 251 THEN zeile CAT "�" 
+  ELIF zugriff > 216 AND zugriff < 224 THEN zeile CAT code (zugriff) 
+  ELSE zeile CAT """" ; 
+       zeile CAT text (zugriff) ; 
+       zeile CAT """" 
+  FI ; 
+  i INCR 1 ; 
+  laenge INCR 1 
+ PER ; 
+ zeile CAT """" ; 
+ zeile. 
+ 
+ 
+zugriff : 
+ replace (t, 1, y (i DIV 2 + 1)) ;
+ IF (i MOD 2) = 0 THEN code (t SUB 1) 
+ ELSE code (t SUB 2) 
+ FI 
+ENDPROC denoter ; 
+ 
+ 
+PROC outstring (INT CONST element) : 
+ INT VAR i := element ; 
+ put (f, text (zugriff) + ",") ; 
+ put (f, denoter (x.outstrings, i + 1, 0) + ") ; (*") ; 
+ IF out bezeichnung (eumel code) <> "" 
+ THEN put (f, out bezeichnung (eumel code) + ":") 
+ FI ;
+ i INCR 1 ; 
+ WHILE zugriff <> 0 REP 
+  charput (zugriff) ; 
+  i INCR 1 
+ PER ; 
+ put (f, "*)") . 
+ 
+ 
+zugriff : 
+ TEXT VAR t := "  " ; 
+ replace (t, 1, x.outstrings (i DIV 2 + 1)) ;
+ IF (i MOD 2) = 0 THEN code (t SUB 1) 
+ ELSE code (t SUB 2) 
+ FI 
+ENDPROC outstring 
+
+
+
+
+
+
+
+
+
diff --git a/system/terminal-codes/unknown/src/GT100 b/system/terminal-codes/unknown/src/GT100
new file mode 100644
index 0000000..c366d09
--- /dev/null
+++ b/system/terminal-codes/unknown/src/GT100
@@ -0,0 +1,44 @@
+TEXT VAR  name :="GT100";
+new type (name);
+cursor logic (32,""27"=","","");
+enter outcode (1 ,0,""27"H");
+enter outcode (2 ,0,""27"C");
+enter outcode (3 ,0,""27"A");
+enter outcode (4 ,40,""27"Y");
+enter outcode (5 ,0,""27"T");
+enter outcode (14,0,""126"");
+enter outcode (15,0,""126"");
+ 
+ 
+INT VAR i ; 
+FOR i FROM 127 UPTO 255 REP 
+  enter outcode (i, "?") 
+PER ; 
+ 
+enter outcode (220, "k");     (* Trenn-k *) 
+enter outcode (221, "-");     (* Trenn-  *) 
+enter outcode (222, "#"); 
+ 
+enter outcode (214,91);
+enter outcode (215,92);
+enter outcode (216,93);
+enter outcode (217,123);
+enter outcode (218,124);
+enter outcode (219,125);
+enter outcode (223,"_") ; 
+enter outcode (251,"B");
+ 
+ 
+enter incode ( 1,""30"");
+enter incode ( 2,""12"");
+enter incode ( 3,""11""); 
+enter incode (10,""10"");
+enter incode ( 8,""8"");
+enter incode (11,""6"");
+enter incode (12,""127"");
+enter incode (16,""26"");
+enter incode (4,""4"");  (* info *) 
+enter incode (7,""27"z");  (* sv *)
+enter incode (17,""1"");  (* stop *) 
+enter incode (23,""17"");  (* weiter *)
+
diff --git a/system/terminal-codes/unknown/src/IBM.PC.AT b/system/terminal-codes/unknown/src/IBM.PC.AT
new file mode 100644
index 0000000..37bf015
--- /dev/null
+++ b/system/terminal-codes/unknown/src/IBM.PC.AT
@@ -0,0 +1,63 @@
+LET name = "IBM.PC.AT"; 
+forget (name, quiet); 
+new type (name); 
+ 
+cursor logic (0, ""6"", "", "");
+ 
+enter outcode ( 14, 0, ""14" ");          (* end   mark *)
+enter outcode ( 15, 0, ""15" ");          (* begin mark *)
+enter outcode (214, 142);                 (* � *)
+enter outcode (215, 153);                 (* � *)
+enter outcode (216, 154);                 (* � *)
+enter outcode (217, 132);                 (* � *)
+enter outcode (218, 148);                 (* � *)
+enter outcode (219, 129);                 (* � *)
+enter outcode (220, 0, ""15""107""14"");  (* druck k *)
+enter outcode (221, 0, ""15""45""14"");   (* druck - *)
+enter outcode (222, 0, ""15""35""14"");   (* druck # *)
+enter outcode (223, 0, ""15""32""14"");   (* druck   *)
+enter outcode (251, 225);                 (* � *) 
+ 
+enter incode (  1, ""199"");              (* HOP *)
+enter incode (  2, ""205"");              (* RECHTS *)
+enter incode (  3, ""200"");              (* OBEN *)
+enter incode (  4,   ""4"");              (* INFO *)
+enter incode (  7,   ""2"");              (* SV *)
+enter incode (  7, ""187"");              (* SV *)
+enter incode (  8, ""203"");              (* LINKS *)
+enter incode ( 10, ""208"");              (* UNTEN *)
+enter incode ( 11, ""210"");              (* RUBIN *)
+enter incode ( 12, ""211"");              (* RUBOUT *)
+enter incode ( 16, ""201"");              (* MARK *)
+enter incode ( 17,   ""1"");              (* STOP *)
+enter incode ( 18, ""209"");              (* NEWLINE *)
+enter incode ( 23,   ""3"");              (* WEITER *)
+enter incode ( 27,  ""96"");              (* ESC *)
+enter incode ( 34,  ""64"");              (* " *)
+enter incode ( 38,  ""94"");              (* & *)
+enter incode ( 39,  ""61"");              (* ' *)
+enter incode ( 40,  ""42"");              (* ( *)
+enter incode ( 41,  ""40"");              (* ) *)
+enter incode ( 42, ""125"");              (* * *)
+enter incode ( 43,  ""93"");              (* + *)
+enter incode ( 45,  ""47"");              (* - *)
+enter incode ( 47,  ""38"");              (* / *)
+enter incode ( 58,  ""62"");              (* : *)
+enter incode ( 59,  ""60"");              (* ; *)
+enter incode ( 60,  ""92"");              (* < *)
+enter incode ( 61,  ""41"");              (* = *)
+enter incode ( 62, ""124"");              (* > *)
+enter incode ( 63,  ""95"");              (* ? *)
+enter incode ( 89,  ""90"");              (* Y *)
+enter incode ( 90,  ""89"");              (* Z *)
+enter incode ( 95,  ""63"");              (* _ *)
+enter incode ( 96,  ""43"");              (* ` *)
+enter incode (121, ""122"");              (* y *)
+enter incode (122, ""121"");              (* z *)
+enter incode (214,  ""34"");              (* � *)
+enter incode (215,  ""58"");              (* � *)
+enter incode (216, ""123"");              (* � *)
+enter incode (217,  ""39"");              (* � *)
+enter incode (218,  ""59"");              (* � *)
+enter incode (219,  ""91"");              (* � *)
+enter incode (251,  ""45"");              (* � *)
diff --git a/system/terminal-codes/unknown/src/M20 b/system/terminal-codes/unknown/src/M20
new file mode 100644
index 0000000..6de575a
--- /dev/null
+++ b/system/terminal-codes/unknown/src/M20
@@ -0,0 +1,10 @@
+TEXT VAR  name :="M20"; 
+command dialogue (FALSE); forget (name); 
+new type (name);
+cursor logic (0,""6"","","");
+ 
+enter incode (7,""7"");  (* sv *)
+ 
+ 
+enter outcode (14,""14""); 
+enter outcode (15,""15"");
diff --git a/system/terminal-codes/unknown/src/M20.original b/system/terminal-codes/unknown/src/M20.original
new file mode 100644
index 0000000..31bb7c4
--- /dev/null
+++ b/system/terminal-codes/unknown/src/M20.original
@@ -0,0 +1,27 @@
+TEXT VAR name := "M20.original"; 
+command dialogue (FALSE); forget (name);
+new type (name); 
+cursor logic (0,""6"","",""); 
+ 
+enter outcode (14, ""14""); 
+enter outcode (15, ""15""); 
+ 
+enter incode (7,""7"");  (* sv *)
+enter incode ( code ( ";" ), "!"); 
+enter incode ( code ( "=" ), "@"); 
+enter incode ( code ( "%" ), "$"); 
+enter incode ( code ( "&" ), "%"); 
+enter incode ( code ( "(" ), "&"); 
+enter incode ( code ( ")" ), "/"); 
+enter incode ( code ( "_" ), "("); 
+enter incode ( code ( "@" ), ")"); 
+enter incode ( code ( "/" ), "="); 
+enter incode ( code ( ":" ), "?"); 
+enter incode ( code ( "^" ), "�"); 
+enter incode ( code ( "!" ), ":"); 
+enter incode ( code ( "�" ), "_"); 
+enter incode ( code ( "$" ), "#"); 
+enter incode ( code ( "#" ), "^"); 
+enter incode ( code ( "?" ), ";");
+
+command dialogue (TRUE);
diff --git a/system/terminal-codes/unknown/src/M24 b/system/terminal-codes/unknown/src/M24
new file mode 100644
index 0000000..bf8cae3
--- /dev/null
+++ b/system/terminal-codes/unknown/src/M24
@@ -0,0 +1,63 @@
+LET name = "M24"; 
+forget (name, quiet); 
+new type (name); 
+
+cursor logic (0, ""6"", "", "");
+
+enter outcode ( 14, 0, ""14" ");          (* end   mark *)
+enter outcode ( 15, 0, ""15" ");          (* begin mark *)
+enter outcode (214, 142);                 (* � *)
+enter outcode (215, 153);                 (* � *)
+enter outcode (216, 154);                 (* � *)
+enter outcode (217, 132);                 (* � *)
+enter outcode (218, 148);                 (* � *)
+enter outcode (219, 129);                 (* � *)
+enter outcode (220, 0, ""15""107""14"");  (* druck k *)
+enter outcode (221, 0, ""15""45""14"");   (* druck - *)
+enter outcode (222, 0, ""15""35""14"");   (* druck # *)
+enter outcode (223, 0, ""15""32""14"");   (* druck   *)
+enter outcode (251, 225);                 (* � *) 
+ 
+enter incode (  4,   ""4"");              (* INFO *)
+enter incode (  7,   ""7"");              (* SV *)
+enter incode (  7, ""206"");              (* SV *)
+enter incode ( 17,  ""17"");              (* STOP *)
+enter incode ( 17, ""208"");              (* STOP *)
+enter incode ( 23,  ""23"");              (* WEITER *)
+enter incode ( 23, ""207"");              (* WEITER *)
+
+enter incode ( 34,  ""64"");              (* " *)
+enter incode ( 35,  ""96"");              (* # *)
+enter incode ( 38,  ""94"");              (* & *)
+enter incode ( 39,  ""61"");              (* ' *)
+enter incode ( 40,  ""42"");              (* ( *)
+enter incode ( 41,  ""40"");              (* ) *)
+enter incode ( 42, ""125"");              (* * *)
+enter incode ( 42, ""201"");              (* * *)
+enter incode ( 43,  ""93"");              (* + *)
+enter incode ( 43, ""203"");              (* + *)
+enter incode ( 45,  ""47"");              (* - *)
+enter incode ( 45, ""202"");              (* - *)
+enter incode ( 47,  ""38"");              (* / *)
+enter incode ( 47, ""200"");              (* / *) 
+enter incode ( 58,  ""62"");              (* : *)
+enter incode ( 59,  ""60"");              (* ; *)
+enter incode ( 60,  ""92"");              (* < *)
+enter incode ( 61,  ""41"");              (* = *)
+enter incode ( 62, ""124"");              (* > *)
+enter incode ( 63,  ""95"");              (* ? *)
+enter incode ( 64,  ""35"");              (* @ *)
+enter incode ( 89,  ""90"");              (* Y *)
+enter incode ( 90,  ""89"");              (* Z *)
+enter incode ( 94, ""126"");              (* ^ *)
+enter incode ( 95,  ""63"");              (* _ *)
+enter incode ( 96,  ""43"");              (* ` *)
+enter incode (121, ""122"");              (* y *)
+enter incode (122, ""121"");              (* z *)
+enter incode (214,  ""34"");              (* � *)
+enter incode (215,  ""58"");              (* � *)
+enter incode (216, ""123"");              (* � *)
+enter incode (217,  ""39"");              (* � *)
+enter incode (218,  ""59"");              (* � *)
+enter incode (219,  ""91"");              (* � *)
+enter incode (251,  ""45"");              (* � *)
diff --git a/system/terminal-codes/unknown/src/M24.keybfr1 b/system/terminal-codes/unknown/src/M24.keybfr1
new file mode 100644
index 0000000..33949d4
--- /dev/null
+++ b/system/terminal-codes/unknown/src/M24.keybfr1
@@ -0,0 +1,64 @@
+
+LET name = "M24.keybfr1";
+forget(name,quiet);
+new type (name); 
+
+cursor logic (0, ""6"", "", "");
+
+enter outcode ( 14, 0, ""14" ");          (* end   mark *)
+enter outcode ( 15, 0, ""15" ");          (* begin mark *)
+enter outcode (214, 142);                 (* � *)
+enter outcode (215, 153);                 (* � *)
+enter outcode (216, 154);                 (* � *)
+enter outcode (217, 132);                 (* � *)
+enter outcode (218, 148);                 (* � *)
+enter outcode (219, 129);                 (* � *)
+enter outcode (220, 0, ""15""107""14"");  (* druck k *)
+enter outcode (221, 0, ""15""45""14"");   (* druck - *)
+enter outcode (222, 0, ""15""35""14"");   (* druck # *)
+enter outcode (223, 0, ""15""32""14"");   (* druck   *)
+enter outcode (251, 225); 
+enter incode (  4,   ""4"");              (* INFO *)
+enter incode (  7,   ""7"");              (* SV *)
+enter incode (  7, ""206"");              (* SV *)
+enter incode ( 17,  ""17"");              (* STOP *)
+enter incode ( 17, ""208"");              (* STOP *)
+enter incode ( 23,  ""23"");              (* WEITER *)
+enter incode ( 23, ""207"");              (* WEITER *)
+enter incode ( 45,  ""61"");              (* - *)
+enter incode (125,  ""96"");              (*   *)
+enter incode ( 41,  ""95"");              (* ) *)
+enter incode ( 35,  ""45"");              (* # *)
+enter incode ( 38,  ""33"");              (* & *)
+enter incode (130,  ""64"");              (* � *)
+enter incode ( 34,  ""35"");              (* " *)
+enter incode ( 39,  ""36"");              (* ' *)
+enter incode ( 40,  ""37"");              (* ( *)
+enter incode (151,  ""39"");              (* � *)
+enter incode (138,  ""38"");              (* � *)
+enter incode ( 33,  ""42"");              (* ! *)
+enter incode (135,  ""40"");              (* � *)
+enter incode (133,  ""41"");              (* � *)
+enter incode ( 97, ""113"");              (* a *)
+enter incode ( 65,  ""81"");              (* A *)
+enter incode ( 122,""119"");              (* z *)
+enter incode ( 90,  ""87"");              (* Z *)
+enter incode ( 42, ""125"");              (* * *)
+enter incode (113,  ""97"");              (* q *)
+enter incode ( 81,  ""65"");              (* Q *)
+enter incode (109,  ""59"");              (* m *)
+enter incode ( 77,  ""58"");              (* M *)
+enter incode ( 37,  ""34"");              (* % *)
+enter incode ( 60,  ""92"");              (* < *)
+enter incode ( 62, ""124"");              (* > *)
+enter incode (119, ""122"");              (* w *)
+enter incode ( 87,  ""90"");              (* W *)
+enter incode ( 44, ""109"");              (* , *)
+enter incode ( 63,  ""77"");              (* ? *)
+enter incode ( 59,  ""44"");              (* ; *)
+enter incode ( 46,  ""60"");              (* . *)
+enter incode ( 58,  ""46"");              (* : *)
+enter incode ( 61,  ""47"");              (* = *)
+enter incode ( 43,  ""63"");              (* + *)
+enter incode ( 47,  ""62"");              (* / *)
+
diff --git a/system/terminal-codes/unknown/src/PC.KB2 b/system/terminal-codes/unknown/src/PC.KB2
new file mode 100644
index 0000000..8b673a8
--- /dev/null
+++ b/system/terminal-codes/unknown/src/PC.KB2
@@ -0,0 +1,79 @@
+LET type = "PC.KB2";
+IF exists (type) THEN forget (type, quiet) FI;
+new type (type);
+cursor logic (0, ""6"", "", "");
+ 
+enter outcode ( 14, 0, ""14" ");      {end mark}
+enter outcode ( 15, 0, ""15" ");      {begin mark}
+enter outcode (214, ""142"");         {�}
+enter outcode (215, ""153"");         {�}
+enter outcode (216, ""154"");         {�}
+enter outcode (217, ""132"");         {�}
+enter outcode (218, ""148"");         {�}
+enter outcode (219, ""129"");         {�}
+enter outcode (220, 0, ""15"k"14"");  {trenn-k}
+enter outcode (221, 0, ""15"-"14"");  {trenn-strich}
+enter outcode (222, 0, ""15"#"14"");  {pseudo-fis}
+enter outcode (223, 0, ""15" "14"");  {pseudo-blank}
+enter outcode (251, ""225"");         {�}
+ 
+enter incode (  1, ""199"");          {hop}
+enter incode (  2, ""205"");          {rechts}
+enter incode (  3, ""200"");          {oben}
+enter incode (  7, ""2"");            {sv: ctrl b}
+enter incode (  7, ""187"");          {sv: f1}
+enter incode (  8, ""203"");          {links}
+enter incode ( 10, ""208"");          {unten}
+enter incode ( 11, ""210"");          {rubin: ins}
+enter incode ( 12, ""211"");          {rubout: del}
+enter incode ( 16, ""201"");          {mark: pg up}
+enter incode ( 17, ""1"");            {stop: ctrl a}
+
+(*
+enter incode ( 18, ""190"");          {""18"": f2}
+enter incode ( 19, ""191"");          {""19"": f3}
+enter incode ( 20, ""192"");          {""20"": f4}
+enter incode ( 21, ""193"");          {""21"": f5}
+enter incode ( 22, ""194"");          {""22"": f6}
+*)
+
+enter incode ( 23, ""3"");            {start: ctrl b}
+enter incode ( 23, "00");             {start: 00}
+
+(*
+enter incode ( 24, ""195"");          {""24"": f7}
+enter incode ( 25, ""196"");          {""25"": f8}
+enter incode ( 26, ""212"");          {""26"": f9}
+enter incode ( 28, ""213"");          {""28"": f10}
+enter incode ( 29, ""214"");          {""29"": f11}
+enter incode ( 30, ""215"");          {""30"": f12}
+enter incode ( 31, ""216"");          {""31"": f13}
+*)
+
+enter incode ( 35, ""93"");           {#}
+enter incode ( 39, ""94"");           {'}
+enter incode ( 42, ""123"");          {*}
+enter incode ( 43, ""91"");           {+}
+enter incode ( 45, ""47"");           {-}
+enter incode ( 47, ""39"");           {/}
+enter incode ( 58, ""62"");           {:}
+enter incode ( 59, ""60"");           {;}
+enter incode ( 60, ""92"");           {<}
+enter incode ( 61, ""95"");           {=}
+enter incode ( 62, ""124"");          {>}
+enter incode ( 63, ""61"");           {?}
+enter incode ( 64, ""35"");           {@}
+enter incode ( 89, ""90"");           {Y}
+enter incode ( 90, ""89"");           {Z}
+enter incode ( 94, ""125"");          {^}
+enter incode ( 95, ""63"");           {_}
+enter incode ( 96, ""126"");          {\}
+enter incode (121, ""122"");          {y}
+enter incode (122, ""121"");          {z}
+enter incode (214, ""42"");           {�}
+enter incode (215, ""43"");           {�}
+enter incode (216, ""96"");           {�}
+enter incode (217, ""58"");           {�}
+enter incode (218, ""59"");           {�}
+enter incode (219, ""64"");           {�}
+enter incode (251, ""45"");           {�}
diff --git a/system/terminal-codes/unknown/src/PC.french b/system/terminal-codes/unknown/src/PC.french
new file mode 100644
index 0000000..6a1675c
--- /dev/null
+++ b/system/terminal-codes/unknown/src/PC.french
@@ -0,0 +1,68 @@
+LET name = "PC.french"; 
+forget (name, quiet); 
+new type (name); 
+
+cursor logic (0, ""6"", "", "");
+
+enter outcode ( 14, 0, ""14" ");          (* end   mark *)
+enter outcode ( 15, 0, ""15" ");          (* begin mark *)
+enter outcode (214, 142);                 (* � *)
+enter outcode (215, 153);                 (* � *)
+enter outcode (216, 154);                 (* � *)
+enter outcode (217, 132);                 (* � *)
+enter outcode (218, 148);                 (* � *)
+enter outcode (219, 129);                 (* � *)
+enter outcode (220, 0, ""15""107""14"");  (* druck k *)
+enter outcode (221, 0, ""15""45""14"");   (* druck - *)
+enter outcode (222, 0, ""15""35""14"");   (* druck # *)
+enter outcode (223, 0, ""15""32""14"");   (* druck   *)
+enter outcode (251, 225);                 (* � *) 
+
+enter incode (  1, ""199"");              (* HOP *)
+enter incode (  2, ""205"");              (* RECHTS *)
+enter incode (  3, ""200"");              (* OBEN *)
+enter incode (  4,   ""4"");              (* INFO *)
+enter incode (  7,   ""2"");              (* SV *)
+enter incode (  8, ""203"");              (* LINKS *)
+enter incode ( 10, ""208"");              (* UNTEN *)
+enter incode ( 11, ""210"");              (* RUBIN *)
+enter incode ( 12, ""211"");              (* RUBOUT *)
+enter incode ( 16, ""201"");              (* MARK *)
+enter incode ( 17,   ""1"");              (* STOP *)
+enter incode ( 18, ""209"");              (* NEWLINE *)
+enter incode ( 23,   ""3"");              (* WEITER *)
+enter incode ( 45,  ""61"");              (* - *)
+enter incode ( 41,  ""95"");              (* ) *)
+enter incode ( 35,  ""45"");              (* # *)
+enter incode ( 38,  ""33"");              (* & *)
+enter incode ( 34,  ""35"");              (* " *)
+enter incode ( 40,  ""37"");              (* ( *)
+enter incode ( 33,  ""42"");              (* ! *)
+enter incode ( 97, ""113"");              (* a *)
+enter incode ( 65,  ""81"");              (* A *)
+enter incode ( 122,""119"");              (* z *)
+enter incode ( 90,  ""87"");              (* Z *)
+enter incode ( 42, ""125"");              (* * *)
+enter incode (113,  ""97"");              (* q *)
+enter incode ( 81,  ""65"");              (* Q *)
+enter incode (109,  ""59"");              (* m *)
+enter incode ( 77,  ""58"");              (* M *)
+enter incode ( 37,  ""34"");              (* % *)
+enter incode ( 60,  ""92"");              (* < *)
+enter incode ( 62, ""124"");              (* > *)
+enter incode (119, ""122"");              (* w *)
+enter incode ( 87,  ""90"");              (* W *)
+enter incode ( 44, ""109"");              (* , *)
+enter incode ( 63,  ""77"");              (* ? *)
+enter incode ( 59,  ""44"");              (* ; *)
+enter incode ( 46,  ""60"");              (* . *)
+enter incode ( 58,  ""46"");              (* : *)
+enter incode ( 61,  ""47"");              (* = *)
+enter incode ( 43,  ""63"");              (* + *)
+enter incode ( 47,  ""62"");              (* / *)
+enter incode (125,  ""96"");              (* } *)
+
+
+
+
+
diff --git a/system/terminal-codes/unknown/src/PC.german b/system/terminal-codes/unknown/src/PC.german
new file mode 100644
index 0000000..0634cb8
--- /dev/null
+++ b/system/terminal-codes/unknown/src/PC.german
@@ -0,0 +1,63 @@
+LET name = "PC.german"; 
+forget (name, quiet); 
+new type (name); 
+
+cursor logic (0, ""6"", "", "");
+
+enter outcode ( 14, 0, ""14" ");          (* end   mark *)
+enter outcode ( 15, 0, ""15" ");          (* begin mark *)
+enter outcode (214, 142);                 (* � *)
+enter outcode (215, 153);                 (* � *)
+enter outcode (216, 154);                 (* � *)
+enter outcode (217, 132);                 (* � *)
+enter outcode (218, 148);                 (* � *)
+enter outcode (219, 129);                 (* � *)
+enter outcode (220, 0, ""15""107""14"");  (* druck k *)
+enter outcode (221, 0, ""15""45""14"");   (* druck - *)
+enter outcode (222, 0, ""15""35""14"");   (* druck # *)
+enter outcode (223, 0, ""15""32""14"");   (* druck   *)
+enter outcode (251, 225);                 (* � *) 
+ 
+enter incode (  1, ""199"");              (* HOP *)
+enter incode (  2, ""205"");              (* RECHTS *)
+enter incode (  3, ""200"");              (* OBEN *)
+enter incode (  4,   ""4"");              (* INFO *)
+enter incode (  7,   ""2"");              (* SV *)
+enter incode (  8, ""203"");              (* LINKS *)
+enter incode ( 10, ""208"");              (* UNTEN *)
+enter incode ( 11, ""210"");              (* RUBIN *)
+enter incode ( 12, ""211"");              (* RUBOUT *)
+enter incode ( 16, ""201"");              (* MARK *)
+enter incode ( 17,   ""1"");              (* STOP *)
+enter incode ( 18, ""209"");              (* NEWLINE *)
+enter incode ( 23,   ""3"");              (* WEITER *)
+enter incode ( 34,  ""64"");              (* " *)
+enter incode ( 35,  ""96"");              (* # *)
+enter incode ( 38,  ""94"");              (* & *)
+enter incode ( 39,  ""61"");              (* ' *)
+enter incode ( 40,  ""42"");              (* ( *)
+enter incode ( 41,  ""40"");              (* ) *)
+enter incode ( 42, ""125"");              (* * *)
+enter incode ( 43,  ""93"");              (* + *)
+enter incode ( 45,  ""47"");              (* - *)
+enter incode ( 47,  ""38"");              (* / *)
+enter incode ( 58,  ""62"");              (* : *)
+enter incode ( 59,  ""60"");              (* ; *)
+enter incode ( 60,  ""92"");              (* < *)
+enter incode ( 61,  ""41"");              (* = *)
+enter incode ( 62, ""124"");              (* > *)
+enter incode ( 63,  ""95"");              (* ? *)
+enter incode ( 64, ""249"");              (* @ *)
+enter incode ( 89,  ""90"");              (* Y *)
+enter incode ( 90,  ""89"");              (* Z *)
+enter incode ( 95,  ""63"");              (* _ *)
+enter incode ( 96,  ""43"");              (* ` *)
+enter incode (121, ""122"");              (* y *)
+enter incode (122, ""121"");              (* z *)
+enter incode (214,  ""34"");              (* � *)
+enter incode (215,  ""58"");              (* � *)
+enter incode (216, ""123"");              (* � *)
+enter incode (217,  ""39"");              (* � *)
+enter incode (218,  ""59"");              (* � *)
+enter incode (219,  ""91"");              (* � *)
+enter incode (251,  ""45"");              (* � *)
diff --git a/system/terminal-codes/unknown/src/Qume.german b/system/terminal-codes/unknown/src/Qume.german
new file mode 100644
index 0000000..850a15b
--- /dev/null
+++ b/system/terminal-codes/unknown/src/Qume.german
@@ -0,0 +1,77 @@
+(* 
+    Typdefinition:  Qume deutsch                          12.10.84 
+*)
+TEXT VAR  name :="Qume.german"; 
+command dialogue (FALSE);forget (name); 
+new type (name);
+cursor logic (32,""27"=","","");
+enter outcode (1 ,0,""30"");
+enter outcode (2 ,0,""12"");
+enter outcode (3 ,0,""11"");
+enter outcode (4 ,0,""27"Y");
+enter outcode (5 ,0,""27"T");
+enter outcode (7,7); 
+enter outcode (8,8); 
+enter outcode (10,10); 
+enter outcode (13,13); 
+enter outcode (14,0,""27"G0");
+enter outcode (15,0,""27"G4");
+enter outcode (130,0,"-"); 
+enter outcode (131,0,"-"); 
+enter outcode (132,0,"-"); 
+enter outcode (133,0,"-"); 
+enter outcode (134,0,"-"); 
+enter outcode (135,0,"I"); 
+enter outcode (136,0,"I"); 
+enter outcode (137,0,"-"); 
+enter outcode (138,0,"-"); 
+enter outcode (139,0,"I"); 
+enter outcode (140,0,"I"); 
+ 
+enter outcode (214,""91"");
+enter outcode (215,""92"");
+enter outcode (216,""93"");
+enter outcode (217,""123"");
+enter outcode (218,""124"");
+enter outcode (219,""125"");
+ 
+enter outcode (220,"k") ; 
+enter outcode (221,"-") ; 
+enter outcode (222,"#") ; 
+enter outcode (223," ") ; 
+enter outcode (251,""126"");
+ 
+enter incode (214,""91"");
+enter incode (215,""92"");
+enter incode (216,""93"");
+enter incode (217,""123"");
+enter incode (218,""124"");
+enter incode (219,""125"");
+enter incode (251,""126"");
+ 
+enter incode ( 1,""26"");
+enter incode ( 1,""30"");
+enter incode ( 2,""12"");
+enter incode ( 3,""11"");
+enter incode (10,""10"");
+enter incode ( 8,""8"");
+enter incode (9,""9"");
+enter incode (11,""01""67""13"");
+enter incode (11,""01""71""13"");
+enter incode (11,""01""75""13"");
+enter incode (12,""127""); 
+enter incode (13,""13"");
+enter incode (16,""01""66""13""); 
+enter incode (16,""01""70""13""); 
+enter incode (16,""01""74""13""); 
+enter incode (17,""01""64""13""); (* stop *)
+enter incode (17,""01""68""13""); 
+enter incode (17,""01""72""13""); 
+enter incode (23,""01""65""13"");  (* weiter *)
+enter incode (23,""01""69""13""); 
+enter incode (23,""01""73""13""); 
+ 
+enter incode (4,""4"");  (* info *) 
+enter incode (7,""0"");  (* sv *)
+ 
+command dialogue (TRUE);            (* 12.10.84 *) 
diff --git a/system/terminal-codes/unknown/src/REGENT25 b/system/terminal-codes/unknown/src/REGENT25
new file mode 100644
index 0000000..25955d6
--- /dev/null
+++ b/system/terminal-codes/unknown/src/REGENT25
@@ -0,0 +1,34 @@
+TEXT VAR  name :="REGENT25"; 
+new type (name);
+cursor logic (32,""27"Y","","");
+enter outcode (1,0,""27"Y  "); 
+enter outcode (2  ,6   );
+enter outcode (3  ,26  );
+enter outcode (5  ,0,""27"K" );
+enter outcode (4,120,""27"k");
+ 
+enter outcode (220, "k");     (* Trenn-k *) 
+enter outcode (221, "-");     (* Trenn-  *) 
+enter outcode (222, "#"); 
+enter outcode (223, "_");
+ 
+enter outcode (214,"A");    (* Umlaute *)
+enter outcode (215,"O"); 
+enter outcode (216,"U"); 
+enter outcode (217,"a"); 
+enter outcode (218,"o"); 
+enter outcode (219,"u"); 
+enter outcode (251,"B");
+ 
+enter incode (2  ,""6""  );
+enter incode (3  ,""26""  );
+enter incode (8  ,""21"" ); (* backspace *)
+enter incode (4,""4"");   (* info   *) 
+enter incode (7,""29"");  (* sv     *)
+enter incode (17,""3"");  (* stop *) 
+enter incode (23,""0"");  (* weiter *)
+
+
+enter incode (11,"^");      (* rubin  *) 
+enter incode (12,""127"");  (* rubout *) 
+enter incode (16,""126"") ; (* mark   *)
diff --git a/system/terminal-codes/unknown/src/REGENT40 b/system/terminal-codes/unknown/src/REGENT40
new file mode 100644
index 0000000..4f6323a
--- /dev/null
+++ b/system/terminal-codes/unknown/src/REGENT40
@@ -0,0 +1,37 @@
+TEXT VAR  name :="REGENT40"; 
+new type (name);
+cursor logic (32,""27"Y","","");
+enter outcode (1,0,""27"Y  "); 
+enter outcode (2  ,6   );
+enter outcode (3  ,26  );
+enter outcode (5  ,0,""27"K" );
+enter outcode (4,120,""27"k");
+ 
+   enter outcode (15,0,""27"0@");     (* invers video ein = begin mark*) 
+   enter outcode (14,0,""27"0P");     (* invers video aus = end mark*) 
+ 
+enter outcode (220, "k");     (* Trenn-k *) 
+enter outcode (221, "-");     (* Trenn-  *) 
+enter outcode (222, "#"); 
+enter outcode (223, "_");
+ 
+enter outcode (214,"A");    (* Umlaute *)
+enter outcode (215,"O"); 
+enter outcode (216,"U"); 
+enter outcode (217,"a"); 
+enter outcode (218,"o"); 
+enter outcode (219,"u"); 
+enter outcode (251,"B");
+ 
+enter incode (2  ,""6""  );
+enter incode (3  ,""26""  );
+enter incode (8  ,""21"" ); (* backspace *)
+enter incode (4,""4"");   (* info   *) 
+enter incode (7,""29"");  (* sv     *)
+enter incode (17,""3"");  (* stop *) 
+enter incode (23,""0"");  (* weiter *)
+
+
+enter incode (11,"^");      (* rubin  *) 
+enter incode (12,""127"");  (* rubout *) 
+enter incode (16,""126"") ; (* mark   *)
diff --git a/system/terminal-codes/unknown/src/RUC.AT.ascii b/system/terminal-codes/unknown/src/RUC.AT.ascii
new file mode 100644
index 0000000..cad3c5b
--- /dev/null
+++ b/system/terminal-codes/unknown/src/RUC.AT.ascii
@@ -0,0 +1,75 @@
+(*************************************************)
+(* Typtabelle   : RUC.AT.ascii                   *)
+(* Generiert am : 21.03.87                       *)
+(*************************************************)
+
+forget ("RUC.AT.ascii", quiet) ;
+new type ("RUC.AT.ascii") ;
+
+cursor logic (0, ""6"", "", "") ;
+
+(* Ausgabe Codes : *)
+enter outcode (  1,   1) ; (* Cursor Home : <CTRL-A> *) 
+enter outcode (  2,   2) ; (* Cursor right: <CTRL-B> *) 
+enter outcode (  3,   3) ; (* Cursor up   : <CTRL-C> *) 
+enter outcode (  4,   4) ; (* CLEOP       : <CTRL-D> *) 
+enter outcode (  5,   5) ; (* CLEOL       : <CTRL-E> *) 
+enter outcode (  8,   8) ; (* Cursor left : <CTRL-H> *) 
+enter outcode ( 10,  10) ; (* Cursor down : <LF> *) 
+enter outcode ( 13,  13) ; (* CR          : <CR> *) 
+enter outcode ( 14, 0, " "14"") ; (* END MARK    : <CTRL-N> <SPACE> *) 
+enter outcode ( 15, 0, ""15" ") ; (* BEGIN MARK  : <CTRL-O> <SPACE> *) 
+enter outcode (214, 0, ""142"") ; (* Ae          : <142> *) 
+enter outcode (215, 0, ""153"") ; (* Oe          : <153> *) 
+enter outcode (216, 0, ""154"") ; (* Ue          : <154> *) 
+enter outcode (217, 0, ""132"") ; (* ae          : <132> *) 
+enter outcode (218, 0, ""148"") ; (* oe          : <148> *) 
+enter outcode (219, 0, ""129"") ; (* ue          : <129> *) 
+enter outcode (220, 0, ""15"k"14"") ; (* Trenn-k : <CTRL-O> k <CTRL-N> *) 
+enter outcode (221, 0, ""15"-"14"") ; (* Trennstrich: <CTRL-O> - <CTRL-N> *) 
+enter outcode (222, 0, ""15"#"14"") ; (* Fest-#  : <CTRL-O> # <CTRL-N> *) 
+enter outcode (223, 0, ""15" "14"") ; (* Fest-Blank:<CTRL-O><SPACE><CTRL-N>*) 
+enter outcode (251, 0, ""225"") ; (* sz          : <225> *) 
+enter outcode (252, 21) ;         (* paragraph   : <21> *)
+
+
+(* Eingabe Codes : *)
+enter incode ( 17, ""1"") ;   (* Stop        : <CTRL-A> *)
+enter incode (  7, ""2"") ;   (* SV - Call   : <CTRL-B> *)
+enter incode (  7, ""187"");  (* SV - Call   : F1 *)
+enter incode ( 23, ""3"") ;   (* Weiter      : <CTRL-C> *)
+enter incode (  4, ""4"") ;   (* INFO        : <CTRL-D> *)
+enter incode (  1, ""199"") ; (* HOP         : POS1  *)
+enter incode (  2, ""205"") ; (* Cursor right: <205> *)
+enter incode (  3, ""200"") ; (* Cursor up   : <200> *)
+enter incode (  8, ""203"") ; (* Cursor left : <203> *)
+enter incode ( 10, ""208"") ; (* Cursor down : <208> *)
+enter incode ( 11, ""210"") ; (* RUBIN       : INSERT *)
+enter incode ( 12, ""211"") ; (* RUBOUT      : DELETE *)
+enter incode ( 16, ""201"") ; (* MARK        : Page up *)
+                              (* AE-Taste    : F13 = SHIFT F3 *)
+                              (* OE-Taste    : F14 = SHIFT F4 *)
+                              (* UE-Taste    : F15 = SHIFT F5 *)
+                              (* ae-Taste    : F16 = SHIFT F6 *)
+                              (* oe-Taste    : F17 = SHIFT F7 *)
+                              (* ue-Taste    : F18 = SHIFT F8 *)
+                              (* trenn-k     : F19 = SHIFT F9 *)
+                              (* trenn -     : F20 = SHIFT F10 *)
+                              (* fix #       : F21 = CTRL  F1 *) 
+                              (* fix blank   : F22 = CTRL  F2 *) 
+enter incode (252, ""224"") ; (* paragraph   : F23 = CTRL  F3 *)
+enter incode (251, ""225"") ; (* sz-Taste    : F24 = CTRL  F4 *)
+enter incode ( 14, ""207"") ; (* Funct.-Taste: END   *)
+enter incode ( 15, ""204"") ; (* Funct.-Taste: Num-5 *)
+enter incode ( 18, ""209"") ; (* NEWLINE     : Page down *)
+enter incode ( 19, ""188"") ; (* Funct.-Taste: F2    *)
+enter incode ( 20, ""189"") ; (* Funct.-Taste: F3    *)
+enter incode ( 21, ""190"") ; (* Funct.-Taste: F4    *)
+enter incode ( 22, ""191"") ; (* Funct.-Taste: F5    *)
+enter incode ( 24, ""192"") ; (* Funct.-Taste: F6    *)
+enter incode ( 25, ""193"") ; (* Funct.-Taste: F7    *)
+enter incode ( 26, ""194"") ; (* Funct.-Taste: F8    *)
+enter incode ( 28, ""195"") ; (* Funct.-Taste: F9    *)
+enter incode ( 29, ""196"") ; (* Funct.-Taste: F10   *)
+enter incode ( 30, ""212"") ; (* Funct.-Taste: F11 = SHIFT F1 *)
+enter incode ( 31, ""213"") ; (* Funct.-Taste: F12 = SHIFT F2 *)
diff --git a/system/terminal-codes/unknown/src/SIEMENS.PC-D b/system/terminal-codes/unknown/src/SIEMENS.PC-D
new file mode 100644
index 0000000..133b0b3
--- /dev/null
+++ b/system/terminal-codes/unknown/src/SIEMENS.PC-D
@@ -0,0 +1,88 @@
+                                                (* Autor : Rudolf Ruland *)
+                                                (* Stand : 13.05.86      *)
+
+LET csi = ""27"[";
+ 
+TEXT VAR table :="SIEMENS.PC-D"; 
+forget (table, quiet);
+new type (table);
+ 
+(******************   Steuerzeichen   *************************************)
+ 
+enter incode (  1, ""182"");                     (* HOP                   *)
+enter incode (  1, ""181"");                     (* HOP                   *)
+enter incode (  2, ""205"");                     (* RECHTS                *)
+enter incode (  2, ""207"");                     (* RECHTS                *)
+enter incode (  3, ""200"");                     (* OBEN                  *)
+enter incode (  3, ""201"");                     (* OBEN                  *)
+enter incode (  4, ""004"");   (* CTRL d    *)   (* INFO                  *)
+enter incode (  7, ""187"");   (* F1        *)   (* SV                    *)
+enter incode (  7, ""002"");   (* CTRL b    *)   (* SV                    *)
+enter incode (  8, ""199"");                     (* LINKS                 *)
+enter incode (  8, ""203"");                     (* LINKS                 *)
+enter incode (  9, ""143"");   (* BACKTAB   *)   (* TAB                   *)
+enter incode ( 10, ""208"");                     (* UNTEN                 *)
+enter incode ( 10, ""209"");                     (* UNTEN                 *)
+enter incode ( 11, ""169"");   (* EINF�GEN  *)   (* RUBIN                 *)
+enter incode ( 11, ""210"");                     (* RUBIN                 *)
+enter incode ( 12, ""008"");   (* BACK  <X| *)   (* RUBOUT                *)
+enter incode ( 12, ""168"");   (* L�CHEN    *)   (* RUBOUT                *)
+enter incode ( 12, ""211"");                     (* RUBOUT                *)
+enter incode ( 12, ""253"");   (* CE        *)   (* RUBOUT                *)
+enter incode ( 16, ""239"");   (* HILFE     *)   (* MARK                  *)
+enter incode ( 17, ""001"");   (* CTRL a    *)   (* STOP                  *) 
+enter incode ( 18, ""161"");   (* F12       *)   (* newline               *)
+enter incode ( 23, ""003"");   (* CTRL c    *)   (* WEITER                *) 
+enter incode ( 15, ""188"");   (* F2        *)   (* weitere ESC-Zeichen   *)
+enter incode ( 21, ""189"");   (* F3        *)
+enter incode ( 22, ""190"");   (* F4        *)
+enter incode ( 24, ""191"");   (* F5        *)
+enter incode ( 25, ""192"");   (* F6        *)
+enter incode ( 26, ""193"");   (* F7        *)
+enter incode ( 28, ""194"");   (* F8        *)
+enter incode ( 29, ""195"");   (* F9        *)
+enter incode ( 30, ""196"");   (* F10       *)
+enter incode ( 31, ""160"");   (* F11       *)
+
+ 
+enter outcode ( 0, "");                          (* NULL                  *)
+enter outcode ( 1,  0, csi + "H");               (* HOME                  *)
+enter outcode ( 2,  0, csi + "C");               (* RECHTS                *)
+enter outcode ( 3,  0, csi + "A");               (* OBEN                  *)
+enter outcode ( 4,  0, csi + "0J");              (* CL EOP                *)
+enter outcode ( 5,  0, csi + "0K");              (* CL EOL                *)
+enter outcode ( 7,  7);                          (* BELL                  *)
+enter outcode ( 8,  8);                          (* LINKS                 *)
+enter outcode (10, 10);                          (* UNTEN                 *)
+enter outcode (13, 13);                          (* RETURN                *)
+enter outcode (14,  0, csi + "m ");              (* END MARK              *)
+enter outcode (15,  0, csi + "7m ");             (* BEGIN MARK            *)
+
+enter outcode (27, 27);                          (* ESC                   *)
+
+cursor logic (1,1,csi,";","H"); 
+ 
+(********************   Textzeichen   *************************************)
+ 
+enter incode ( 46, ""240"");   (* +/-       *)   (* .                     *)
+enter incode (214, ""142"");                     (* �                     *)
+enter incode (215, ""153"");                     (* �                     *)
+enter incode (216, ""154"");                     (* �                     *)
+enter incode (217, ""132"");                     (* �                     *)
+enter incode (218, ""148"");                     (* �                     *)
+enter incode (219, ""129"");                     (* �                     *)
+enter incode (251, ""225"");                     (* �                     *)
+enter incode (252, ""021"");                     (* �                     *)
+                                                 
+enter outcode (214, ""142"");                    (* �                     *)
+enter outcode (215, ""153"");                    (* �                     *)
+enter outcode (216, ""154"");                    (* �                     *)
+enter outcode (217, ""132"");                    (* �                     *)
+enter outcode (218, ""148"");                    (* �                     *)
+enter outcode (219, ""129"");                    (* �                     *)
+enter outcode (220, "k"    );                    (* Trenn-k               *)
+enter outcode (221, ""205"");                    (* Trennstrich           *)
+enter outcode (222, ""206"");                    (* gesch. Nummernkreuz   *)
+enter outcode (223, ""176"");                    (* gesch. Blank          *)
+enter outcode (251, ""225"");                    (* �                     *)
+enter outcode (252, ""021"");                    (* �                     *)
diff --git a/system/terminal-codes/unknown/src/TAP5060.ELA b/system/terminal-codes/unknown/src/TAP5060.ELA
new file mode 100644
index 0000000..791189e
--- /dev/null
+++ b/system/terminal-codes/unknown/src/TAP5060.ELA
@@ -0,0 +1,49 @@
+ 
+TEXT VAR name := subtext ( std , 1 , length ( std ) - 4 ) ; 
+lastparam ( "" ) ; 
+forget ( name , quiet ) ; 
+new type ( name ) ; 
+ 
+cursor logic ( 0 , ""6"" , "" , "" ) ; 
+ 
+enter outcode ( 15 , 0, ""15" " ) ; 
+enter outcode ( 14 , 0, ""14" " ) ; 
+
+enter outcode ( 214, 142 ) ; 
+enter outcode ( 215, 153 ) ; 
+enter outcode ( 216, 154 ) ; 
+enter outcode ( 217, 132 ) ; 
+enter outcode ( 218, 148 ) ; 
+enter outcode ( 219, 129 ) ; 
+enter outcode ( 220, 0, ""15""107""14"");  (* druck k *)
+enter outcode ( 221, 0, ""15""45""14"");   (* druck - *)
+enter outcode ( 222, 0, ""15""35""14"");   (* druck # *)
+enter outcode ( 223, 0, ""15""32""14"");   (* druck   *)
+enter outcode ( 251, 225);                 (* � *) 
+ 
+enter incode ( 214, ""142"" ) ;   (* �         *) 
+enter incode ( 215, ""153"" ) ;   (* �         *) 
+enter incode ( 216, ""154"" ) ;   (* �         *) 
+enter incode ( 217, ""132"" ) ;   (* �         *) 
+enter incode ( 218, ""148"" ) ;   (* �         *) 
+enter incode ( 219, ""129"" ) ;   (* �         *) 
+enter incode ( 251, ""225"" ) ;   (* �         *) 
+enter incode (  64, ""21""  ) ;   (* �         *) 
+enter incode (  96, ""36""  ) ;   (* `         *)
+ 
+enter incode (  1, ""199"" ) ;    (* hop       *) 
+enter incode (  2, ""205"" ) ;    (* right     *) 
+enter incode (  3, ""200"" ) ;    (* up        *) 
+enter incode (  7, ""187"" ) ;    (* SV -> F1  *) 
+enter incode (  7, ""2""   ) ;    (* SV        *) 
+enter incode (  8, ""203"" ) ;    (* left      *) 
+enter incode (  9, ""143"" ) ;    (* tab       *) 
+enter incode ( 10, ""208"" ) ;    (* down      *) 
+enter incode ( 11, ""210"" ) ;    (* rubin     *) 
+enter incode ( 12, ""211"" ) ;    (* rubout    *) 
+enter incode ( 16, ""198"" ) ;    (* mark      *) 
+enter incode ( 17, ""1""   ) ;    (* stop      *) 
+enter incode ( 23, ""3""   ) ;    (* start     *) 
+
+enter incode ( 187, ""136"") ;    (* F1        *)
+
diff --git a/system/terminal-codes/unknown/src/TVI.german b/system/terminal-codes/unknown/src/TVI.german
new file mode 100644
index 0000000..c24f063
--- /dev/null
+++ b/system/terminal-codes/unknown/src/TVI.german
@@ -0,0 +1,57 @@
+TEXT VAR  name :="TVI.german"; 
+command dialogue (FALSE); forget (name, quiet) ; 
+new type (name);
+cursor logic (32,""27"=","","");
+enter outcode (1 ,0,""30"");
+enter outcode (2 ,0,""12"");
+enter outcode (3 ,0,""11"");
+enter outcode (4 ,40,""27"Y");
+enter outcode (5 ,0,""27"T");
+enter outcode (14,0,""27"G0");
+enter outcode (15,0,""27"G4");
+ 
+enter outcode ( 91,0,"<");
+enter outcode ( 92,0,"/");
+enter outcode ( 93,0,">");
+enter outcode (123,0,"(");
+enter outcode (124,0,"!");
+enter outcode (125,0,")");
+ 
+INT VAR i ; 
+FOR i FROM 127 UPTO 255 REP 
+  enter outcode (i, "?") 
+PER ; 
+ 
+enter outcode (214,91);
+enter outcode (215,92);
+enter outcode (216,93);
+enter outcode (217,123);
+enter outcode (218,124);
+enter outcode (219,125);
+enter outcode (220,"k") ; 
+enter outcode (221,"-") ; 
+enter outcode (222,"#") ; 
+enter outcode (223,"_") ; 
+enter outcode (251,126);
+ 
+enter incode (214,""91"");
+enter incode (215,""92"");
+enter incode (216,""93"");
+enter incode (217,""123"");
+enter incode (218,""124"");
+enter incode (219,""125"");
+enter incode (251,""126"");
+ 
+enter incode (63,""0"") ;
+enter incode ( 1,""30"");
+enter incode ( 2,""12"");
+enter incode ( 3,""11"");
+enter incode (10,""22"");
+enter incode ( 8,""8"");
+enter incode (11,""27"Q");enter incode (11,""26"");
+enter incode (12,""27"W");enter incode (12,""127"");
+enter incode (16,""16"");
+enter incode (4,""4"");  (* info *) 
+enter incode (7,""2"");  (* sv *)
+enter incode (17,""1"");  (* stop *) 
+enter incode (23,""3"");  (* weiter *)
diff --git a/system/terminal-codes/unknown/src/TVI914.ascii b/system/terminal-codes/unknown/src/TVI914.ascii
new file mode 100644
index 0000000..4909462
--- /dev/null
+++ b/system/terminal-codes/unknown/src/TVI914.ascii
@@ -0,0 +1,43 @@
+TEXT VAR  name :="TVI914.ascii"; 
+command dialogue (FALSE); forget (name, quiet) ; 
+new type (name);
+cursor logic (32,""27"=","","");
+enter outcode (1 ,0,""30"");
+enter outcode (2 ,0,""12"");
+enter outcode (3 ,0,""11"");
+enter outcode (4 ,40,""27"Y");
+enter outcode (5 ,0,""27"T");
+enter outcode (14,0,""27"G0 ");
+enter outcode (15,0,""27"G4 ");
+ 
+ 
+INT VAR i ; 
+FOR i FROM 127 UPTO 255 REP 
+  enter outcode (i, "?") 
+PER ; 
+ 
+enter outcode (214,"A");
+enter outcode (215,"O");
+enter outcode (216,"U");
+enter outcode (217,"a");
+enter outcode (218,"o");
+enter outcode (219,"u");
+enter outcode (220,"k") ; 
+enter outcode (221,"-") ; 
+enter outcode (222,"#") ; 
+enter outcode (223,"_") ; 
+enter outcode (251,"B");
+ 
+enter incode (63,""0"") ;
+enter incode ( 1,""30"");
+enter incode ( 2,""12"");
+enter incode ( 3,""11"");
+enter incode (10,""22"");
+enter incode ( 8,""8"");
+enter incode (11,""27"Q");enter incode (11,""26"");
+enter incode (12,""27"W");enter incode (12,""127"");
+enter incode (16,""23"");
+enter incode (4,""4"");  (* info *) 
+enter incode (7,""2"");  (* sv *)
+enter incode (17,""1"");  (* stop *) 
+enter incode (23,""3"");  (* weiter *)
diff --git a/system/terminal-codes/unknown/src/VC404.ascii b/system/terminal-codes/unknown/src/VC404.ascii
new file mode 100644
index 0000000..614e26d
--- /dev/null
+++ b/system/terminal-codes/unknown/src/VC404.ascii
@@ -0,0 +1,61 @@
+                                                  (* Autor : Rudolf Ruland *)
+                                                  (* Stand : 06.05.86      *) 
+ 
+INT VAR i; 
+TEXT VAR table :="VC404.ascii"; 
+forget (table, quiet);
+new type (table);
+ 
+(******************   Steuerzeichen   *************************************)
+ 
+enter incode ( 1, ""025"");                      (* HOP                   *) 
+enter incode ( 2, ""021"");                      (* ->                    *) 
+enter incode ( 3, ""026"");                      (* UP                    *) 
+enter incode ( 4, ""004"");                      (* INFO                  *) 
+enter incode ( 7, ""002"");                      (* SV                    *) 
+enter incode ( 7, ""007"");                      (* SV                    *) 
+enter incode ( 8, ""008"");                      (* <-                    *) 
+enter incode ( 9, ""009"");                      (* TAB                   *) 
+enter incode (10, ""010"");                      (* DOWN                  *) 
+enter incode (11, ""096"");                      (* RUBIN                 *) 
+enter incode (12, ""127"");                      (* RUBOUT                *) 
+enter incode (13, ""013"");                      (* RETURN                *) 
+enter incode (16, ""126"");                      (* MARK                  *) 
+enter incode (17, ""001"");                      (* STOP                  *) 
+enter incode (23, ""003"");                      (* WEITER                *) 
+ 
+FOR i FROM 0 UPTO 31 REP enter outcode (i, "S") PER; 
+ 
+enter outcode ( 0,  "");                         (* NULL                  *)
+enter outcode ( 1,  25);                         (* HOME                  *)
+enter outcode ( 2,  21);                         (* RECHTS                *)
+enter outcode ( 3,  26);                         (* OBEN                  *)
+enter outcode ( 4, 120, ""23"");                 (* CL EOP                *)
+enter outcode ( 5,  22);                         (* CL EOL                *)
+enter outcode ( 7,   7);                         (* BELL                  *)
+enter outcode ( 8,   8);                         (* LINKS                 *)
+enter outcode (10,  10);                         (* UNTEN                 *)
+enter outcode (13,  13);                         (* RETURN                *)
+enter outcode (14, 126);                         (* END MARK              *)
+enter outcode (15, 126);                         (* BEGIN MARK            *)
+ 
+cursor logic (32,""16"","","");
+ 
+(********************   Textzeichen   *************************************)
+ 
+FOR i FROM 127 UPTO 255 REP enter outcode (i, "?") PER; 
+FOR i FROM 129 UPTO 159 REP enter outcode (i, "E") PER;  (* japanische    *)
+FOR i FROM 224 UPTO 239 REP enter outcode (i, "E") PER;  (*   ESC-Zeichen *)
+
+ 
+enter outcode (214, "A");                        (* �                     *)
+enter outcode (215, "O");                        (* �                     *)
+enter outcode (216, "U");                        (* �                     *)
+enter outcode (217, "a");                        (* �                     *)
+enter outcode (218, "o");                        (* �                     *)
+enter outcode (219, "u");                        (* �                     *)
+enter outcode (220, "k");                        (* Trenn-k               *)
+enter outcode (221, "-");                        (* Trenn-Strich          *) 
+enter outcode (222, "#");                        (* gesch. Nummerkreuz    *)
+enter outcode (223, "_");                        (* gesch. Blank          *)
+enter outcode (251, "B");                        (* �                     *)
diff --git a/system/terminal-codes/unknown/src/VC404.german b/system/terminal-codes/unknown/src/VC404.german
new file mode 100644
index 0000000..0c84d8e
--- /dev/null
+++ b/system/terminal-codes/unknown/src/VC404.german
@@ -0,0 +1,75 @@
+                                                  (* Autor : Rudolf Ruland *)
+                                                  (* Stand : 06.05.86      *) 
+ 
+INT VAR i; 
+TEXT VAR table :="VC404.german"; 
+forget (table, quiet);
+new type (table);
+ 
+(******************   Steuerzeichen   *************************************)
+ 
+enter incode ( 1, ""025"");                      (* HOP                   *) 
+enter incode ( 2, ""021"");                      (* ->                    *) 
+enter incode ( 3, ""026"");                      (* UP                    *) 
+enter incode ( 4, ""004"");                      (* INFO                  *) 
+enter incode ( 7, ""002"");                      (* SV                    *) 
+enter incode ( 7, ""007"");                      (* SV                    *) 
+enter incode ( 8, ""008"");                      (* <-                    *) 
+enter incode ( 9, ""009"");                      (* TAB                   *) 
+enter incode (10, ""010"");                      (* DOWN                  *) 
+enter incode (11, ""096"");                      (* RUBIN                 *) 
+enter incode (12, ""127"");                      (* RUBOUT                *) 
+enter incode (13, ""013"");                      (* RETURN                *) 
+enter incode (16, ""126"");                      (* MARK                  *) 
+enter incode (17, ""001"");                      (* STOP                  *) 
+enter incode (23, ""003"");                      (* WEITER                *) 
+ 
+FOR i FROM 0 UPTO 31 REP enter outcode (i, "S") PER; 
+ 
+enter outcode ( 0,  "");                         (* NULL                  *)
+enter outcode ( 1,  25);                         (* HOME                  *)
+enter outcode ( 2,  21);                         (* RECHTS                *)
+enter outcode ( 3,  26);                         (* OBEN                  *)
+enter outcode ( 4, 120, ""23"");                 (* CL EOP                *)
+enter outcode ( 5,  22);                         (* CL EOL                *)
+enter outcode ( 7,   7);                         (* BELL                  *)
+enter outcode ( 8,   8);                         (* LINKS                 *)
+enter outcode (10,  10);                         (* UNTEN                 *)
+enter outcode (13,  13);                         (* RETURN                *)
+enter outcode (14, 126);                         (* END MARK              *)
+enter outcode (15, 126);                         (* BEGIN MARK            *)
+ 
+cursor logic (32,""16"","","");
+ 
+(********************   Textzeichen   *************************************)
+ 
+enter incode (214, ""091"");                     (* �                     *)
+enter incode (215, ""092"");                     (* �                     *)
+enter incode (216, ""093"");                     (* �                     *)
+enter incode (217, ""123"");                     (* �                     *)
+enter incode (218, ""124"");                     (* �                     *)
+enter incode (219, ""125"");                     (* �                     *)
+enter incode (251, ""064"");                     (* �                     *)
+ 
+FOR i FROM 127 UPTO 255 REP enter outcode (i, "?") PER; 
+FOR i FROM 129 UPTO 159 REP enter outcode (i, "E") PER;  (* japanische    *)
+FOR i FROM 224 UPTO 239 REP enter outcode (i, "E") PER;  (*   ESC-Zeichen *)
+
+ 
+enter outcode ( 91, "(");                        (* [                     *)
+enter outcode ( 92, "/");                        (* \                     *)
+enter outcode ( 93, ")");                        (* ]                     *)
+enter outcode (123, "<");                        (* geschw. Klammer auf   *)
+enter outcode (124, "!");                        (* |                     *)
+enter outcode (125, ">");                        (* geschw. Klammer zu    *)
+enter outcode (214,  91);                        (* �                     *)
+enter outcode (215,  92);                        (* �                     *)
+enter outcode (216,  93);                        (* �                     *)
+enter outcode (217, 123);                        (* �                     *)
+enter outcode (218, 124);                        (* �                     *)
+enter outcode (219, 125);                        (* �                     *)
+enter outcode (220, "k");                        (* Trenn-k               *)
+enter outcode (221, "-");                        (* Trenn-Strich          *) 
+enter outcode (222, "#");                        (* gesch. Nummerkreuz    *)
+enter outcode (223, "_");                        (* gesch. Blank          *)
+enter outcode (251,  64);                        (* �                     *)
diff --git a/system/terminal-codes/unknown/src/VC404.hrz b/system/terminal-codes/unknown/src/VC404.hrz
new file mode 100644
index 0000000..3f270c5
--- /dev/null
+++ b/system/terminal-codes/unknown/src/VC404.hrz
@@ -0,0 +1,67 @@
+                                                  (* Autor : Rudolf Ruland *)
+                                                  (* Stand : 06.05.86      *) 
+ 
+INT VAR i; 
+TEXT VAR table :="VC404.hrz"; 
+forget (table, quiet);
+new type (table);
+ 
+(******************   Steuerzeichen   *************************************)
+ 
+enter incode ( 1, ""025"");                      (* HOP                   *) 
+enter incode ( 2, ""021"");                      (* ->                    *) 
+enter incode ( 3, ""026"");                      (* UP                    *) 
+enter incode ( 4, ""004"");                      (* INFO                  *) 
+enter incode ( 7, ""002"");                      (* SV                    *) 
+enter incode ( 7, ""007"");                      (* SV                    *) 
+enter incode ( 8, ""008"");                      (* <-                    *) 
+enter incode ( 9, ""009"");                      (* TAB                   *) 
+enter incode (10, ""010"");                      (* DOWN                  *) 
+enter incode (11, ""096"");                      (* RUBIN                 *) 
+enter incode (12, ""127"");                      (* RUBOUT                *) 
+enter incode (13, ""013"");                      (* RETURN                *) 
+enter incode (16, ""126"");                      (* MARK                  *) 
+enter incode (17, ""001"");                      (* STOP                  *) 
+enter incode (23, ""003"");                      (* WEITER                *) 
+ 
+FOR i FROM 0 UPTO 31 REP enter outcode (i, "S") PER; 
+ 
+enter outcode ( 0,  "");                         (* NULL                  *)
+enter outcode ( 1,  25);                         (* HOME                  *)
+enter outcode ( 2,  21);                         (* RECHTS                *)
+enter outcode ( 3,  26);                         (* OBEN                  *)
+enter outcode ( 4, 120, ""23"");                 (* CL EOP                *)
+enter outcode ( 5,  22);                         (* CL EOL                *)
+enter outcode ( 7,   7);                         (* BELL                  *)
+enter outcode ( 8,   8);                         (* LINKS                 *)
+enter outcode (10,  10);                         (* UNTEN                 *)
+enter outcode (13,  13);                         (* RETURN                *)
+enter outcode (14, 126);                         (* END MARK              *)
+enter outcode (15, 126);                         (* BEGIN MARK            *)
+ 
+cursor logic (32,""16"","","");
+ 
+(********************   Textzeichen   *************************************)
+ 
+FOR i FROM 127 UPTO 255 REP enter outcode (i, "?") PER; 
+FOR i FROM 129 UPTO 159 REP enter outcode (i, "E") PER;  (* japanische    *)
+FOR i FROM 224 UPTO 239 REP enter outcode (i, "E") PER;  (*   ESC-Zeichen *)
+
+enter outcode ( 91, "(");                        (* [                     *)
+enter outcode ( 92, "/");                        (* \                     *)
+enter outcode ( 93, ")");                        (* ]                     *)
+enter outcode (123, "<");                        (* geschw. Klammer auf   *)
+enter outcode (124, "!");                        (* |                     *)
+enter outcode (125, ">");                        (* geschw. Klammer zu    *)
+enter outcode (214,  91);                        (* �                     *)
+enter outcode (215,  92);                        (* �                     *)
+enter outcode (216,  93);                        (* �                     *)
+enter outcode (217, 123);                        (* �                     *)
+enter outcode (218, 124);                        (* �                     *)
+enter outcode (219, 125);                        (* �                     *)
+enter outcode (220, "k");                        (* Trenn-k               *)
+enter outcode (221, "-");                        (* Trenn-Strich          *) 
+enter outcode (222, "#");                        (* gesch. Nummerkreuz    *)
+enter outcode (223, "_");                        (* gesch. Blank          *)
+enter outcode (251,  64);                        (* �                     *)
+ 
diff --git a/system/terminal-codes/unknown/src/VIDEOSTAR b/system/terminal-codes/unknown/src/VIDEOSTAR
new file mode 100644
index 0000000..bead5b9
--- /dev/null
+++ b/system/terminal-codes/unknown/src/VIDEOSTAR
@@ -0,0 +1,52 @@
+# 
+      VIDEOSTAR CONFIGURATIONS-PROGRAMM,  VERSION 25.06.1985 
+       Terminal = REGENT40 Emulation, deutscher Zeichensatz 
+#
+TEXT VAR  name :="VIDEOSTAR"; 
+forget(name, quiet);
+new type (name);
+cursor logic  (32,""27"Y","","");
+enter outcode (1  ,0,""27"Y  "); 
+enter outcode (2  ,6   );
+enter outcode (3  ,26  );
+enter outcode (5  ,0,""27"K" );
+enter outcode (4,0,""27"k");
+enter outcode (14,0,""27"0@ ");     (* invers video ein = begin mark*) 
+enter outcode (15,0,""27"0P ");     (* invers video aus = end mark*) 
+ 
+enter outcode (220,"k");            (* Trenn-k *) 
+enter outcode (221,"-");            (* Trenn-  *) 
+enter outcode (222,"#"); 
+enter outcode (223,"_");
+enter outcode (140,""12"");         (* Clear fuer Graphik *) 
+ 
+enter outcode (214, 0,  ""27"9B"91""27"9A");   (* ASCII Klammern *)
+enter outcode (215, 0,  ""27"9B"92""27"9A"); 
+enter outcode (216, 0,  ""27"9B"93""27"9A"); 
+enter outcode (217, 0, ""27"9B"123""27"9A"); 
+enter outcode (218, 0, ""27"9B"124""27"9A"); 
+enter outcode (219, 0, ""27"9B"125""27"9A"); 
+enter outcode (251, 0, ""27"9B"126""27"9A"); 
+ 
+enter incode (1  ,""30"");     (* hop *)
+enter incode (2  ,""6""  );
+enter incode (3  ,""26""  );
+enter incode (8  ,""21"" );    (* backspace *)
+enter incode (4,""4"");        (* info   *) 
+enter incode (7,""2"");        (* sv     *)
+enter incode (17,""1"");       (* stop   *) 
+enter incode (23,""3"");       (* weiter *)
+enter incode (18, ""27"M");    (*  Insert Line *)
+enter incode (11,""25"");      (* rubin  *) 
+enter incode (12,""127"");     (* rubout *) 
+enter incode (16,""12"") ;     (* mark   *)
+ 
+ 
+enter incode (214,""91"");     (* Umlaute *)
+enter incode (215,""92"");
+enter incode (216,""93"");
+enter incode (217,""123""); 
+enter incode (218,""124"");
+enter incode (219,""125"");
+enter incode (251,""126"");
+
diff --git a/system/terminal-codes/unknown/src/basis108(ascii) b/system/terminal-codes/unknown/src/basis108(ascii)
new file mode 100644
index 0000000..8df50f2
--- /dev/null
+++ b/system/terminal-codes/unknown/src/basis108(ascii)
@@ -0,0 +1,90 @@
+                                      (* Terminaltyp: Basis108 *) 
+                                      (* Keyboard   : ASCII    *) 
+                                      (* Zeichensatz: ASCII    *) 
+                                      (* Stand      : 28.04.86 *) 
+ 
+forget  ("basis108(ascii)", quiet) ; 
+new type ("basis108(ascii)") ; 
+ 
+cursor logic  (0, ""6"", "", "") ; 
+ 
+(* Nicht im EUMEL-Zeichensatz definierte Steuerzeichen *) 
+illegal (11, 12) ; 
+illegal (16, 31) ; 
+illegal (128, 213) ; 
+illegal (224, 250) ; 
+illegal (252, 255) ; 
+ 
+enter outcode (14, 0, " "14"") ; 
+enter outcode (15, 0, ""15" ") ; 
+ 
+enter outcode (214, 0, ""15"A"14"") ; 
+enter outcode (215, 0, ""15"O"14"") ; 
+enter outcode (216, 0, ""15"U"14"") ; 
+enter outcode (217, 0, ""15"a"14"") ; 
+enter outcode (218, 0, ""15"o"14"") ; 
+enter outcode (219, 0, ""15"u"14"") ; 
+enter outcode (251, 0, ""15"B"14"") ; 
+ 
+enter outcode (220, 0, ""15"k"14"") ; 
+enter outcode (221, 0, ""15"-"14"") ; 
+enter outcode (222, 0, ""15"#"14"") ; 
+enter outcode (223, 0, ""15" "14"") ; 
+ 
+enter incode (  1, ""192"") ; (* Home        : Cursorblock mitte          *) 
+enter incode (  2, ""149"") ; (* Cursor right: Cursorblock mitte rechts   *) 
+enter incode (  3, ""139"") ; (* Cursor up   : Cursorblock oben mitte     *) 
+(*enter incode( 4,  ""21"") ; (* Info usw.   : Cursorblock unten rechts*) *) 
+enter incode (  7, ""194"") ; (* SV - Call   : Funktionstaste F2          *) 
+enter incode (  8, ""136"") ; (* Cursor left : Cursorblock mitte links    *) 
+enter incode ( 10, ""138"") ; (* Cursor down : Cursorblock unten mitte    *) 
+enter incode ( 11, ""142"") ; (* RUBIN/Insert: Cursorblock oben links     *) 
+enter incode ( 12, ""127"") ; (* RUBOUT/Delete:DELETE-Taste               *) 
+enter incode ( 16, ""143"") ; (* MARK        : Cursorblock oben rechts    *) 
+enter incode ( 17, ""193"") ; (* Stop        : Funktionstaste F1          *) 
+enter incode ( 23, ""195"") ; (* Weiter      : Funktionstaste F3          *) 
+enter incode ( 31,   ""8"") ; (* Backspace   : (2x) gerahmter Linkspfeil  *) 
+ 
+enter incode ( 0,  ""24"") ;  (* CE *) 
+enter incode ( 5, ""196"") ;  (* F4 *) 
+enter incode ( 6, ""197"") ;  (* F5 *) 
+enter incode (14, ""198"") ;  (* F6 *) 
+enter incode (15, ""199"") ;  (* F7 *) 
+enter incode (18, ""200"") ;  (* F8 *) 
+enter incode (19, ""201"") ;  (* F9 *) 
+enter incode (20, ""202"") ;  (* F10 *) 
+enter incode (21, ""203"") ;  (* F11 *) 
+enter incode (22, ""204"") ;  (* F12 *) 
+enter incode (24, ""205"") ;  (* F13 *) 
+enter incode (25, ""206"") ;  (* F14 *) 
+enter incode (26, ""207"") ;  (* F15 *) 
+enter incode (28, ""209"") ;  (* SHIFT F1 *) 
+enter incode (29, ""210"") ;  (* SHIFT F2 *) 
+enter incode (30, ""211"") ;  (* SHIFT F3 *) 
+ 
+enter incode (126,""165"") ;  (* CTRL  F5 *) 
+enter incode (91, ""166"") ;  (* CTRL  F6 *) 
+enter incode (92, ""167"") ;  (* CTRL  F7 *) 
+enter incode (93, ""168"") ;  (* CTRL  F8 *) 
+enter incode (123,""169"") ;  (* CTRL  F9 *) 
+enter incode (124,""170"") ;  (* CTRL  F10 *) 
+enter incode (125,""171"") ;  (* CTRL  F11 *) 
+ 
+enter incode (251, ""213"") ; (* SHIFT F5 = � *) 
+                              (* SHIFT F6 = � 
+Andere incodes schon Hardware-   SHIFT F7 = � 
+m��ig implementiert:             SHIFT F8 = � 
+                                 SHIFT F9 = � 
+                                 SHIFT F10= � 
+                                 SHIFT F11= � 
+                                 SHIFT F12= Trenn-k           ( k ) 
+                                 SHIFT F13= Trenn-Strich      ( - ) 
+                                 SHIFT F14= Gesch�tztes Fis   ( # ) 
+                                 SHIFT F15= Gesch�tztes Blank (   ) *) 
+ 
+PROC illegal (INT CONST from, to) : 
+ INT VAR i ; 
+ FOR i FROM from UPTO to REP 
+  enter outcode (i, 127)
+ PER 
+ENDPROC illegal ;
diff --git a/system/terminal-codes/unknown/src/basis108(deutsch) b/system/terminal-codes/unknown/src/basis108(deutsch)
new file mode 100644
index 0000000..9213cbe
--- /dev/null
+++ b/system/terminal-codes/unknown/src/basis108(deutsch)
@@ -0,0 +1,106 @@
+                                      (* Terminaltyp: Basis108 *) 
+                                      (* Keyboard   : Deutsch  *) 
+                                      (* Zeichensatz: Deutsch  *) 
+                                      (* Stand      : 28.04.86 *) 
+ 
+forget  ("basis108(deutsch)", quiet) ; 
+new type ("basis108(deutsch)") ; 
+ 
+cursor logic  (0, ""6"", "", "") ; 
+ 
+(* Nicht im EUMEL-Zeichensatz definierte Steuerzeichen *) 
+illegal (11, 12) ; 
+illegal (16, 31) ; 
+illegal (128, 213) ; 
+illegal (224, 250) ; 
+illegal (252, 255) ; 
+ 
+enter outcode (14, 0, " "14"") ; 
+enter outcode (15, 0, ""15" ") ; 
+ 
+enter outcode (91,  0, ""15"("14"") ; 
+enter outcode (92,  0, ""15"/"14"") ; 
+enter outcode (93,  0, ""15")"14"") ; 
+enter outcode (123, 0, ""15"<"14"") ; 
+enter outcode (124, 0, ""15"!"14"") ; 
+enter outcode (125, 0, ""15">"14"") ; 
+enter outcode (126, 0, ""15"`"14"") ; 
+ 
+enter outcode (214,  91) ; 
+enter outcode (215,  92) ; 
+enter outcode (216,  93) ; 
+enter outcode (217, 123) ; 
+enter outcode (218, 124) ; 
+enter outcode (219, 125) ; 
+enter outcode (251, 126) ; 
+ 
+enter outcode (220, 0, ""15"k"14"") ; 
+enter outcode (221, 0, ""15"-"14"") ; 
+enter outcode (222, 0, ""15"#"14"") ; 
+enter outcode (223, 0, ""15" "14"") ; 
+ 
+enter incode (  1, ""192"") ; (* Home        : Cursorblock mitte          *) 
+enter incode (  2, ""149"") ; (* Cursor right: Cursorblock mitte rechts   *) 
+enter incode (  3, ""139"") ; (* Cursor up   : Cursorblock oben mitte     *) 
+(*enter incode( 4,  ""21"") ; (* Info usw.   : Cursorblock unten rechts*) *) 
+enter incode (  7, ""194"") ; (* SV - Call   : Funktionstaste F2          *) 
+enter incode (  8, ""136"") ; (* Cursor left : Cursorblock mitte links    *) 
+enter incode ( 10, ""138"") ; (* Cursor down : Cursorblock unten mitte    *) 
+enter incode ( 11, ""142"") ; (* RUBIN/Insert: Cursorblock oben links     *) 
+enter incode ( 12, ""127"") ; (* RUBOUT/Delete:DELETE-Taste               *) 
+enter incode ( 16, ""143"") ; (* MARK        : Cursorblock oben rechts    *) 
+enter incode ( 17, ""193"") ; (* Stop        : Funktionstaste F1          *) 
+enter incode ( 23, ""195"") ; (* Weiter      : Funktionstaste F3          *) 
+enter incode ( 31,   ""8"") ; (* Backspace   : (2x) gerahmter Linkspfeil  *) 
+ 
+enter incode (214,  ""91"") ; 
+enter incode (215,  ""92"") ; 
+enter incode (216,  ""93"") ; 
+enter incode (217, ""123"") ; 
+enter incode (218, ""124"") ; 
+enter incode (219, ""125"") ; 
+enter incode (251, ""126"") ; 
+ 
+enter incode ( 0,  ""24"") ;  (* CE *) 
+enter incode ( 5, ""196"") ;  (* F4 *) 
+enter incode ( 6, ""197"") ;  (* F5 *) 
+enter incode (14, ""198"") ;  (* F6 *) 
+enter incode (15, ""199"") ;  (* F7 *) 
+enter incode (18, ""200"") ;  (* F8 *) 
+enter incode (19, ""201"") ;  (* F9 *) 
+enter incode (20, ""202"") ;  (* F10 *) 
+enter incode (21, ""203"") ;  (* F11 *) 
+enter incode (22, ""204"") ;  (* F12 *) 
+enter incode (24, ""205"") ;  (* F13 *) 
+enter incode (25, ""206"") ;  (* F14 *) 
+enter incode (26, ""207"") ;  (* F15 *) 
+enter incode (28, ""209"") ;  (* SHIFT F1 *) 
+enter incode (29, ""210"") ;  (* SHIFT F2 *) 
+enter incode (30, ""211"") ;  (* SHIFT F3 *) 
+ 
+enter incode (126,""165"") ;  (* CTRL  F5 *) 
+enter incode (91, ""166"") ;  (* CTRL  F6 *) 
+enter incode (92, ""167"") ;  (* CTRL  F7 *) 
+enter incode (93, ""168"") ;  (* CTRL  F8 *) 
+enter incode (123,""169"") ;  (* CTRL  F9 *) 
+enter incode (124,""170"") ;  (* CTRL  F10 *) 
+enter incode (125,""171"") ;  (* CTRL  F11 *) 
+ 
+enter incode (251, ""213"") ; (* SHIFT F5 = � *) 
+                              (* SHIFT F6 = � 
+Andere incodes schon Hardware-   SHIFT F7 = � 
+m��ig implementiert:             SHIFT F8 = � 
+                                 SHIFT F9 = � 
+                                 SHIFT F10= � 
+                                 SHIFT F11= � 
+                                 SHIFT F12= Trenn-k           ( k ) 
+                                 SHIFT F13= Trenn-Strich      ( - ) 
+                                 SHIFT F14= Gesch�tztes Fis   ( # ) 
+                                 SHIFT F15= Gesch�tztes Blank (   ) *) 
+ 
+PROC illegal (INT CONST from, to) : 
+ INT VAR i ; 
+ FOR i FROM from UPTO to REP 
+  enter outcode (i, 127)
+ PER 
+ENDPROC illegal ; 
diff --git a/system/terminal-codes/unknown/src/basis108(info) b/system/terminal-codes/unknown/src/basis108(info)
new file mode 100644
index 0000000..421c803
--- /dev/null
+++ b/system/terminal-codes/unknown/src/basis108(info)
@@ -0,0 +1,107 @@
+                                      (* Terminaltyp: Basis108 *) 
+                                      (* Keyboard   : Deutsch  *) 
+                                      (* Zeichensatz: Deutsch  *) 
+                                      (* Stand      : 19.06.86 *) 
+                                      (* Mit 'info'-Taste auf => *) 
+                                      (* Ohne sz auf SHIFT F5  *) 
+ 
+forget  ("basis108(info)", quiet) ; 
+new type ("basis108(info)") ; 
+ 
+cursor logic  (0, ""6"", "", "") ; 
+ 
+(* Nicht im EUMEL-Zeichensatz definierte Steuerzeichen *) 
+illegal (11, 12) ; 
+illegal (16, 31) ; 
+illegal (128, 213) ; 
+illegal (224, 250) ; 
+illegal (252, 255) ; 
+ 
+enter outcode (14, 0, " "14"") ; 
+enter outcode (15, 0, ""15" ") ; 
+ 
+enter outcode (91,  0, ""15"("14"") ; 
+enter outcode (92,  0, ""15"/"14"") ; 
+enter outcode (93,  0, ""15")"14"") ; 
+enter outcode (123, 0, ""15"<"14"") ; 
+enter outcode (124, 0, ""15"!"14"") ; 
+enter outcode (125, 0, ""15">"14"") ; 
+enter outcode (126, 0, ""15"`"14"") ; 
+ 
+enter outcode (214,  91) ; 
+enter outcode (215,  92) ; 
+enter outcode (216,  93) ; 
+enter outcode (217, 123) ; 
+enter outcode (218, 124) ; 
+enter outcode (219, 125) ; 
+enter outcode (251, 126) ; 
+ 
+enter outcode (220, 0, ""15"k"14"") ; 
+enter outcode (221, 0, ""15"-"14"") ; 
+enter outcode (222, 0, ""15"#"14"") ; 
+enter outcode (223, 0, ""15" "14"") ; 
+ 
+enter incode (  1, ""192"") ; (* Home        : Cursorblock mitte          *) 
+enter incode (  2, ""149"") ; (* Cursor right: Cursorblock mitte rechts   *) 
+enter incode (  3, ""139"") ; (* Cursor up   : Cursorblock oben mitte     *) 
+enter incode (  4,  ""21"") ; (* Info usw.   : Cursorblock unten rechts   *) 
+enter incode (  7, ""194"") ; (* SV - Call   : Funktionstaste F2          *) 
+enter incode (  8, ""136"") ; (* Cursor left : Cursorblock mitte links    *) 
+enter incode ( 10, ""138"") ; (* Cursor down : Cursorblock unten mitte    *) 
+enter incode ( 11, ""142"") ; (* RUBIN/Insert: Cursorblock oben links     *) 
+enter incode ( 12, ""127"") ; (* RUBOUT/Delete:DELETE-Taste               *) 
+enter incode ( 16, ""143"") ; (* MARK        : Cursorblock oben rechts    *) 
+enter incode ( 17, ""193"") ; (* Stop        : Funktionstaste F1          *) 
+enter incode ( 23, ""195"") ; (* Weiter      : Funktionstaste F3          *) 
+enter incode ( 31,   ""8"") ; (* Backspace   : (2x) gerahmter Linkspfeil  *) 
+ 
+enter incode (214,  ""91"") ; 
+enter incode (215,  ""92"") ; 
+enter incode (216,  ""93"") ; 
+enter incode (217, ""123"") ; 
+enter incode (218, ""124"") ; 
+enter incode (219, ""125"") ; 
+enter incode (251, ""126"") ; 
+ 
+enter incode ( 0,  ""24"") ;  (* CE *) 
+enter incode ( 5, ""196"") ;  (* F4 *) 
+enter incode ( 6, ""197"") ;  (* F5 *) 
+enter incode (14, ""198"") ;  (* F6 *) 
+enter incode (15, ""199"") ;  (* F7 *) 
+enter incode (18, ""200"") ;  (* F8 *) 
+enter incode (19, ""201"") ;  (* F9 *) 
+enter incode (20, ""202"") ;  (* F10 *) 
+enter incode (21, ""203"") ;  (* F11 *) 
+enter incode (22, ""204"") ;  (* F12 *) 
+enter incode (24, ""205"") ;  (* F13 *) 
+enter incode (25, ""206"") ;  (* F14 *) 
+enter incode (26, ""207"") ;  (* F15 *) 
+enter incode (28, ""209"") ;  (* SHIFT F1 *) 
+enter incode (29, ""210"") ;  (* SHIFT F2 *) 
+enter incode (30, ""211"") ;  (* SHIFT F3 *) 
+ 
+enter incode (126,""165"") ;  (* CTRL  F5 *) 
+enter incode (91, ""166"") ;  (* CTRL  F6 *) 
+enter incode (92, ""167"") ;  (* CTRL  F7 *) 
+enter incode (93, ""168"") ;  (* CTRL  F8 *) 
+enter incode (123,""169"") ;  (* CTRL  F9 *) 
+enter incode (124,""170"") ;  (* CTRL  F10 *) 
+enter incode (125,""171"") ;  (* CTRL  F11 *) 
+ 
+                              (* SHIFT F6 = � 
+Andere incodes schon Hardware-   SHIFT F7 = � 
+m��ig implementiert:             SHIFT F8 = � 
+                                 SHIFT F9 = � 
+                                 SHIFT F10= � 
+                                 SHIFT F11= � 
+                                 SHIFT F12= Trenn-k           ( k ) 
+                                 SHIFT F13= Trenn-Strich      ( - ) 
+                                 SHIFT F14= Gesch�tztes Fis   ( # ) 
+                                 SHIFT F15= Gesch�tztes Blank (   ) *) 
+ 
+PROC illegal (INT CONST from, to) : 
+ INT VAR i ; 
+ FOR i FROM from UPTO to REP 
+  enter outcode (i, 127)
+ PER 
+ENDPROC illegal ; 
diff --git a/system/terminal-codes/unknown/src/ws580 b/system/terminal-codes/unknown/src/ws580
new file mode 100644
index 0000000..2a2c0dd
--- /dev/null
+++ b/system/terminal-codes/unknown/src/ws580
@@ -0,0 +1,62 @@
+TEXT VAR  name :="ws580"; 
+command dialogue (FALSE); forget (name); 
+new type (name);
+cursor logic (32,""27"Y","","");
+ 
+enter incode (   2,  ""6"");                 (* rechts *)
+enter incode (   3,  ""26"");                (* oben   *)
+enter incode (   7,  ""2"");                 (* sv     *)
+enter incode (   8,  ""21"");                (* links  *)
+enter incode (  11,  ""94"");                (* rubin  *) 
+enter incode (  12,  ""8"");                 (* rubout *)
+enter incode (  16,  ""96"");                (* mark   *)
+enter incode (  23,  ""19"");                (* weiter *)
+ 
+enter incode ( 214, ""91"");                 (*  �  *) 
+enter incode ( 215, ""92"");                 (*  �  *) 
+enter incode ( 216, ""93"");                 (*  �  *) 
+enter incode ( 217, ""123"");                (*  �  *) 
+enter incode ( 218, ""124"");                (*  �  *) 
+enter incode ( 219, ""125"");                (*  �  *) 
+enter incode ( 251, ""126"");                (*  �  *) 
+ 
+enter outcode (  1, 0, ""27"Y  ");           (* home   *)
+enter outcode (  2, 0, ""6"");               (* rechts *) 
+enter outcode (  3, 0, ""26"");              (* oben   *) 
+enter outcode (  4, 0, ""27"k");             (* cleop  *) 
+enter outcode (  5, 0, ""27"K");             (* cleoln *) 
+enter outcode ( 14, 0, ""47"");              (* endmrk *) 
+enter outcode ( 15, 0, ""47"");              (* mark   *) 
+ 
+clear all 8 bit chars; 
+ 
+enter outcode ( 91, "(");          (*   [   *)
+enter outcode ( 92, "!");          (*   \   *)
+enter outcode ( 93, ")");          (*   ]   *)
+enter outcode (123, "(");          (*       *)
+enter outcode (124, "!");          (*   |   *)
+enter outcode (125, ")");          (*       *)
+enter outcode (126, "-");          (*   ~   *) 
+ 
+enter outcode (214, ""91"");       (*   �   *)
+enter outcode (215, ""92"");       (*   �   *)
+enter outcode (216, ""93"");       (*   �   *)
+enter outcode (217, ""123"");      (*   �   *)
+enter outcode (218, ""124"");      (*   �   *)
+enter outcode (219, ""125"");      (*   �   *)
+enter outcode (251, ""126"");      (*   �   *) 
+ 
+enter outcode (220, "k");          (* trenn k *) 
+enter outcode (221, "-");          (* trenn - *)
+enter outcode (222, "#");          (* kdo   # *) 
+enter outcode (223, " ");          (* trenn   *)
+ 
+command dialogue (TRUE). 
+ 
+ 
+clear all 8 bit chars : 
+  INT VAR i; 
+ 
+  FOR i FROM 128 UPTO 255 REP 
+    enter outcode (i, " "); 
+  PER.
-- 
cgit v1.2.3