Re: Auch Probleme mit der Forth Variante
Verfasst: Do 26. Jan 2012, 21:40
Komischerweise habe ich im HIVE (mit ESC-1,-2,-3) die jeweiligen COGs und im Terminal (XP-PC) habe ich COG 6. Keine Ahnung, ob das richtig ist.
Retro Style Eigenbau Computer mit Parallax Propeller
https://hive-project.de/board/
Die COG's werden vom Propeller frei vergeben das ist abhänig welcher frei und zu diesem zeitpunkt gerade an der Reihe ist.quix hat geschrieben:Komischerweise habe ich im HIVE (mit ESC-1,-2,-3) die jeweiligen COGs und im Terminal (XP-PC) habe ich COG 6. Keine Ahnung, ob das richtig ist.
Ein bekanntes Leiden: Wenn man es selbst programmiert hat, ist einem alles klar. Etwas kurz und dennoch verständlich zu beschreiben ist manchmal nicht einfach und oft fehlt auch Zeit und Lust. Ich habe es mir auf die Todo-Liste geschrieben.Man überliest in der bisherigen Anleitung leicht, dass in der Konfiguration was geändert werden muss - und wenn mans denn gelesen hat, fragt man sich als Laie : "Was muss Wo geändert werden"
Das ist völlig korrekt so und eine echt coole Angelegenheit, wenn man genauer darüber nachdenkt. Das Wort "cog?" listet dir die aktuelle Belegung der COGs in Regnatix unter Forth auf. Sollte dieses Wort nicht im System sein, kannst du es mit einigen anderen nützlichen Kommandos wie folgt dauerhaft einbinden: "sys tools.mod saveforth". Hier die Ausgabe von "cog?" im Terminal:Komischerweise habe ich im HIVE (mit ESC-1,-2,-3) die jeweiligen COGs und im Terminal (XP-PC) habe ich COG 6. Keine Ahnung, ob das richtig ist.
Code: Alles auswählen
Prop0 Cog6 ok
cog?
Cog:0 #io chan:1 drv:ldr
Cog:1 #io chan:1 PropForth v4.0 2010NOV28 13:00 3 1(0)->5(0)
Cog:2 #io chan:1 PropForth v4.0 2010NOV28 13:00 3
Cog:3 #io chan:1 PropForth v4.0 2010NOV28 13:00 3
Cog:4 #io chan:1 PropForth v4.0 2010NOV28 13:00 3
Cog:5 #io chan:1 drv:int 5(0)->1(0)
Cog:6 #io chan:1 PropForth v4.0 2010NOV28 13:00 3 6(0)->7(0)
Cog:7 #io chan:1 drv:ext 7(0)->6(0)
Prop0 Cog6 ok
Die Fehlermeldung bedeutet, das sich dieses Wort nicht im Wörterbuch befindet. Du musst es einfach an das System compilieren wie ich oben beschrieben habe:quix hat geschrieben:: test1 0 do i . loop ;
Funktioniert. Zumindest erscheint keine Fehlermeldung. Wobei hingegen bei cog? erhalte ich "UNDEFINED WORD cog?". Aber egal.
Leider bin ich ein absoluter FORTH-Analphabet. Heute kam mit dr Post das Buch "Forth auf dem Kleincomputer" von Claus Kühnel. Mal sehen, ob ich damit was anfangen kann.
Noch mal ne Frage. Ich habe Reg mit Forth (wohl richtig) ins Eprom installiert. wenn ich nun den Inhalt des Eproms überschreibe ist Forth wieder weg. Kann ich den Inhalt des Eproms auslesen und als BIN-Datei auf Platte sichern, um es später ohne PC-Terminalprogramm wieder ins Eprom schreiben zu können? Auch weiß ich überhaupt nicht, was ich da genau mache, wenn ich mit dem Terminal diese Prozedur ausführe.
Zum Vorgang beim flashen: Mit dem kopieren von basic.mod im Terminal compilierst du die nötigen Worte ins Forth, damit dieses auch über Bella und nicht nur über das Terminal zu dir sprechen kann. Dabei wird gleich der Autostartmechanismus vom PropForth vervollständigt, damit sich das Forth nach dem Reset dann auf dem VGA meldet.Sollte dieses Wort nicht im System sein, kannst du es mit einigen anderen nützlichen Kommandos wie folgt dauerhaft einbinden: "sys tools.mod saveforth".
Nun ja, man muß ja die Befehle nicht per saveforth speichern, das macht man nur mit Tools die man oft benötigt. Außerdem kann man diese Erweiterungen auch jederzeit wieder löschen. Für die Tools geht das mit "forget mod:tools" - forget entfernt alle Worte aus dem Wörterbuch ab dem angegebenen Wort. Ein "saveforth" speichert dann wieder das aktuelle Forthssystem - in diesem all wieder ohne die Tools-Erweiterung. Und wenn du nur "sys tools.mod" verwendest, sind die Tool-Befehle nachdem nächsten Reset halt wieder weg.Das ist aber eine totale Insellösung. Wie weiß ich denn nun, was für Befehle bei HIVE 0815 aktiviert sind? Nach dem Prinzip kann ich doch kein Programm in Forth schreiben, das auf einem anderen, außer meinem HIVE läuft? Im Gegensatz dazu, habe ich in BASIC immer den gleichen Befehlssatz und muss mit den Befehlen meine Aktionen und Funktionen zusammenstellen. Kann denn nicht ein Standard-Befehlssatz in Forth gleich eingebaut werden?