:Program. Terminal :Author. Volker Rudolph :Address. Medicusstr. 31 / 6750 Kaiserslautern :Phone. 0631/17160 :ShortCut. [vor] :Date. 1.8.89 :Copyright. PD :Language. Modula-II :Translator. M2Amiga 3.2d :Imports. Nichts :Remark. Es wird das Original-Terminal.sym verwendet Terminal ist ein Ersatz für das gleichnamige Bibliotheksmodul des M2Amiga Modula-Compilers. Es ist zu diesem 100-prozentig kompatibel und hat die gleichen Funktionen. Der große Unterschied besteht darin, daß dieses Terminal-Modul die Ausgaben puffert. Das heißt, daß bei 'Write'-Aufrufen die Zeichen nicht sofort ausgegeben werden, sondern das Terminal-Modul speichert sie in einem Array zwischen und erst wenn dieses voll ist, wird es auf einmal auf dem Bildschirm ausgegeben. Der Vorteil dieser Methode ist, daß sich die Textausgabe bis auf das 20-fache beschleunigt. Ein anderer Unterschied besteht bei Programmaufrufen von der Workbench. Das normale Terminal-Modul erzeugt ein Fenster mit Close-Gadget. Der Programmieraufwand (und damit die Programmlänge) für dieses Close-Gadget erschien mir im Verhältnis zum Nutzen zu groß, und so habe ich mich für eine andere Lösung entschie- den: Am Programmende wartet das Programm auf die Return-Taste. Der Puffer wird geleert bei: Ausgabe eines CR (12C) = WriteLn Ausgabe einer ASCII-Null (0C) Bei einem Read(char)-Aufruf Wenn der Puffer voll ist Das Leeren des Puffers bei 0C ermöglicht dem Programmierer auch einzelne Zeichen sofort auszugeben. z.B. Write('*'); Write(0C); Dabei wird das Zeichen 0C NICHT geschrieben ! Von dem Terminal-Modul existiert nur der Implementations-Teil. Es wird das SYM-File des Original-Terminals verwendet. Das hat den Vorteil, daß alle anderen Blibliotheks-Module, die Terminal importieren (InOut, RealInOut etc.), automatisch auf das neue Terminal zugreifen. Zum Arbeiten mit dem gepufferten Terminal-Modul muß man: 1. Kompilieren: 'm2c Terminal.MOD' 2. Das alte Terminal.obj durch das neue ersetzen: 'Copy OBJ/Terminal.OBJ M2:Modules' Eigene Programme, die das neue Terminal-Modul benutzen sollen, brauchen nur neu gelinkt zu werden. Das Beispielprogramm Termtest zeigt eindruckvoll die Geschwindigkeits- steigerung zwischen 'Ohne Pufferung' und 'Pufferung'.