VolksForth/8080/AmstradCPC/README-german.org
2022-08-18 13:50:20 +02:00

5.2 KiB

Änderungen im CP/M-volksFORTH von Version 3.80 zu Version 3.80a UH 04Mär88 ===========================================================================

Die Unverträlichkeit des ursprünglichen CP/M-volksFORTHs mit CP/M+ und die damit verbundene Vielzahl von unterschiedlichen Versionen hat eine allgmeine Überarbeitung des CP/M-volksFORTHs notwendig gemacht.

Bei dieser Gelegenheit wurden gleich einige Fehler beseitigt und einige neue Funktionen eingeführt.

  1. Änderungen im Kern (SOURCE.SCR)

    • Die Terminal-Ein- und Ausgabe wurde auf ein Mindestmaß begrenzt, sodaß auch unmittelbar mit dem Kern gearbeitet werden kann. Es gibt keinen Zeileneditor für die Eingabezeile mehr, dieser wurde zusammen mit der "Terminal:" Funktion in die Datei XINOUT.SCR ausgelagert.
    • Der Kern enthält kein Fileinterface mehr, sondern arbeitet nur in dem File, welches bei Aufruf in der Kommandozeile mit angegeben wird (default-file). Typischerweise wird mit diesem Mechanismus zuerst das File-Interface geladen.
    • Direkter Diskettenzugriff wird im Kern nicht mehr unterstützt, da er unter CP/M+ nicht problemlos zu implementieren ist. Außerdem kann in Ermangelung eines CP/M+ Systems der Code hier nicht getestet werden. Diskettenzugriff findet nur noch über das BDOS statt.
    • Zahlreiche Funktionen des Kerns wurden neu überarbeitet und in Code geschrieben, als wichtige neue Funktion des Kerns ist "search" hinzugekommen, das eine schnelle Suche mit Berücksichtigung der Groß/Klein- schreibung ermöglicht.
    • Die Funktion CAPITALIZE ist durch die ähnliche Funktion UPPER ersetzt worden. Das EXIT in NAME verschiebt sich dadurch.
    • Der Kern gibt beim Verlassen eine Größenangabe in (256 Byte)-Seiten aus. Diese Angabe kann direkt benutzt werden, um mit dem CP/M SAVE Kommando das System auf Diskette zu schreiben. (Forth: SAVE nicht vergessen! )
    • SAVE-BUFFERS ist um ein defered Wort SAVE-DOS-BUFFERS erweitert worden. Damit sollte der lästige CP/M+ Fehler ausgeschaltet sein.
    • Das defered Wort POSTLUDE regelt die letzte Handlung des Systems vor dem CP/M Warmstart (Cursor anschalten, Bildschirm löschen oder Systemgröße ausgeben…)
    • Die Kommandozeile des Aufrufs wird in den TIB kopiert und kann dort interpretiert werden. Das Öffnen des default-Files löscht allerdings den TIB wieder, sodaß diese Funktion erst ausgenutzt werden kann, wenn das Fileinterface geladen ist. (DRVINIT öffnet nicht mehr das default-File.)
    • Die Interpret-Loop wurde überarbeitet und um das Wort PROMPT erweitert. Das Sonderwort >INTERPRET ist weggefallen. Seine Funktion übernimmt jetzt das (normale) defered Wort PARSER.
    • Die Kontrollstruktur-Anweisungen (IF, WHILE … ) sind jetzt auch inter- aktiv verwendbar.
    • Diverse kleinere Änderungen haben stattgefunden.
  1. Änderungen im Editor (Dateien EDITOR.SCR, STRING.SCR)

    • Das Markieren der Screens wurde korrigiert und geschieht jetzt auch beim Suchen/Ersetzen und bei showload richtig.
    • VIEW wurde geändert und sucht nun nach dem in Blanks eingerahmten Wort.
    • Es wird nun zusätzlich das Associative File angezeigt.
    • Beim Suchen/Ersetzen wird die Screennummer hochgezählt, um eine Kontrolle über das Suchen zu geben.
    • Die Textsuche ist nun schon im Kern definiert, die elementaren Stringfunktionen sind mit in das EDITOR.SCR genommen worden. STRING.SCR ist daher entfallen.
  2. Änderungen im Multi-Tasker (TASKER.SCR)

    • Das Wort TASK wurde geändert: Die Konstante ist nun vor der Task definiert. Man kann also nun mit FORGET <taskname> tatsächlich die Task vergessen.
    • Der PAUSE/WAKE/STOP-Mechanismus wurde geändert. In der Benutzung ergibt sich daraus keine Änderung.
  3. Änderungen im Fileinterface (FILEINT.SCR)

    • Das Fileinterface wurde überarbeitet und einige Fehler beseitigt. Die Namen zahlreicher Worte haben sich geändert, sind dadurch aber systematischer geworden. Die Funktionen sind im Wesentlichen gleich geblieben.
  1. Terminal-Installation (Zusatz zu Anpassung von VolksForth an den Computer)

    • Da der Kern kein Fileinterface mehr enthält, muß dies noch vor dem Primitivst-Editor geladen werden. Es ergibt sich also die Kommandosequenz:

           A> kernel fileint.scr
              1 load
              use primed.scr  1 load
              use terminal.scr
      
  2. Erstellen eines Standard-Systems

    • Mit folgender Kommandosequenz wird aus KERNEL.COM das File VOLKS4TH.COM gemacht:

      A> kernel fileint.scr
               1 load
               include startup.scr
      
  3. Neue Dateien auf der Diskette

    • READ.ME diese Datei
    • XINOUT.SCR Terminalfunktionen und Zeileneditor für Eingabe
    • COPY.SCR Die Funktionen COPY und CONVEY (früher im Kern).
    • STRING.SCR Entfällt, da in EDITOR.SCR und SOURCE.SCR integriert.