diff options
| author | Lars-Dominik Braun <lars@6xq.net> | 2019-02-07 09:16:14 +0100 | 
|---|---|---|
| committer | Lars-Dominik Braun <lars@6xq.net> | 2019-02-07 09:16:14 +0100 | 
| commit | aa147d2f6fd3151c416a70793e00b36b63a19215 (patch) | |
| tree | 4c135dfb99ee25bf1f9b08300ece8cc370124fec /system/at/1.8.7/src/AT Generator | |
| parent | 04e68443040c7abad84d66477e98f93bed701760 (diff) | |
| download | eumel-src-aa147d2f6fd3151c416a70793e00b36b63a19215.tar.gz eumel-src-aa147d2f6fd3151c416a70793e00b36b63a19215.tar.bz2 eumel-src-aa147d2f6fd3151c416a70793e00b36b63a19215.zip | |
Move AT utilities into own package
Diffstat (limited to 'system/at/1.8.7/src/AT Generator')
| -rw-r--r-- | system/at/1.8.7/src/AT Generator | 135 | 
1 files changed, 135 insertions, 0 deletions
| diff --git a/system/at/1.8.7/src/AT Generator b/system/at/1.8.7/src/AT Generator new file mode 100644 index 0000000..d3bfd6d --- /dev/null +++ b/system/at/1.8.7/src/AT Generator @@ -0,0 +1,135 @@ +(*************************************************************************) +(*** Generiert Für IBM-AT einen neuen SYSUR-Zweig.                     ***) +(*** Danach wird die eingebaute Hardwareuhr für die Systemzeit benutzt ***) +(*** und andere Partitionen können mit neuem 'shutup' gebootet werden. ***) +(***                                                                   ***) +(*** Autor : W. Sauerwein                             Stand : 15.07.86 ***) +(*************************************************************************) + +LET ack = 0, +    nak = 1; +  +cl eop (1, 4); +erzeuge collector; +erzeuge archive manager; +erzeuge operator; +erzeuge configurator; +loesche collector; +forget ("AT Generator", quiet); +break. + +loesche collector : +   end (/"colly"); +   put ("Collector gelöscht."); +   line (2). + +erzeuge collector : +   put line ("Generating 'Collector'..."); +   begin ("colly", PROC generate collector, t); +   warte auf meldung; +   IF answer = nak THEN end (/"colly"); +                        errorstop (meldung) +   FI. +   TASK VAR t. + +erzeuge archive manager : +   put line ("Generating 'ARCHIVE'..."); +   end (/"ARCHIVE"); +   begin ("ARCHIVE", PROC archive manager, t). + +erzeuge operator : +   put line ("Generating 'OPERATOR'..."); +   end (/"OPERATOR"); +   begin ("OPERATOR", PROC monitor, t). +  +erzeuge configurator : +   put line ("Generating 'configurator'..."); +   end (/"configurator"); +   begin ("configurator", PROC generate configurator, t);  +   warte auf meldung; +   IF answer = nak THEN errorstop (meldung) FI. +  +warte auf meldung :  +   DATASPACE VAR ds; INT VAR answer;  +   wait (ds, answer, t); +   BOUND TEXT VAR m := ds; +   TEXT VAR meldung := m; +   forget (ds). +  +PROC generate collector : + +   disable stop; +   fetch all (/"configurator"); +   DATASPACE VAR ds := nilspace; +   BOUND TEXT VAR m := ds; m := ""; +   send (father, mess, ds); +   forget (ds); +   free global manager. +  +mess : IF is error THEN m := error message; +                        nak +                   ELSE ack FI. + +END PROC generate collector; + +PROC generate configurator : + +   disable stop; +   fetch all (/"colly"); +   DATASPACE VAR ds := nilspace;  +   BOUND TEXT VAR m := ds; m := ""; +   send (father, mess, ds); +   forget (ds); +   enable stop; +   new configuration; +   setup; +   global manager (PROC ( DATASPACE VAR, INT CONST, INT CONST, TASK CONST)  +                   configuration manager with time). + +mess : IF is error THEN m := error message; +                        nak +                   ELSE ack FI. + +END PROC generate configurator; + +TEXT PROC inverse (TEXT CONST t): +  ""15"" + t + " " + ""14"" +END PROC inverse; + +PROC put center (TEXT CONST t): +   put center (t, 80) +END PROC put center; + +PROC put center (INT CONST zeile, TEXT CONST t): +   put center (zeile, t, 80) +END PROC put center; + +PROC put center (TEXT CONST t, INT CONST gesamtbreite): +   INT VAR cy; +   get cursor (cy, cy); +   put center (cy, t, gesamtbreite) +END PROC put center; + +PROC put center (INT CONST zeile, TEXT CONST t, INT CONST gesamtbreite): +   cursor ((gesamtbreite - length (t)) DIV 2, zeile); +   put (t). +END PROC put center; + +PROC cl eol:  +  out (""5"")  +END PROC cl eol; + +PROC cl eop:  +  out (""4"")  +END PROC cl eop;  +  +PROC cl eol (INT CONST cx, cy):  +   cursor (cx, cy);  +   cl eol  +END PROC cl eol;  +  +PROC cl eop (INT CONST cx, cy):  +   cursor (cx, cy);  +   cl eop  +END PROC cl eop;  + | 
