Hallo Besucher, der Thread wurde 22k mal aufgerufen und enthält 89 Antworten

letzter Beitrag von polluks am

DurexFORTH - Diskussion zum Tutorial

  • Und G-Pascal. Das dürfte für Basicuser leichter erlernbar zu sein, sofern diese auf Fließkommazahlen verzichten können. Ist schneller als Basic, hat Spritebewegungen und Animationen eingebaut, unterstützt VIC, SID und auch die Echtzeituhr vom CIA. Größtes Manko: Laufzeitumgebung kostet immer noch etwas Ressourcen (mit C verglichen) und IDE belegt viel Speicher.

  • Für das Forth muss man ein großes Interesse und Stehvermögen haben.
    Nur lesen und reinschnuppern führt zu einem falschen Schluss. Forth ist schwer erlernbar in der Anfangsphase.


    Für mich hat es einen enormen Vorteil gebracht dieses Durexforth für den C64.
    Man kann in einem Forthsystem hineinschauen wie in einem Glashaus, es gibt da keine Geheimnisse weil man das Sytem selber Compilieren kann.


    Interessant wäre es, dieses Durexforh Grundsystem in einem ROM zu packen und es als Ersatz für das Basicrom nutzen beim C64


    G-Pascal kenne ich auch etwas für den C64, ist für Basicumsteiger nicht schwer erlernbar.


    Gruss

  • Ein neues Durexforth 1.6.3 ist draussen.
    Jetzt funktionieren alle floatroutinen vom C64 wieder.


    Hier ist eine Demo von mir mit den Floatroutinen des C64 mit Sinus und Cosinus mit Plot und Line. Habe mir eine float.fs selber angelegt mit allen C64 Floatroutinen.
    Natürlich gibt es auch Sinus und Cosinus in Durexforth als schnelle Integer für die Grafik.


    Gruss

  • was ist eigentlich der Unterschied zwischen <BUILDS und CREATE und wieso wurde <BUILDS durch CREATE abgeloest?

    Ich versuch es so aus dem Stegreif zu beantworten, ohne jetzt in diversen Dokus und Büchern zu graben:

    • CREATE ist Äquivalend zu <BUILDS, aber im 79-Standard hat es <BUILDS abgelöst (mit leichter Änderung, siehe nächsten Punkt). CREATE gab es schon im FIG-Forth auch, im 79-Standard dann aber nur noch CREATE. Den tieferen Hintergrund für die Einführung des neuen Namens kenne ich allerdings nicht.
    • CREATE (79-Standard-Variante) lässt im Gegensatz von <BUILDS oder FIG-Forth-CREATE das neu angelegte Wort "un-smudged", d.h. es ist und bleibt - auch wenn das Wort noch unfertig sein sollte - sichtbar und referenzierbar. Als Motivation dafür könnte die Aurufbarkeit für rekursive Definitionen oder einfache Strukturwörter wie VARIABLE, CONSTANT etc. müssen nicht mit dem Smudge-Bit herumturnen.
  • Es ist wirklich witzig: Grade vor ein paar Tagen habe ich begonnen, mich ernsthaft mit DurexForth 1.6.3 zu beschäftigen, dabei sind zwei Fragen aufgetreten, und ich habe mir gedacht: Schau ich einmal ins Forum, vielleicht hat sich schon einmal jemand damit beschäftigt - und finde diesen großartigen Einstieg! :-)


    Mir geht es allerdings um drei andere Fragen, vielleicht weiß zufällig jemand von euch mehr darüber:

    • Im Handbuch wird "forget" erwähnt, und zwar so:
    Code
    1. marker forget
    2. : x ;
    3. forget

    Das soll angeblich, wenn man das Wort aufruft, dieses Wort selbst und alles danach an Definitionen löschen. So weit so logisch. Nur bekomme ich die Fehlermeldung forget?. Ist das überhaupt richtig implementiert, oder wende ich es bloß falsch an?


    • folgender Eintrag:
    Code
    1. \ Comment to end of line. (Used when cross-compiling from PC/ASCII.)

    Meint er damit das Editieren der Sourcen auf PC, oder gibt es tatsächlich einen Cross-Compiler? Wenn ja, ist er gut versteckt!


    • und das hier:

    Ich hatte damals ein Programm für die C-64-Floatroutinen geschrieben für Durexforth und habe eine Lösung gefunden um 2 Grafikbildschirme wechselseitig zu nutzen desweiteren die Reubefehle eingebunden.

    Genau danach habe ich grade gesucht. Hast du die noch? Funktionieren sie? Das Zeichnen und dann umschalten auf die fertige Graphik wäre wichtig.

  • Das soll angeblich, wenn man das Wort aufruft, dieses Wort selbst und alles danach an Definitionen löschen. So weit so logisch. Nur bekomme ich die Fehlermeldung forget?. Ist das überhaupt richtig implementiert, oder wende ich es bloß falsch an?

    Das kommt mir komisch vor. Ich kenn das konkrete Konstrukt unter Durex-Forth mit dem Definitionswort "marker" nicht. Scheint mir eine Position im aktuellen Stelle im Dictionary festlegen zu lassen (das dann durch das Wort "forget" repräsentiert wird). Schaut aus wie eine "Label-Funktionalität" aus. Der Aufruf von "forget" wird aber wohl nur die Adresse der Stelle im Dictionary zurück liefern. Oder überhaupt nur mit speziellen, anderen Wörtern referenzbar sein.
    Im "normalen" FIG-Forth wird ja um alle Wörter bis inklusive Wort "x" zu löschen mit


    forget x


    erledigt. Das Wort "forget" sucht also das Wort "x" und vergiss dann alle nach dem "x" definierten Wörter inklusive "x" selbst.



    eint er damit das Editieren der Sourcen auf PC, oder gibt es tatsächlich einen Cross-Compiler? Wenn ja, ist er gut versteckt!

    Das ist in der Tat eine interessante Frage. Ich hätte getippt, er meint das editieren am PC und das Ablaufenlassen im Emulator? Also ich mach das zumindest bei meiner Performance Micro Products Forth. Das Textfile des Screens wird ins entspr. SEQ-Format konvertiert, dann ein Image gebaut und dieses dem Emulator untergeschoben.

  • Ich habe ein sehr gutes Buch zum Thema Forth gefunden. Es ist von Peter Monadjemi ins Deutsche übersetzt worden. Für Einsteiger habe ich nichts besseres gefunden. Mir zumindest hat es sehr gut weitergeholfen.


    https://www.springer.com/de/book/9783528043469


    Es ist allerdings nicht billig. Es kostet fast 37€. Angesichts der Tatsache, das es kaum Einsteigerbücher für Forth in Deutscher Sprache gibt, ist es eigentlich alternativlos.

    ___________________________________________________________________________
    Ultimate64, TAPunio, SD2IEC, ZX Spectrum 48k, 1581 Replik, C64 Laptop, C64 MK II, C116, SX64,
    MiSTer FPGA, TI99/4A mit PEB, Atari 800 XL, Anycubic I3 Mega, Mega65, C64 Modular, Uniprom64


  • Z.B.? Ich habe im Internet noch keine vernünftige Einsteigerlektüre gefunden. Der Autor hat mich auf jeden Fall sehr schön in das Thema eingeführt. Es stimmt, es ist irrsinnig teuer. Ich habe mich für die ebook - Variante entschieden.

    ___________________________________________________________________________
    Ultimate64, TAPunio, SD2IEC, ZX Spectrum 48k, 1581 Replik, C64 Laptop, C64 MK II, C116, SX64,
    MiSTer FPGA, TI99/4A mit PEB, Atari 800 XL, Anycubic I3 Mega, Mega65, C64 Modular, Uniprom64

  • Noch eine Frage zu DurexForth. Es scheint keine 'cold'-Anweisung zu geben. Gibt es dafür einen anderen Befehl?

    ___________________________________________________________________________
    Ultimate64, TAPunio, SD2IEC, ZX Spectrum 48k, 1581 Replik, C64 Laptop, C64 MK II, C116, SX64,
    MiSTer FPGA, TI99/4A mit PEB, Atari 800 XL, Anycubic I3 Mega, Mega65, C64 Modular, Uniprom64

  • Ist so halb OT, aber ich simulier gerade wie man ein absolut minimales forth auf einer fpga CPU ans Laufen bringen könnte.


    Über


    https://www.reddit.com/r/Forth…nimal_forth_from_scratch/


    hab ich die Links zu Moving forth und ItsyForth gefunden. Aus diesen Links kann man auch viel lernen.