DurexFORTH - Diskussion zum Tutorial


  • lodger
  • 8690 Views 87 replies

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • 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.
    Wissen ist das einzige Gut, das sich beim Teilen vermehrt. Also seid vorsichtig damit!
  • 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

    The post was edited 2 times, last by spacer ().

  • 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
    Images
    • Bild2.jpg

      58.53 kB, 1,200×525, viewed 15 times
    • Bild2.jpg

      73.17 kB, 1,200×521, viewed 8 times

    The post was edited 3 times, last by spacer ().

  • MOS wrote:

    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:

    Source 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:

    Source 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:

    spacer wrote:

    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.
  • BlondMammuth wrote:

    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.


    BlondMammuth wrote:

    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.

    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.
    _________________________________________________________________________
    Kickstarter C64, TAPunio, SD2IEC, ZX Spectrum 48k, Harlequin 128 mit ZX-HD, DivMMC Pro,
    ZX Spectrum 128 Toast Rack, Amiga1200, Turbokarte ACA1233n, MiSTer FPGA, TI99/4A mit PEB
  • New

    spacer wrote:

    Im Internet gibt es wunderbare Hilfen für FORTH kostenfrei.

    So ein teures Buch ist da nicht Nötig.
    Zumal der Schreiber nicht auf die Sachen eingeht die wir jetzt Suchen.
    https://www.springer.com/de/book/9783528043469
    ca 75 Euro.


    Gruss

    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.
    _________________________________________________________________________
    Kickstarter C64, TAPunio, SD2IEC, ZX Spectrum 48k, Harlequin 128 mit ZX-HD, DivMMC Pro,
    ZX Spectrum 128 Toast Rack, Amiga1200, Turbokarte ACA1233n, MiSTer FPGA, TI99/4A mit PEB
  • New

    Noch eine Frage zu DurexForth. Es scheint keine 'cold'-Anweisung zu geben. Gibt es dafür einen anderen Befehl?
    _________________________________________________________________________
    Kickstarter C64, TAPunio, SD2IEC, ZX Spectrum 48k, Harlequin 128 mit ZX-HD, DivMMC Pro,
    ZX Spectrum 128 Toast Rack, Amiga1200, Turbokarte ACA1233n, MiSTer FPGA, TI99/4A mit PEB