Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:gforth-android:start

Dies ist eine alte Version des Dokuments!


Gforth um Android in Forth zu programmieren

Ziel ist es, Gforth als Programmierumgebung für Android zu verwenden.

Stand der Dinge

  • Es gibt ein Gforth.apk, 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.fs festgelegt). Den Terminal-Server kann man mit einem einfachen t und Return schnell vom Terminal starten, und sich dann mit telnet adresse 4444 einloggen. Für das Gerät in der .telnetrc im Home-Verzeichnis hostname mode character eintragen.
  • 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 kann in dem Zustand noch nichts ausgeben, und auch nicht auf Eingaben reagieren, also einfach etwas Geduld (abhängig vom Gerät - gute Geräte schreiben ein paar Megabyte natürlich im Nullkommanix weg). Wenn er fertig ist, wird das OpenGL-Terminal gestartet.

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.

Als Tastaturen empfehle ich:

Beispiele

Alle Android-Beispiele finden sich in /sdcard/gforth/site-forth. Es gibt

  • gl-sample.fs: Eine einfache OpenGL-Demo
  • omx-example.fs: Spielt Videos ab. Lade mein Beispielvideo Jingle Bells als Test-Stream nach /storage/extSdCard/Filme, dann kann man es mit jb abspielen, oder jede andere Datei mit „<filename>“ play-ts für MPEG Transport Streams, oder play-mkv für Matroska.
  • 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.

Bekannte Bugs

Die NativeActivity hat leider ein paar ärgerliche, aber bekannte Bugs, die erst verschwinden werden, wenn ich eine eigene Activity in Java programmiert habe:

  • Vom Keyboard werden nur eine feste Auswahl Keycodes weitergereicht, der Rest verschwindet in der Zwiebel
  • Wenn man auf „Zurück“ klickt, während das Soft-Keyboard sichtbar ist, hängt die App (ab Android 4.1)
projects/gforth-android/start.1370550066.txt.gz · Zuletzt geändert: 2013-06-06 22:21 von bernd