Forth-Gesellschaft e.V.

Wir programmieren Forth

avatar of mkmk
20.03.2021

Raspberry Pico

Wer mit dem neuen Raspberry Pico spielen und über Ostern gerne ein Osterei programmieren möchte, sollte sich einmal den "Picocomp" anschauen: https://picocomp.belug.de/ Es geht darum, ein tolles Projekt so richtig kurz und knackig zu implementieren ! Drei Größenordnungen stehen für die Einsendungen zur Wahl: 256 Bytes, 1024 Bytes und 4096 Bytes. Es ist eine Herausforderung, aber in 256 Bytes passen bereits Mandelbrot und Tricorn in ASCII-Art samt der Initialisierung des Terminals sowie ein angenehmes Blinken.

Matthias

avatar of cascas
24.02.2021

PlanckForth - ein minimales Linux-Forth

In der letzten VD hatten wir mit SectorForth ein Beispiel für Forth-Minimalismus. Das SectorForth passt in die 512 Bytes des Bootsektors einer Diskette oder Festplatte eines PC Systems. PlankkForth ist nun ein weiteres Beispiel für Forth-Minimalismus:

PlackForth ist ein Linux-Programm als handgeschriebene ELF-Linux-Datei (ELF = Executable and Linking Format - Dateiformat für ausführbare Dateien unter Unix/Linux). D.h PlankForth liegt nicht im Quelltext als Assembler oder Hochsprache vor, sondern wurde vom Autor Koichi Nakamura manuell in einer Hex-Datei geschrieben. Diese Hexdatei ist der "Quellcode" und wird in Binärcode "übersetzt".

Das Ergebnis ist ein minimales Forth mit 37 Forth-"Wörtern" die jeweils aus nur einem Buchstaben (bei Unterscheidung von Gross- und Kleinschreibung) bestehen. Das resultierende Binärprogramm ist genau 1024 Bytes gross, also doppelt so gross wie SectorForth. In dieser Basis-Variante sehen die PlankForth Programme noch sehr kryptisch aus, hier ein "Hello-World" Beispiel:

  kHtketkltkltkotk tkWtkotkrtkltkdtk!tk:k0-tQ

Das minimale PlanckForth lässt sich via Forth-Quellcode in ein vollständiges Forth erweitern, und dieses Forth lässt sich wie gewohnt benutzen.

PlanckForth Binary Layout

Der Quellcode von PlanckForth, inkl. Beispiele und Core-Tests, findet sich auf Github: https://github.com/nineties/planckforth

PlanckForth ist Open Source unter der MIT Lizenz.

avatar of mkmk
04.06.2020

Arduino als Hardware für Forth

Wenn es Embedded sein soll, muss gewöhnlich ein Board her, und ein passender Programmer für die MCU um Forth dorthinein zu bekommen. Doch geht es auch ohne Programmer? Bei den Arduinos schon, und davon sind sehr viele im Umlauf.

Mit der Arduino-IDE lässt sich ein Sketch-Programm bequem hochladen und erproben. Mit Juergen’s letztem publizierten Buch in der Forth Bookshelf kann man das schnell mal ausprobieren.

Arduino Sketch hochladen, Terminal-Software anwerfen, und man kann losprogrammieren.

OK, es gibt Limitierungen, aber so zum Ausprobieren stört das nicht. Die wesentlichste ist wohl, das Forth so nur ins Ram compilieren kann.

Im Wiki liegt alles schon bereit, einschliesslich der Links zu den Original-Texten und Beispielen.

https://wiki.forth-ev.de/doku.php/projects:430eforth:start#arduino_uno_und_arduino_nano

Oder als Buch wenn gewuenscht

https://www.amazon.co.uk/dp/B088P1CW83/ref=sr_1_fkmr0_2?dchild=1&keywords=sforth+as+Arduino+Sketch&qid=1589713127&s=books&sr=1-2-fkmr0

Und wenn man weiss, wie man den Boortloader ueberschreibt, wird es noch besser

https://www.amazon.co.uk/gp/product/1726868478/ref=dbs_a_def_rwt_bibl_vppi_i21

avatar of cascas
09.07.2019

of816 - ein von Open Firmware inspiriertes Forth für 65c816 (W65C816SXB Board und Apple IIgs)

of816-Forth-Hello

of816 ist ein von OpenFirmware inspiriertes Forth-System für den WDC 65C816 (16bit Variante des 6502). Es existieren implementationen für das W65C816sxb Development Board von Western Design Center (WDC) und den Apple IIgs.

of816 ist noch keine volle OpenFirmware Implementation, kann aber dazu ausgebaut werden.

of816 befindet sich in aktiver Entwicklung und ist unter einer freien Lizenz (BSD-ähnlich) auf GitHib verfügbar: https://github.com/mgcaret/of816

of816 ist ANS-Forth kompatiblel und verarbeitet FCODE

of816-Forth-ProDOS

Dieses Forth ist gut dokumentiert und kann recht einfach auf andere Platformen mit 65816 CPU portiert werden.

of816-Forth-Words

avatar of cascas
15.04.2019

Die Forth-Gesellschaft im Fediverse

Die Forth-Gesellschaft ist nun im Fediverse vertreten, mit einem Account auf pleroma.tilde.zone.

Wer das Fediverse unter Mastodon, Pleroma, Friendica oder anderen Systemen mit ActivityPub-Protokoll benutzt, findet uns unter forth@pleroma.tilde.zone.

Wer noch nicht im Fediverse unterwegs ist, findet Informationen unter What is Mastodon and why is it better than Twitter und eine Instanz zum Anmelden unter https://joinmastodon.org/.

Wir sehen uns im Fediverse!

avatar of cascas
08.04.2019

Unikernel mit GNU/Forth

Ein Unikernel ist eine Anwendung, die fest mit einem Betriebssystem-Kern verbunden wird und direkt (d.h. ohne das ein anderes Betriebssystem wie Linux oder Windows geladen wird) auf echter Hardware oder innerhalb einer virtuellen Maschine ausgeführt wird.

Auf der Webseite von NanoVMS wird beschrieben, wir aus GNU/Forth (gforth) und Forth-Quellcode eine Unikernel-Anwendung generiert werden kann.

https://nanovms.com/dev/tutorials/running-forth-unikernels

Auf der Tagung in Worms und im kommenden Forth Magazin, der "Vierten Dimension", gibt es Informationen über andere Unikernel-System und Forth.