Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:gforth-android:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
projects:gforth-android:start [2013-06-06 21:27] – Externe Bearbeitung 127.0.0.1projects:gforth-android:start [2020-08-03 13:22] – [Troubleshooting] bernd
Zeile 1: Zeile 1:
-====== Gforth um Android in Forth zu programmieren ======+====== Gforth — GNU Forth für Android ======
  
 Ziel ist es, Gforth als Programmierumgebung für Android zu verwenden. Ziel ist es, Gforth als Programmierumgebung für Android zu verwenden.
Zeile 5: Zeile 5:
 ===== Stand der Dinge ===== ===== Stand der Dinge =====
  
-  * Es gibt ein [[http://bernd-paysan.de/Gforth.apk|Gforth.apk]]das man direkt ab Android 2.installieren kann +  * Es gibt [[https://play.google.com/store/apps/details?id=gnu.gforth|Gforth im Play Store]] das man direkt ab Android 4.installieren kann, Android 2.3-Support wurde am 31.3.2018 aufgegeben, weil es zu alt ist für diverse Features. 
-  * Das kann über OpenGL eine Terminal-Emulation zeigen oder einen Terminal-Server bedienen (in der Datei /sdcard/gforth/site-forth/starta.fs festgelegt)+  * 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   * 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 ausgebenund auch nicht auf Eingaben reagieren, also einfach etwas GeduldWenn er fertig istwird das OpenGL-Terminal gestartet.+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 Spinnerder am Ende kurz die Message "done; restart Gforth" anzeigtFalls diese länger sichtbar bleibtsollte 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 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.
-===== Historie =====+
  
-Zunächst konnte man Gforth als Terminal-Programm in der [[http://kevinboone.net/kbox.html|KBOX]] benutzen. Das ist eine Mini-Linux-Distribution in einem Androidterm, die auch Debian-Pakete nachinstallieren kann (aber nicht wieder löschen... falls man eine neue Gforth-Version installieren will, muss man die ganze KBOX deinstallieren und wieder installieren).+Als Tastaturen empfehle ich:
  
-Gforth installiert seine Daten auf der SD-Karte, nur die Binaries werden in der KBOX installiertAls Tastatur empfehle ich das GO Keyboard, weil das auch einen Block mit Cursortasten und anderen Sondertasten hat, die sehr nützlich sind.+  * [[https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard|Hackers Keyboard]] 
 +  * [[https://play.google.com/store/apps/details?id=de.ubuntix.android.mygermankeyboard|Deutsche Tastatur]] 
 +  * [[https://play.google.com/store/apps/details?id=com.jb.gokeyboard|Go Keyboard]]
  
-Zunächst installiert man also die KBOX. Man erhält dann auf der SD-Karte unter ''kbox_home/app_''<//nummer//> ein Home-VerzeichnisDarin kopiert man den aktuellen [[http://bernd-paysan.de/gforth_0.7.9-20120627_arm.deb|Gforth-Android-Snapshot]]. Danach startet man das KBOX-Terminal, und gibt folgende Kommandos ein:+Da Android-Apps nicht über die Kommandozeile gestartet werden, kann man Optionen für den Start in die Datei ''/sdcard/gforth/home/.options'' eintragen. Jede Option eine Zeile. ''-d64k'' setzt z.B. den Stack auf 64kB, ''-m16M'' das Dictionary auf 16MB, siehe [[http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/Invoking-Gforth.html]] 
 +===== Beispiele =====
  
-''ln -s /sdcard $KBOX'' \\ +Alle Android-Beispiele finden sich in ''/sdcard/gforth/<version>/minos2''Es gibt
-''dpkg -i gforth_0.7.9-20120627_arm.deb'' \\ +
-''gforthmi -''''-system''+
  
-Wenn alles geklappt hat, kann man jetzt mit ''gforth'' Gforth starten.+  * ''[[https://github.com/forthy42/gforth/tree/master/minos2/gl-sample.fs|minos2/gl-sample.fs]]'': Eine einfache OpenGL-Demo 
 +  * ''[[https://github.com/forthy42/gforth/tree/master/minos2/omx-example.fs|minos2/omx-example.fs]]'': Spielt Videos ab.  Lade mein Beispielvideo [[http://bernd-paysan.de/jb.mkv|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. 
 +  * ''[[https://github.com/forthy42/gforth/tree/master/minos2/gl-slideshow.fs|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''
 +  * ''[[https://github.com/forthy42/gforth/tree/master/minos2/android-recorder.fs|minos2/android-recorder.fs]]'': Zeichnet ein Video auf, wenn man ''camera-test'' aufruft. Das aufgezeichnete Video wird in ''/storage/extSdCard/Filme/test.mp4'' abgelegt. 
 +  * ''[[https://github.com/forthy42/gforth/tree/master/unix/sensors.fs|unix/sensors.fs]]'': Liest die Sensoren aus.
  
-===== Bekannte Probleme (Historie) =====+===== Troubleshooting =====
  
-  * Auf Android 2.3 kann man einen SIGSEGV anscheinend nur einmal abfangenAndere Signale (Floating Point Exceptions) gehen öfter. +Gforth schreibt ein Log in die Dateien ''/sdcard/gfortherr.log'' und ''/sdcard/gforthout.log''Falls etwas schief gehterst mal hier nachsehenob eine Fehlermeldung zu finden istSollte eine Quelldatei fehlen oder kaputt sein, hilft es, ''/sdcard/gforth/'' zu löschenwobei es eigentlich reichtim Unterordner mit der aktuellen Versionsnummer die Datei ''sha256sum'' zu löschen. Manchmal verschieben sich Dateien nach einem Updatedann sollte man ''/sdcard/gforth/'' löschendamit die alten Dateien auch wirklich verschwinden
-  * Das Herunterladen der Debian-Datei mit dem Smartphone selbst scheitert bei Googles Browser am unbekannten Dateityp - mit dem von mir benutzen Dolphin Browser gibt's dieses Problem nichtWir haben uns beim "Install Fest" mit Übertragung via Bluetooth geholfen. +===== Dokumentation ===== 
-  * Die Variante des Android-Terminalsdie in der KBOX verwendet wirdhat nur eine FontgrößeDie Änderung der Einstellung bewirkt nichts. + 
-  * ''dpkg -r gforth'' führt in der KBOX zu einem Segfaultd.h. um eine neue Version zu installierenmuss man auch die ganze KBOX deinstallieren (sie nennt sich "Terminal Emulator"). Am besten man schreibt die von Gforth durchzuführenden Schritte in eine Datei ''gf'' im Home-Verzeichnis der KBOXund führt die beim Neuinstalieren mit ''bash gf'' aus (executable kann man sie nicht machenweil das auf dem SDCARD-Dateisystem FAT32 nicht geht)+Gforth hat ein [[http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/|dickes Manual]]das es hier auch als {{:projects:gforth-android:gforth.pdf|eBook PDF}} gibt (einige nicht umbrechbare Texte sind in der eBook-Version rechts abgeschnitten).
-  * Die KBOX ließ sich auf dem billigen Huawei-Androiden nicht installierenauf dem Galaxy S2 und auf Motorola Defy+ gibt's keine Probleme +
-  * Die KBOX läuft erst ab Android 2.3+
projects/gforth-android/start.txt · Zuletzt geändert: 2021-11-26 21:16 von bernd