Forth - Die Programmiersprache für Microcontroller

Als Charles Moore vor (sehr) vielen Jahren die Programmiersprache Forth zur Steuerung eines Teleskop erfand konnte er noch nicht ahnen, wie sehr sich diese in der Welt der Microcontroller verbreitet. Es gibt fast keinen Prozessor und Computer, auf dem nicht mindestens eine Forth-Version realisiert wurde. Auch führte das Konzept der Programmiersprache dazu, dass spezielle Prozessoren dafür entwickelt wurden und auch jetzt noch für FPGA neue Varianten realisiert wurden.

Meinen ersten Kontakte mit Forth hatte ich auf dem Taschenrechner Sharp PC1500, für den es neben dem doch langsamen BASIC auch eine Forth-Version gab die ich für meine Projekte verwenden konnte. Für Neuentwicklungen hatte ich dann ein Z80-Prozessor, auf dem ich dann mein eigenes KK-Forth entwickelte. Um da besser portierbar zu bleiben, habe ich es gleichzeitig für PC (8086), Z80 und dem von Charles Moore entwickelten Forth-Prozessor RTX2000 angepasst.

Auf dieser Seite sind aktuell folgende Forth-Versionen von mir verfügbar:
  • mcForth - mein neuestes Forth für PC (Windows) und Cortex-M0 (XMC1100)
  • SmallForth - für den auf FPGA (hier MAX10) laufenden K1 (Modifikation von J1)
  • KK-Forth - das oben beschriebene erste Forth von mir
  • S8-Forth - eine spezielle Entwicklung für das ROM im Zilog Super8

    mcForth - Ein Forth für viele Microcontroller

    Seit über 40 Jahren beschäftige ich mich schon mit Microcontroller und auch 35 Jahre arbeite ich mit FORTH. Das führte natürlich dazu, daß ich auch eigene eigene FORTH-Versionen realisiert habe. Jedoch liegt die Zeit schon über 3 Jahrzehnte zurück, in der ich das auf FORTH-83 basierende KK-FORTH entwickelte und an Prozessoren wie x86, Z80, 68332 oder RTX2000 angepaßt und genutzt habe.

    Da ich die letzten 20 Jahre als Spezialist für Microcontroller in der Bauteiledistribution gearbeitet habe, ist natürlich der Wunsch nach einem FORTH für möglichst viele dieser Chips immer größer geworden. Deshalb habe ich einen Neuanfang begonnen, der jetzt mit mcForth die Öffentlichkeit erreicht hat. Jedoch schon hier die Warnung, daß dieses Forth es zwar sehr nahe dem aktuellen Standard ist, aber wegen des Wunsches nach Portierbarkeit und ROM-Fähigkeit in einigen Punkten abweicht.

    Forth-IP K1 und SmallForth - Revision 2

    Ganz neu habe ich mich auch mit FPGA's befassen können - vor allem mit den schon 2018 vorgestellten Low-Cost-Kits. Dafür habe ich in Anlehnung an den J1 eine eigene Version K1 entwickelt und für das MAX1000-Kit angepaßt. Passend dazu auch gleich noch ein für RAM gedachtes kleines SmallForth. Um hier unterstützung zu bekommen, habe ich sowohl das Quartus-Projekt für den K1 für Intel MAX10 als auch das SmallForth einschließlich des Targetcompilers und Sourcen des SmallForth hier verfügbar gemacht.

    Hier ist jetzt die Revision 2 verfügbar, welche auch Autostart-Programme aus dem UFM-Flash des MAX10 zuläßt.

    KK-Forth

    Das auf Forth-83 basierende KK-Forth wurde für EPROM oder Flash-Basierende Systeme oder RAM (PC) geschrieben.
    Programme werden immer ins RAM kopiert und beim Speichern der gesamte RAM-Bereich in das Image übernommen.
    Dokumentation der Versionen für PC, RTX2000, Z80-Variante Zilog 84C015 und 8086-Variante NEC V20 mit Disketten sind hier verfügbar.

    S8-Forth

    Der Zilog Super8 ist eine Variante der Z8-Familie, die um Befehle für Threaded Code erweitert wurden.
    Die Forth-Gesellschaft e.V. ist gefragt worden, ob wir Interesse an einer Forth-ROM-Version des Super8 haben.
    Deshalb haben wir eine 8K-Version für das ROM realisiert, die weitestgehend auch dem Forth-83-Standard entspricht.


    Copyright

    Bitte beachten Sie, daß viele hier zur Verfügung gestellten Informationen nur für die private Nutzung gedacht sind. Bei komerzieller Nutzung der von mir erstellten Dokumente und Programme ist eine schriftliche Bestätigung erforderlich. Einige Sourcen sind unter GPLv3 freigegeben. Darunter fallen die Targetcompiler für SmallForth und der K1 FORTH-IP. Bitte beachten, da das bei dem auf J1 basierende K1 das Copyright ungeklärt und auch noch nicht mit James Bowman abgesprochen ist.

    Für Fragen, Anregungen oder Hinweise auf Fehler können Sie mich gerne kontaktieren:
       Klaus Kohl-Schöpe
       Prof.-Hamp-Str. 5
       D-87745 Eppishausen
       Tel. 08266/36098062
       EMail: kks@designin.de


    Haftungshinweis:
    Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links.
    Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
    Heartbear und Seiferliebt sind eingetragene Warenzeichen von Klaus Kohl-Schöpe.


    Last Update: 01.05.2021