**Dies ist eine alte Version des Dokuments!**
Inhaltsverzeichnis
Gforth — GNU Forth für Android
Ziel ist es, Gforth als Programmierumgebung für Android zu verwenden.
Stand der Dinge
- Es gibt Gforth im Play Store das man direkt ab Android 2.3 installieren kann, Android 4.x ist aber besser (da geht dann auch Filme abspielen und so).
- Das kann über OpenGL eine Terminal-Emulation zeigen oder einen Terminal-Server bedienen (in der Datei
/sdcard/gforth/site-forth/starta.fsfestgelegt). Den Terminal-Server kann man mit einem einfachentund Return schnell vom Terminal starten, und sich dann mittelnet adresse 4444einloggen. Für das Gerät in der.telnetrcim Home-Verzeichnishostname mode charactereintragen. - Touchs werden auch schon erkannt, und der Menü-Button/Softkey togglet die Softwaretastatur
Beim ersten Mal Starten packt die App die Gforth-Dateien auf die SD-Karte aus. Das sind ein paar Megabyte, und dauert deshalb. Gforths Loader zeigt in dem Zustand einen Spinner, der am Ende kurz die Message „done; restart Gforth“ anzeigt. Falls diese länger sichtbar bleibt, sollte man Gforth killen und neustarten.
Das Terminal verwendet einen Fragment Shader, der weitgehend selbständig ein farbiges ASCII-Terminal realisiert - es bekommt dazu zwei Texturen, eine mit dem Zeichensatz, die andere mit Zeichen und Farbinformationen. Da dauert dann das Update des Terminal-Screens nur einige Millisekunden - so wie früher auch. Das Terminal ist auf einigen billigen Handys mit lausigen OpenGL-Implementierungen getestet, sollte also überall funktionieren.
Als Tastaturen empfehle ich:
Beispiele
Alle Android-Beispiele finden sich in /sdcard/gforth/<version>/minos2. Es gibt
minos2/gl-sample.fs: Eine einfache OpenGL-Demominos2/omx-example.fs: Spielt Videos ab. Lade mein Beispielvideo Jingle Bells als Test-Stream nach/storage/extSdCard/Filme, dann kann man es mitjbabspielen, oder jede andere Datei mit„<filename>“ play-tsfür MPEG Transport Streams, oderplay-mkvfür Matroska.minos2/gl-slideshow.fs: Zeigt eine Slideshow. Lege Bilder in ein Verzeichnis, und füge eine Liste der Dateinamen (mit Pfad). Lade diese Liste mit„<slidelist>“ slide-show.minos2/android-recorder.fs: Zeichnet ein Video auf, wenn mancamera-testaufruft. Das aufgezeichnete Video wird in/storage/extSdCard/Filme/test.mp4abgelegt.unix/sensors.fs: Liest die Sensoren aus.
Troubleshooting
Gforth schreibt ein Log in die Dateien /sdcard/gfortherr.log und /sdcard/gforthout.log. Falls etwas schief geht, erst mal hier nachsehen, ob eine Fehlermeldung zu finden ist. Sollte eine Quelldatei fehlen oder kaputt sein, hilft es, /sdcard/gforth/ zu löschen, wobei es eigentlich reicht, im Unterordner mit der aktuellen Versionsnummer die Datei sha256sum zu löschen. Manchmal verschieben sich Datein nach einem Update, dann sollte man /sdcard/gforth/ löschen, damit die alten Datein auch wirklich verschwinden.
Dokumentation
Gforth hat ein dickes Manual, das es hier auch als eBook PDF gibt (einige nicht umbrechbare Texte sind in der eBook-Version rechts abgeschnitten).