2024/2025 habe ich das FG FORTH83 d. DDR an den AC1 angepasst. Es läuft auf allen Systemen, speziell für den picoAC1 gibt es I/O-Routinen zur Nutzung der SD-Karte.
Dateiname | FORTH83 |
Laden in | OS (mon3.1, …) |
Programmstandort | 2000h-46FFh |
8000h-BFFFh RAM-Disk | |
OS-Kommando | f |
Das Forth (incl. Varianten) und Programme werden als Z80-Dateien auf der SD-Karte abgelegt, z.B. in einem Ordner „forth“.
im Mon wird zuerst die Datei getput_pico.Z80
laden (nach 8000h), dann forth83
.
Forth wird gestartet mit einer der drei Möglichkeiten:
f J: J 2000
In Forth werden die bereits in der RAM-Disk stehenden I/O-Routinen compiliert mit 1 6 THRU
. Ab jetzt stehen die Worte .FILES, GET, PUT
zur Verfügung (s. I/O). Mit .FILES
wird das aktuelle Verzeichnis gelistet. Mit 1 GET filename
lädt man eine Datei in die interne RAM-Disk. Nach dem Laden wird die Zahl der geladenen Screens angezeigt (#scr n). Mit 1 n THRU
erfolgt üblicherweise das Compilieren des geladenen Programms, es gibt aber auch Ausnahmen!
Gespeichert wird mit 1 n PUT filename
. Dieses Kommando speichert Screen 1 bis n auf SD-Karte unter dem Namen „filename“ im Z80-Format. Als Typ wird „F“ (für Forth-Datei) eingetragen. Ein Dateityp wird nicht automatisch an den Filenamen angehängt!
as_z80 forth83.asm erzeugt forth83.z80, Adresse 2000-46FF starten mit "f" (oder J 2000), Restart mit "r" Fullscreen-Editor Sedit_AC1.Z80 extern laden (nach 8000), Forth starten 1 LOAD Anwenden: n EDIT (editiert Screen n, n = 1..xx) SEE - Dekompiler SEE vp.z80 extern laden (nach 8000), Forth starten 1 10 THRU Anwenden: SEE xxx Datei-Arbeit getput_ac1pico.Z80 extern laden (nach 8000), Forth starten 1 6 THRU Anwenden: .FILES (DIR) n GET fname (Lädt File ab Screen n) MARK EMPTY HERE FENCE ! SAVE-SYSTEM FORTH83A3 speichert das gesamte Forth incl. Pakete
Die Beispiele können auch am originalen AC1 getestet werden. Dazu verlässt man Forth, lädt die Datei im Monitor-Modus nach 8000h, und geht dann zu Forth zurück (mit „f“).
Am picoAC1 werden die Dateien direkt unter Forth geladen, z.B. „1 GET LINED.Z80“. Groß-/Kleinschreibung des Dateinamens ist egal.
1 6 THRU 1 EDIT \ Screen 1 bearbeiten ... DONE
demonstriert, wie der „Turm von Hanoi“ optimal gelöst wird. n HANOI
startet das Programm für n (≤ 5) Scheiben.
1 5 THRU 3 HANOI \für 3 Scheiben
nach L. Brodie, erzeugt witzige Texte
1 5 THRU \ Screen 6..10 enthalten Textbausteine TEXT \ nach jedem Absatz ENTER drücken NOCHMAL \ gibt letzten erzeugten Text nochmal aus