VolksForth/8080/AmstradCPC/READ.ME
2022-08-18 13:49:17 +02:00

130 lines
5.2 KiB
Plaintext

Ä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.
2. Ä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.
3. Ä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.
4. Ä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.
5. 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:
#+begin_example
A> kernel fileint.scr
1 load
use primed.scr 1 load
use terminal.scr
#+end_example
6. Erstellen eines Standard-Systems
- Mit folgender Kommandosequenz wird aus =KERNEL.COM= das File
=VOLKS4TH.COM= gemacht:
#+begin_example
A> kernel fileint.scr
1 load
include startup.scr
#+end_example
7. 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.