Installation Z1013

Fachgruppe FORTH Kulturbund der DDR

Willkommen bei Forth 83 für Z1013!

Herzlichen Glückwunsch zur Entscheidung für Forth! Bevor es richtig losgehen kann, ein paar hinweise zur Installation der vorliegenden Version FORTH83 1.3 für alle Rechner, in denen kein Sprungverteiler und kein HEADERSAVE im ROM enthalten ist (Monitore 2.2 und A.2).

Auf Ihrer Programmkassette befinden sich außer dem FORH83 1.3 das Programm HEADERSAVE und das Quelltextfile PUT/GET. Zuerst laden Sie bitte HEADERSAVE. Dieses Programm kennen Sie vielleicht schon. Es ist ein universelles Werkzeug zum nutzergrechten Laden und Abspeichern von Daten und Programmen auf Magnetbandkassette und existiert in zwei Versionen; für 64 kByte (bzw. zusätzlicher RAM ab 0E000H) und für 16 kByte RAM. Geladen wird mit L E000 E3FF bzw. L 3C00 3FFF. Jetzt und im Folgenden werden alle Kommandos stets mit der ENTER-Taste (Return-Taste) abgeschlossen.

Haben Sie dies erfolgreich hinter sich gebracht, so starten Sie HEADERSAVE mit J E3EE bzw. J 3FEE. Als Ergebnis erhalten Sie eine Fehlermeldung. Passiert etwas anderes, so haben Sie etwas falsch gemacht. Die Fehlermeldung signalisiert diesmal, das alles o.k. ist! Nun laden Sie bitte das Forth-System mit Hilfe des HEADERSAVE-Programms. Schreiben Sie @LXX und schließen Sie das Kommando beim Ertönen des Vortons mit ENTER ab. Das Forth-System aber noch nicht starten! Verwenden Sie den Originalmontitor (2.2), müsssen Sie mit MODIFY ab Adresse 363H eintragen: E7 04 26.

Nun machen Sie Ihr Forth-System komplett. Laden Sie mit HEADSERSAVE das Forth-Quelltextfile PUT/GET in der richtigen Version (bei Benutzung einer Alpha-Tastatur, ggf. mit Brosig-Monitor, ist PUT/GET ALPHA zu nutzen): @LXX. Ist das erledigt, starten Sie das Forth-System mit J 200. Ab jetzt arbeiten Sie nur noch in Forth. Bei der Beschreibung der folgenden Kommandos wird das Leerzeichen durch den Unterstrich ( _ ) dargestellt, weil in Forth Leerzeichen außerordentlich wichtig sind.

Zuerst geben Sie 1_4_THRU ein. Achten Sie auf die Leerzeichen! PUT/GET wird damit in das FORTH-System compiliert. Wenn Sie in Ihrem Rechner keinen Sprungverteiler (ab 0FFF1H) benutzen, müssen Sie nun noch einige Adressen ändern:

I/O_HEX_0E003_'_SARUF_2+_!     I/O_HEX_03C03_'_SARUF_2+_!
0E000_'_LORUF_2+_!             03C00_'_LORUF_2+_!
(Headersave ab 0E000h)         (Headersave ab 03C00h)

Mit COLD frieren Sie nun das so geänderte Forth-System ein. Wenn Sie in Ihrem Rechner mit 64 kByte RAM arbeiten, können Sie nun noch das Forth-System in die richtige Größe bringen:

HEX_8000_337_!_8000_339_!_0E000_33B_!_COLD

Als krönenden Abschluß speichern Sie Ihre so entstandene neue Forth-Installation (Arbeitsversion) mit SAVE-SYSTEM auf Kassette ab. Wählen Sie einen sinnfälligen Namen für diese Variante, mit der Sie ab jetzt nur noch arbeiten sollten. Das Originalsystem gehört in das Programmarchiv - für alle Fälle und zum Weitergeben!

Hinweis: Laden Sie künftig immer zuerst HEADERSAVE und damit dann das Forth-Programm mit @L. Sie sollten auch das HEADERSAVE- Programm danach nicht löschen und nicht überschreiben, denn FORTH83 benutzt es bei Ein- und Ausgaben auf Kassette.

Bitte geben Sie tatsächlich immer nur das Originalsystem weiter und überlassen Sie dem nächsten Nutzer das Installieren seines eigenen Systems. Nur so kann garantiert werden, daß stets ein fehlerfreies System weitergegeben wird.

Bedenken Sie, daß das Grundsystem für 16 kByte RAM eine zwar funktionsfähige Forth-Version ist, aber nur über ungenügend Speicherplatzreserven verfügt. Mann kann in dieser Konfiguration stets nur ein Quellprogramm zuladen, falls es überhaupt in der relativ kleinen RAM-Disk Platz findet. Sollte es beim Laden von RAM-Disk zur Kollision von Dictionary und Stack kommen (zu wenig Platz), ist das System nicht mehr zu retten. Dann hilft nur noch die Reset-Taste und Neuladen.

Glossar der Kassettenbedienworte

GET ( n – ) Voc FORTH
liest ab Screen n über den Header von RAM-Disk.

PUT ( n1 n2 – ) Voc FORTH
schreibt von Screen n1 bis Screen n2 einschließlich in die RAM-Disk.

SAVE-SYSTEM ( – ) Voc FORTH
schreibt das gesamte aktuelle System einschließlich eingebrachter Erweiterungen auf Kassette.

MORE ( – ) Voc FORTH
wiederholt den vorangegangenen Lese/Schreibvorgang von/auf Kassette mit dem gleichen Kopf.

Ergänzungen für Fortgeschrittene und Eingeweihte:

Im Bereich von 200H bis 31FH leigt eine Verzögerungsschleife für die Tastatureingabe-Funktion. sie ist über RST 18H in das Forth-System eingebunden. Ein Um-Installierung dieses Restarts oder seine anderweitige Nutzung führen in der Regel zum Systemabsturz. Allerdings ist die Hilfsroutine nur beim A.2-Monitor nötig. Benutzt man einen anderen Monitor, kann dieser Bereich anderweitig genutzt werden. Es empfiehlt sich in diesem Falle, das System vor der Abspeicherung mit SAVE-SYSTEM diesen neuen Bedingungen anzupassen: HEX_320_'_PRAN_2+_! Die neue Startadresse des Systems liegt dann bei 320H. Diese Version aber bitte nicht weitergeben!

Ab ORIGIN (320H, das ist die Leitadresse des FORTH-Systems) sind 100H für die Anpassung der I/O-Routinen und für die User-Area reserviert. Es gilt folgende Aufteilung:

ORIGIN +
--------

00H	NOP
 	JMP COLD 	; Kaltstartroutine, Interrupt-Initialisierung
04H	NOP 	
 	JMP WARM 	; Warmstartroutine
08H	JMP CI 		; warte auf Tastaturbetätigung
0BH	JMP CO 		; Zeichenausgabe auf Console
0EH	JMP CSTS 	; True (-1), wenn Taste gedrückt, kein Warten
11h	JMP LO 		; Zeichenausgabe auf Drucker
14H	JMP BYE 	; Sprung zum Betriebssytem
17H	DW TOP 		; oberste vom FORTH nutzbare Adresse
19H	DW SOD 		; erste Adresse, die die RAM-Disk belegen kann
1BH	DW EOD 		; letzte Adresse, die die RAM-Disk belegen kann

1DH - 0BFH 		; Platz für I/O-Anpassungen

0C0H - 0FFH 		; für USER-Area reserviert

Alle I/O-Routinen verhalten sich FORTH-typisch, d.h. sie erwarten ihre Parameter auf dem Stack bzw. hinterlassen sie dort. Als Datenstack benutzt FORTH den Hardwarestack des Rechners. Die Routinen müssen bei Bedarf den Instruction-Pointer (BC-Register) und den Returnstack-Pointer (IY-Register) retten und mit einem Sprung nach NEXT (ORIGIN+102H) enden.

Zur Installation muessen die Routinen in den reservierten Bereich eingetragen und die gezeigten Sprungvektoren aktualisiert werden. Die Aufrufe der I/O-Routinen und die Behandlung der RAM-Disk ist im Vokabular I/O untergebracht. Es empfiehlt sich, die betreffenden Worte mit Hilfe des Decompiler's SEE 'name' zu studieren.

Die Größe der RAM-Disk wird vom FORTH selbstständig aus dem in der Boot-Area enthaltenen Werten errechnet und bei Neustart in das Forth-System übernommen. Eine Änderung von Konstanten im FORTH ist daher nicht nötig. Es sind die Blöcke 1 bis MAX# (Diskgröße / B/BUF) verfügbar. Ein Zugriff auf nicht vorhandene Blöcke führt zu einer Fehlermeldung.

Als Literatur zu FORTH-83 kann bis auf weiteres nur

R. Zech: „Forth 83“ (Franzis-Verlag)

empfohlen werden. Das von der FG FORTH vertriebene System ist abwärtskompatibel zu dem im vorgenannten Buch beschriebenen. Zum Erlernen von Forth eignet sich der Forth-Kurs in der Zeitschrift „Mikroprozessortechnik“. Vertiefende Studien erlaubt die Übersetzung von G.-U. Vack: „Der Standard Forth 83“, herausgegeben von der KdT, BVo Suhl. Vom gleichen Autor ist ein weiteres Buch zu Forth 83 angekündigt. Ein Glossar zum FORTH-83 der Fachgruppe FORTH ist als Disketten- bzw. Kassetten-Files (Z1013) bei der Fachgruppe FORTH (Andreas Driesel) erhältlich. Es ist geplant, dieses Forth-System auch für den Bildungscomputer A 5105 zu vertreiben. Damit in Zusammenhang wird das Institut für Film, Bild und Ton eine Broschüre herausgeben, in der das Glossar ebenfalls enthalten ist.


Der Inhalt dieses Informationsblattes wurde von folgenden Mitgliedern der Fachgruppe FORTH gestaltet: Michael Balig, Dr. Thomas Beierlein, Andreas Driesel, Ulrich Lange.

Wenn Sie Lust haben, in unserer Fachgruppe FORTH mitzuarbeiten bzw. Mitglied werden möchten, so steht dem nichts entgegen, Sie können sich an einen der Vorgenannten wenden oder einfach zu einem Treff unserer Gruppe nach Leipzig kommen (jeden 4. Donnerstag eines Monatsum 17.00 Uhr im Klubhaus „Walter Barth“ in 7050 Leipzig- Paunsdorf, Schwedenstr. 30). sie müssen aber weder bereits Forth-Expert noch Leipziger sein; es gibt in unserer Gruppe das ganze Spektrum vom eingefuchsten Profi bis zum blutigen Anfänger, und wir haben Mitglieder in der ganzen DDR, mit den wir brieflich zusammenarbeiten. Unsere Fachgruppe gibt ein vierteljährlich erscheinendes Informationsblatt heraus, das alle Mitglieder zugeschickt bekommen. Außerdem veranstalten wir pro Jahr zwei Tagungen zu den verschiedensten Aspekten von Forth.

übrigens: FORTH ist die Antwort!
(Was war eigentlich die Frage?)