Mental 0.A

Fragen zu Programmiersprachen und Software für den Hive und die Propellerchips
Drohne393
Beiträge: 12
Registriert: Sa 19. Apr 2014, 18:37

Mental 0.A

Beitrag von Drohne393 »

Wenn ich den aktuellen download entpacke fehlen die usr und die sys tapes.
Mental startet zwar trotzdem, bringt aber die Meldung "sys fehlt mental wird dennoch gestartet"

Braucht man die beiden tapes ?
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Mental 0.A

Beitrag von drohne235 »

Wahrscheinlich ist bei den Tapes sys + usr das Hiddenbit gesetzt - sind also versteckt. ;) Ich hab trotzdem mal meinen aktuellen Entwicklungsstand archiviert und angehängt. Da sind im sys auch schon einige Sound und PLX Worte, musst du mal schauen.
Dateianhänge
mental-2014-04-23-dr235.rar
(4.64 MiB) 634-mal heruntergeladen
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Drohne393
Beiträge: 12
Registriert: Sa 19. Apr 2014, 18:37

Re: Mental 0.A

Beitrag von Drohne393 »

Vielen Dank für die schnelle Antwort, hab extra nochmal die Ansichtsoptionen auf "Versteckte Dateien anzeigen" gesetzt aber .. nüscht ! Dann habe ich vor dem entpacken mir mal die Dateien anzeigen lassen bin/sdcard - da sind alle tapes aber nicht usr und sys ... hmm
Könnte es sein, dass Du beim packen die hidden-dateien nicht mit einpackst ?
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Mental 0.A

Beitrag von drohne235 »

Schau mal im Verzeichnis "tapes", da sind sie zumindest im obigen Archiv drin.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Drohne393
Beiträge: 12
Registriert: Sa 19. Apr 2014, 18:37

Re: Mental 0.A

Beitrag von Drohne393 »

:DAUMENHOCH OK, jetzt hab sogar ich die gefunden, hidden anzeigen lassen und unter tapes. Danke ! :)
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Mental 0.A

Beitrag von drohne235 »

Muss ich mal ändern, hab auch erstmal hektisch gesucht... ;)
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Drohne393
Beiträge: 12
Registriert: Sa 19. Apr 2014, 18:37

Re: Mental 0.A

Beitrag von Drohne393 »

Funktioniert jetzt alles prima ! :D

Hab das Tutorial mal soweit durchgemacht, tolles System ! Das mit den Farben finde ich gut, man braucht etwas bis man sich daran gewöhnt hat, aber es hilft auch klarer zu Denken. Nur das helle Gelb, das sehe ich kaum auf meinem Monitor, aber das lässt sich bestimmt irgendwo einstellen - da komme ich noch drauf.

Beim Beispiel mit der loop und das mit der konstante_1 kriege ich noch 'structure imbalance' Meldungen.

Der Plan:
1. Jetzt werde ich mal meine Forth Bücher rauskramen und mal versuchen ein paar kleine Beispiele zu erstellen.
2. Das System kennenlernen
...

Erstmal Kompliment - klasse gemacht !!
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Mental 0.A

Beitrag von drohne235 »

Ist auch mein Einstieg in PASM. Mein erster Versuch (iSpin) ein forthähnliches System in Spin zu programmieren war mir da einfach zu langsam. Und PropForth ist mir zu groß: belegt ja ca. 17 kByte in der abgespeckten Version für TriOS.

Das mit dem vorgeparsten Quelltext und den Farben hat auch seine Nachteile: so kann man nicht einfach einen einfachen Texteditor verwenden und den Quelltext per COM rüberschieben wie bei PropForth und man benötigt auch einen einfachen Parser in Administra, um Screens zu laden.
Beim Beispiel mit der loop und das mit der konstante_1 kriege ich noch 'structure imbalance' Meldungen.
Ahh, danke für den Hinweis: Im ersten Schleifendemo muss das next raus (d..loop, for..next) und die Konstante muss violett (Data) werden. Habe es gleich mal korrigiert und angehängt. Schön wenn es mal jemand probiert! :)
Dateianhänge
2_der_erste_ausseneinsatz.pdf
(514.04 KiB) 619-mal heruntergeladen
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Drohne393
Beiträge: 12
Registriert: Sa 19. Apr 2014, 18:37

Re: Mental 0.A

Beitrag von Drohne393 »

Soweit geht das, nur auf Seite 14 habe ich einiges was nicht funktioniert. Vielleicht mach ich auch was falsch:

t1 0 do i . loop next ;
geht bei mir mit und ohne i nicht - die Farben stimmen - kommt structure imbalance

@w und !w geht nicht , müsste vermutlich w@ und w! heissen

Nach Anlegen von a b und c wie unter Variablen und Konstanten beschrieben krieg ich das System wie folgt zum Absturz - statt der Eingabetaste hier mal "|" zur besseren Übersicht:
a | b | c | .s | @ | .s | a | .s | ! | .s
und jetzt kommt der Fehler, als echo kommt .s? und alle wörter sind weg

Auf der Seite 15 hab ich nach Anlegen der konstant_1 mit 1024 noch ein Verständnisproblem:
konstante_1 | .s da kommt "4512" das müsste die Adresse sein , oder ?
wenn ich dann noch @ | .s mache kommt 67141682 , aber ich kriege irgendwie nicht mehr den Wert 1024, was mache ich falsch ?

Ich hoffe ich nerve nicht ..
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Mental 0.A

Beitrag von drohne235 »

Schau mal in dem angehängten PDF, dort habe ich wieder einige Sachen korrigiert. Unter anderem auch

t1 0 do i . loop next ;

Funktioniert in der alten Version nicht, da do..loop ein anderes Schleifenkonstrukt ist als for..next. Also entweder muss es heißen

t1 0 do i . loop ;

oder

t1 for i . next ;

Aber die do-Schleife einleiten und mit loop UND next abschließen funktioniert nicht, das merkt ja der Compiler, indem er versucht, nach der fertigen do..loop Schleife das next-Konstrukt aufzulösen. "struktur imbalance" bedeutet in desem Fall: next ohne for! Ist aber ein Tipfehler von mir und im obigen angehängten PDF korrigiert. :)

@w und !w geht nicht , müsste vermutlich w@ und w! heissen
Jo, habs gerade korrigiert.
Auf der Seite 15 hab ich nach Anlegen der konstant_1 mit 1024 noch ein Verständnisproblem:
konstante_1 | .s da kommt "4512" das müsste die Adresse sein , oder ?
wenn ich dann noch @ | .s mache kommt 67141682 , aber ich kriege irgendwie nicht mehr den Wert 1024, was mache ich falsch ?
Du machst da nix falsch, ich hab in der Korrektur nur den nächsten Fehler eingebaut... ;) Hab mir jetzt erstmal den Hive aufgebaut um das nachzuvollziehen (momentan war er wegen den Videosachen abgebaut). Also, mit

konstante_1 1024 ;

(Wichtig: "konstante_1" create/rot! :) ) wird ein entsprechendes neues Wort angelegt. Der numerische Wert in cyan compiliert ein numerisches Literal in das Wort und ; schließt/aktiviert das neue Wort. Ruft man konstante_1 nun auf, so wird das numerische Literal ausgeführt und hinterläßt den Zahlenwert auf dem Stack:

konstante_1 . > 1024

Man kann auch mehrere Literale hintereinander schreiben, fällt mir grad ein:

konstanten 1024 393 235 ;

konstanten .s > 1024 393 235

Cool, an so eine Möglichkeit habe ich noch nicht gedacht. :)

Hab auch gleich noch einen Fehler gefunden und korrigiert:

c 16 allot ;data

Der Zahlenwert 16 muss natürlich blau geschrieben werden. Hast du wahrscheinlich schon bemerkt, da er ja bei der Eingabe gleich spuckt... ;)

Zum letzten Problem:

... a | .s | ! | .s

a ist eine 16 Bit Variable (word) und ein Wert wird mit w! geschrieben. Ein ! schreibt einen 32 Bit Wert, überschreibt damit aber den Header des nächsten Wortes und beschädigt das Wörterbuch, weshalb alle Wöretr weg sind. Das ist halt ein kleiner Nachteil bei Forth - man arbeitet immer als root. ;)
Ich hoffe ich nerve nicht ..
Nee, ist sogar ganz gut so: selbst sieht man solche Fehler ja nicht mehr, und die Lust den Text wieder und wieder durchzuarbeite hält sich in Grenzen. Da ist das eine echte Hilfe, wenn es dich nicht stört. Du mußt nur Geduld mit mir und mental haben, alles ist da noch sehr "experimentell" und dient mir selbst dazu, Forth genauer kennenzulernen. Ich verändere es so wie mir neue Einsichten kommen. Aber gerade bei der Entwicklung spielt Forth schon mit seinen Muskeln: man kann schon interaktiv testen und Fehler suchen.

Ich hänge wieder eine neue Version vom Text an und hoffe, dass du die restlichen Fehler auch gleich noch findest. Kannst du nochmal ab "Kontrollstrukturen" durchschauen? Falls du einen "einsichtiges" kurzen Test hast, welcher dir vielleicht geholfen hat die Sachen zu verstehen, könntest du das ja mal posten. Ist wirklich ganz interessant für mich, und vielleicht baue ich es gleich im Text ein. Du kennst das ja sicher: wenn man es selbst programmiert hat, setzt man viele Dinge vorraus und der Text sollte ja auch für den Einstieg nutzbar sein.
Dateianhänge
2_der_erste_ausseneinsatz.pdf
(514.07 KiB) 621-mal heruntergeladen
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Antworten