Im Prinzip ist das ja dann wirklich wie bei einem Jupiter ACE, einschalten und: Forth!
Genau da möchte ich hin, dass ist der Traum!

Einschalten und Forth - cooler Spruch. Schon bei PropForth hatte ich ja den Jupiter ACE im Blickfeld, weil mich dieses Gerät und Forth schon immer fasziniert haben. Und für die fragmentiert denkenden Nutzer gibt es dann immer noch TriOS mit Spin und monolithischem Compiler.
Das hört sich sehr interessant an! Das wäre dann also wirklich ein Forth-System im Sinne eines rudimentären Betriebssystems, d.h. Dateiverwaltung und Anwendungserstellung.
Ist es eigentlich in Assembler realisiert oder auch in Forth?
Der Kern von m läuft ja in Regnatix als Master und die primären Worte sind alle in Assembler realisiert. Ich hänge mal meine aktuelle Referenztabelle mit allen bis jetzt realisierten Funktionen an. In den letzten drei Spalten sieht man ob es ein primäres (P) oder sekundäres (S) Wort ist, die Spalten T & I zeigen ob das Wort implementiert (I) und/oder getestet (T) ist.
In den Slavechips Administra und Bellatrix verwende ich Spin-Code, um Bildschirm, Keyboard Dateisystem usw. zur Verfügung zu stellen.
Aktuell läuft halt der innere und der äußere Interpreter, grundlegende Compilerworte und der Parser sowie der Screeneditor in Bellatrix. Also auf gut deutsch: Man kann im Interpreter Kommandos eingeben, also Worte aufrufen, neue Worte compilieren, mit dem Screeneditor einen Screen bearbeiten und speichern. Ach ein ls, lsl, cd, open und close funktionieren schon. Der nächste Schritt wird es sein, die bearbeiteten und auf SDCard gespeicherten Screens zu compilieren. Aber dafür mußte ich erstmal eine kleine Pause einlegen...
Multiprozessing: Ich will in Regnatix auf allen verfügbaren COG's m starten, aber nur eine "Main-COG" wird dabei interaktiv zugänglich sein. Mein Plan: Die anderen COG's werden auf einem Steuerwort "geparkt" und bei Bedarf kann mit einem Kommado/Wort in diesen ein beliebiges anderes Forthwort gestartet werden. Was sie dann in diesem Wort tun, steuert der entsprechende Forthcode. Sie könnten also bestimmte Werte berechnen und die Ergebnisse in einer Variable ablegen oder ähnliches. Was schwieriger wird, ist die parallele Nutzung der Slave-Ressourcen - ist allerdings nicht unmöglich, sondern ich habe momentan einfach noch nicht den Aufwand betrieben, diese Ressourcen per Semaphore zu verriegeln. Im PropForth habe ich mit diesen Möglichkeiten gespielt, was die Sache aber ziemlich komplex macht. Ich denke aber, das macht auch keinen wirklichen Sinn bei so einem kleinen Computer wie dem Hive, wird wohl mehr was für den Hive II...
Da mental und m mehr mein Privatvergnügen ist, gibt es da auch kein Repository, aber das kann ja noch werden. Wenn du es dir mal anschauen möchtest, kann ich meinen aktuellen Entwicklungsstand mal packen und hier anhängen!?