Archive for the ‘Forth’ Category.

m: Interpreter läuft

Hab ich schon erwähnt, dass seit gestern abend der Interpreter läuft? 🙂 Ab jetzt kann ich im wesentlichen direkt unter m debuggen und testen. Und das motivierende an der Geschichte ist der freie Speicher in Regnatix: 31365 Byte! Das wird noch schrumpfen, aber ich habe ein gutesGefühl, dass Ziel von 2 KB für den m-Core zu erreichen.

Jetzt ein paar Werkzeuge wie dump um den Speicher direkt in m anzuzeigen und dann kommen schon die ersten Compilerworte. Als nächstes Blockinterface und Screeninterface und ich kann schon ohne Host autark programmieren.

Kein Screen sagt mehr als tausend Worte…

m1

Ok, ich bekenne mich schuldig: Es hat mich wieder gepackt und ich bastle momentan an einem neuen Softwaresystem für den Hive. Das System wird eine Alternative zum TriOS und besitzt als Kern eine eigene Programmiersprache, die ich ganz unerotisch auf den Namen „m“ getauft habe. Im Gegensatz zu TriOS, Spin und PropForth ist es ein völlig neuer Ansatz, dessen Ziele man in vier Worten zusammenfassen kann: autark, klein, schnell und einfach.

Autark: Das System soll sowohl Interpreter, Compiler, Debugger, Quelltexteditor enthalten und mit diesen Funktionen sofort und ohne Bootzeit (also aus dem EEPROM) einsatzbereit sein.

Klein: Ziel ist eine Größe von 2 KB Speicherverbrauch in Regnatix – 30 KB stehen also für die eigentliche Anwendung zur Verfügung.

Schnell: Die Kernroutinen sind in PASM geschrieben. Ein erster Vergleich ergab, dass m deutlich schneller als Spin und PropForth ist.

Einfach: Ein kleiner und übersichtlicher, klar verständlicher Befehlssatz.

Das sind die Ideen. Momentan läuft die VM, also der innere Interpreter. Der äußere Interpreter und der Parser inklusive Zeileneditor ist zum überwiegenden Teil fertig und ich hoffe dieses Wochenende das erste mal ohne Spin-Debugger interaktiv mit m arbeiten zu können.

 

TriOS = Regime + Forth

Ein kleiner Etappensieg auf dem Weg zur Weltherrschaft: Ich habe PropForth in TriOS integriert. Klingt nicht sehr spektakulär, ist aber eine ziemlich coole Sache. Das Forth residiert dabei zusammen mit dem Loader im unteren EEPROM und ist somit sofort nach dem Einschalten des Gerätes nutzbar. Für die Nutzung von Forth ist es also nicht mehr nötig, einen ROM mit 64K zu verwenden.

Continue reading ‘TriOS = Regime + Forth’ »

So einfach kann es sein…

…komplexere Funktionen in PropForth zu realisieren:

: ls dir 0 begin .entry lscnt 0= until drop padbl cr ;

Und was machts? Klar, ein ls-Kommando, um das Verzeichnis auf SD-Card im Spaltenformat anzuzeigen. Ist ja wohl der Hammer! Am Anfang war die Funktion natürlich nicht so einfach, sondern eher unübersichtlich, verschachtelt und erstreckte sich über mehrere Zeilen. Aber nach einem zweiten Anlauf wurde es dann dieser Einzeiler.Keine Ahnung ob das jetzt vernünftiger Code ist, aber mir gefällt es enorm. Ich muss sagen, ich verliebe mich gerade wieder neu über beide Ohren in Forth… 🙂 Continue reading ‘So einfach kann es sein…’ »

Multitasking

Kurzer Zwischenbericht zum PropForth: Da die momentane Version ja bestehenden Spin-Code in Administra und Bellatrix nutzt, geht es ziemlich flott vorwärts. Ich habe eine erste Version eines Satzes von Worten erstellt, um das Businterface zu steuern:

Continue reading ‘Multitasking’ »

Verspätetes Weihnachtsgeschenk

Hey, da hat es mich doch wieder gepackt: ich bin dabei eines der neuen R14-Boards zusammenlöten. Und wie es so ist, war mir der Bastelkeller dieses mal nicht heilig und ich hab die paar Sachen die dafür gebraucht werden in die gute Stube geschafft – ist ja nicht wirklich viel, wie man auf dem Bild sehen kann. Das der Hive ein „Küchentischdesign“ hat ist ja nun schon hinlänglich bekannt und bewiesen, weshalb ich zum Erstaunen der Familie gerade einfach mal teste, wie es mit dem „Weihnachtstischdesign“ aussieht! So sitzen wir jetzt bei Tee und Gebäck um den neu errichteten Bastelaltar und alle schauen mir zu… 😉 Continue reading ‘Verspätetes Weihnachtsgeschenk’ »

Prop: Jupiter ACE

Nun ist es also soweit: die aktuelle Version 3.4 von PropForth enthält die erste Version der Jupiter ACE Erweiterung mit VGA und Keyboard Support. Mit dieser Version kann man also einen einzelnen Propellerchip zu einem vollwertigen Forth-Computer machen, mit welchem man ohne Host einen Compiler, Interpreter, Assembler und ein einfaches Betriebssystem zur Verfügung hat.

Ich hab das natürlich gleich auf meinem Demoboard getestet. Die Installation ist extrem einfach:

Continue reading ‘Prop: Jupiter ACE’ »