summaryrefslogtreecommitdiff
path: root/system/terminal-codes/1.8.2
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2019-02-11 11:49:19 +0100
committerLars-Dominik Braun <lars@6xq.net>2019-02-11 11:49:39 +0100
commit98cab31fc3659e33aef260efca55bf9f1753164c (patch)
treef1affa84049ef9b268e6c4f521f000478b0f3a8e /system/terminal-codes/1.8.2
parent71e2b36ccd05ea678e62e32ee6245df2b8d6ac17 (diff)
downloadeumel-src-98cab31fc3659e33aef260efca55bf9f1753164c.tar.gz
eumel-src-98cab31fc3659e33aef260efca55bf9f1753164c.tar.bz2
eumel-src-98cab31fc3659e33aef260efca55bf9f1753164c.zip
Add source files from Michael
Diffstat (limited to 'system/terminal-codes/1.8.2')
-rw-r--r--system/terminal-codes/1.8.2/src/AT.ascii(SHard>=4.5)74
-rw-r--r--system/terminal-codes/1.8.2/src/GEN182.ELA245
2 files changed, 319 insertions, 0 deletions
diff --git a/system/terminal-codes/1.8.2/src/AT.ascii(SHard>=4.5) b/system/terminal-codes/1.8.2/src/AT.ascii(SHard>=4.5)
new file mode 100644
index 0000000..ca9ba3d
--- /dev/null
+++ b/system/terminal-codes/1.8.2/src/AT.ascii(SHard>=4.5)
@@ -0,0 +1,74 @@
+(*************************************************)
+(* Typtabelle : AT.ascii(SHard>=4.5) *)
+(* Generiert am : 26.07.88 *)
+(* Version/Typ : 1.8.2/32001 *)
+(*************************************************)
+
+forget ("AT.ascii(SHard>=4.5)", quiet) ;
+new type ("AT.ascii(SHard>=4.5)") ;
+
+enter xsize (80) ;
+enter ysize (24) ;
+cursor logic (0, ""6"", "", "") ;
+
+(* Ausgabe Codes : *)
+enter outcode ( 0, 0, "") ;
+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 (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) ; (* <CTRL-U> *)
+
+
+(* Eingabe Codes : *)
+enter incode ( 7, ""7"") ; (* SV - Call : <CTRL-G> *)
+enter incode ( 4, ""4"") ; (* Info : <CTRL-D> *)
+enter incode ( 1, ""1"") ; (* HOP : <CTRL-A> *)
+enter incode ( 18, ""18"") ; (* Insert line : <CTRL-R> *)
+enter incode ( 96, "<") ; (* < *)
+enter incode (126, ">") ; (* > *)
+enter incode ( 64, """") ; (* " *)
+enter incode ( 35, ""252"") ; (* <252> *)
+enter incode ( 94, "&") ; (* & *)
+enter incode ( 38, "/") ; (* / *)
+enter incode ( 42, "(") ; (* ( *)
+enter incode ( 40, ")") ; (* ) *)
+enter incode ( 41, "=") ; (* = *)
+enter incode ( 45, "") ; (* <251> *)
+enter incode ( 95, "?") ; (* ? *)
+enter incode ( 61, "'") ; (* ' *)
+enter incode ( 43, "`") ; (* ` *)
+enter incode (121, "z") ; (* z *)
+enter incode ( 89, "Z") ; (* Z *)
+enter incode (122, "y") ; (* y *)
+enter incode ( 90, "Y") ; (* Y *)
+enter incode ( 60, ";") ; (* ; *)
+enter incode ( 62, ":") ; (* : *)
+enter incode ( 47, "-") ; (* - *)
+enter incode ( 63, "_") ; (* _ *)
+enter incode ( 59, "") ; (* <218> *)
+enter incode ( 58, ""215"") ; (* <215> *)
+enter incode ( 39, "") ; (* <217> *)
+enter incode ( 34, ""214"") ; (* <214> *)
+enter incode ( 91, "") ; (* <219> *)
+enter incode ( 93, "+") ; (* + *)
+enter incode (123, ""216"") ; (* <216> *)
+enter incode (125, "*") ; (* * *)
+enter incode ( 92, "#") ; (* # *)
+enter incode (124, "^") ; (* ^ *)
+
diff --git a/system/terminal-codes/1.8.2/src/GEN182.ELA b/system/terminal-codes/1.8.2/src/GEN182.ELA
new file mode 100644
index 0000000..43c3acf
--- /dev/null
+++ b/system/terminal-codes/1.8.2/src/GEN182.ELA
@@ -0,0 +1,245 @@
+(* Typtabellengenerierungsprogramm, Stand : 26.11.85 *)
+
+page ;
+putline ("- Erzeugen einer .gen Datei aus einer Typtabelle -") ;
+line ;
+BOUND STRUCT (INT maxx, maxy,
+ ROW 248 INT align,
+ ROW 128 INT outcodes,
+ ROW 128 INT instrings,
+ ROW 128 INT outstrings) 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, "(* Version/Typ : " + text ("1.8.2/32001", 30) + " *)") ;
+putline (f, "(" + 49 * "*" + ")") ;
+line (f) ;
+putline (f, "forget (""" + t + """, quiet) ;") ;
+putline (f, "new type (""" + t + """) ;") ;
+line (f) ;
+x := old (t, 32001) ;
+putline (f, "enter xsize ("+text (x.maxx)+") ;") ;
+putline (f, "enter ysize ("+text (x.maxy)+") ;") ;
+t := " " ;
+IF (x.outstrings (1) AND 255) = 2
+ THEN putline (f, "elbit cursor ;") ;
+ line (f) ;
+ ELSE write (f, "cursor logic (") ;
+ position := x.outstrings(2) ;
+ put (f, text (position AND 255) + ",") ;
+ position := (x.outcodes (4) AND 127) * 8+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)*8)
+ 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)*8)
+ ELSE numberput (code (t SUB 2))
+ FI ;
+ line (f)
+ FI ;
+PER ;
+line (f) ;
+line (f) ;
+
+putline (f, "(* Eingabe Codes : *)") ;
+i := 0 ;
+WHILE i < 256 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 < 256 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 4 : "Info "
+ 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 18: "Insert line "
+ 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 128 INT VAR y, INT CONST pos, ende) :
+ INT VAR i := pos ;
+ TEXT VAR t := " " , zeile := """" ;
+ laenge := 0 ;
+ WHILE i < 256 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
+
+