Posts from Snoopy in thread "MEGA65 - BASIC 65-Referenzhandbuch"

    Nach über einem Jahr, hier mal zumindest eine kurze Info! :D

    Das Referenzhandbuch bezieht sich nach wie vor auf die stabile ROM-Version 920377 und ist vom 4. Juni 2023.

    Aktuell ist das "Beta-ROM" in der Version 920407, das paar Änderungen im Handbuch nach sich zieht. Allerdings halten sich diese im sehr überschaubaren Rahmen. :search:

    Was das Handbuch betrifft, müssten aktuell drei neue Befehle mit aufgenommen werden: DECBIN, LINE INPUT und STRBIN$.

    Sie sind weitesgehend "selbsterklärend": :saint:

    Please login to see this attachment.

    Es ist auch "bald" eine neue stabile Version des ROMs angekündigt worden, so dass ich dann "beizeiten" auch mal schaue, dass ich die deutsche BASIC 65-Referenz auch auf einen neuen Stand bringe, der neben anderen kleinen Erweiterungen auch diese Befehle mit drin hat.

    Also keine Sorge, ich habe das Handbuch noch im Blick, allerdings jetzt nicht mit "täglichen" Updates (wenn ich das nach einem Jahr so sagen darf :whistling: ).

    Ich habe gestern und heute mal das BASIC65-Referenzhandbuch auf einen aktuellen Stand gebracht. Ich habe dazu die entsprechenden Änderungen im aktuellen englischen Referenzhandbuch als Basis verwendet. Einige Änderungen kamen rein, aber insgesamt "nichts Großes".

    Das BASIC65-Referenzhandbuch könnt ihr wie gehabt Please login to see this link. runterladen. :)

    Achtet bitte darauf, dass Firefox und Co die Datei nicht aus dem Cache holen, sondern wirklich neu runterladen. :prof:

    Der Stand ist nun vom 4. Juni 2023 (auf der vierten Seite ganz unten) und für das ROM 920377, also das "stabile" ROM.

    Das derzeit aktuellste ROM 92383 habe ich nicht berücksichtigt (sind eh nur paar Bemerkungen zum 80x50 Textmodus), da dies eher "noch Baustelle" ist (z.B. Please login to see this link. zu lesen). Sollte sich hier noch was ändern und das ROM mal als "stabil" rauskommen, dann kommt das alles entsprechend dann auch ins Handbuch. ;)

    Der EDMA Befehl kann derzeit nur Copy und Fill.

    Swap kann er nicht. Man kann ihn eingeben, aber es passiert nichts.

    Gerade mal mit dem 920377 getestet:

    Please login to see this attachment.

    Please login to see this attachment.

    Nach einem Tastendruck dann:

    Please login to see this attachment.

    In dem Beispiel funktioniert das SWAP-Kommando (2).

    Vielleicht war das bei dir ein Fall, wo es nicht geklappt hat?

    ... funktionieren die U1 und U2 Befehle im Basic nicht richtig.

    Das hat mir keine Ruhe gelassen, da ich diese Befehle schon selbst korrekt in einem BASIC-Programm für den MEGA65 verwendet habe. Ich bin hoffentlich noch nicht so senil! :alt:

    Gerade mal durchgetestet! Die kleinen Beispielprogramme zum Schreiben und Lesen in Sekoren habe ich von dieser Seite entnommen:

    Please login to see this link.

    Code: Writing data to a sector
    115 input "message to write";a$
    120 input "track to write";t
    130 input "sector to write";s
    140 open 15,8,15
    150 open 5,8,5,"#"
    160 print#5,a$
    170 print#15,"u2";5;0;t;s
    180 close 15:close 5
    190 end
    Code: Reading data from a sector
    120 input "track to read";t
    130 input "sector to read";s
    140 open 15,8,15
    150 open 5,8,5,"#"
    160 print#15,"u1";5;0;t;s
    170 for i=1  to 20
    180 get#5,a$:if a$="" then a$=chr$(0)
    190 print a$
    200 next
    210 close 5:close 15

    Mit dem originalen Commodore-C65 ROM 911001 klappt es:

    Please login to see this attachment.

    Please login to see this attachment.

    Den Sektor mit DirMaster angeschaut:

    Please login to see this attachment.


    Mit dem Please login to see this link., das auf dem ROM 920300 basiert, klappt es auch:

    Please login to see this attachment.

    Please login to see this attachment.

    Mit DirMaster kontrolliert:

    Please login to see this attachment.


    Nur mit dem aktuellen MEGA65-ROM 920377 klappt es nicht mehr:

    Please login to see this attachment.

    Da wirft das Leseprogramm das aus:

    Please login to see this attachment.

    Und DirMaster zeigt diesen Sektorinhalt:

    Please login to see this attachment.

    Der Fehler muss also definitiv nach dem ROM 920300 reingekommen sein.

    Das ist eher ein Beispiel dafür, was "kaputt" gehen kann, wenn man am ROM arbeitet. Und dass man dann nie genug testen und prüfen kann, ob dann noch alles so funktioniert wie vorher. :prof:

    Ich habe das Ganze aber auch nicht mehr in der Tiefe verfolgt.

    Ich lasse mir hin und wieder die Veränderungen im LaTeX-Quellcode des englischen Referenzhandbuchs anzeigen und seh zumindest, was sich dort von einer Version zur nächsten verändert hat. Die Ergänzung bei EDMA muss relativ neu sein. Und bei MID$ ist die Änderung, dass der Startindex erst ab 1 beginnen darf und nicht, wie bislang im Buch steht, ab 0. Sonst habe ich noch keine Änderung in den Befehlsbeschreibungen gefunden.

    Ich gehe das demnächst mal an, sobald ich bisschen mehr Luft dafür habe. :)

    Ich würde mir das mit dem Druck derzeit noch überlegen. Da Befehle wie z.B. EDMA nicht vollständig sind.

    Ich habe mal nachgeschaut, bei EDMA ist in der Tat eine Bemerkung mit hinzugekommen. Da muss ich mal ran. :loet

    Aber ansonsten hat sich nichts geändert. Hätte mich auch gewundert, da das ROM fix ist. Wo sollen da plötzlich neue Sachen herkommen? :)

    Gerade vergleiche ich im Benutzerhandbuch auf Seite 237 zum Befeshl SOUND die Zeile Impulsweite mit einem Bereich von 0-5095, mit der C65 Originaldokumentation. Dort steht der Wertebereich wäre von 0-4096.

    Da wird doch wohl kein Fehler im Handbuch sein? :schreck!:

    Ich habe das gerade mal korrigiert und hochgeladen:

    Please login to see this link.

    Achtet bitte wieder darauf, dass die Datei nicht aus dem Browsercache geholt wird. Das Datum im PDF auf der vierten Seite sollte nun "18. Oktober 2022" sein. :)

    Kommen denn noch Änderungen zur letzten stabilen Version ..376 hinzu?

    Ich würde mir vielleicht nochmal ein ‚Update‘ zur Erstversion ausdrucken lassen. Darum frage ich lieber vorsichtshalber nach, ob sich von 365 zu 376 noch etwas geändert hat.

    Nach dem 365 sind "nur" noch Bugfixes gekommen, die keine Änderungen in den Befehlsbeschreibungen notwendig machen. Da das 376 das Please login to see this link. ist, sollte ein Druck des Handbuchs relativ "gefahrlos" sein, was die Befehlsbeschreibungen betrifft. :)

    Ich bin zwar dabei, die Please login to see this link. und paar weitere Sachen auch für die Buchform umzusetzen, aber da kann ich noch keine "Lieferzeiten" nennen. Gerade ist eher "Urlaubsmodus" angesagt. :tauch:

    Ich habe heute mal wieder etwas am Handbuch gearbeitet und gerade die neuste Version hochgeladen.

    Wie immer, ist das Please login to see this link. zum Runterladen. Achtet bitte wieder darauf, dass die Datei nicht aus dem Browsercache geholt wird. Das Datum im PDF auf der vierte Seite sollte nun "9. Juni 2022" und die berücksichtigte ROM-Version 920365 sein. ;)

    Änderungen:

    - Mapped Arrays T@& und C@& nach Vorlage aus engl. Handbuch eingefügt (Seite 7)

    - aktualisierte Schlüsselwörter-Tabellen vom engl. Handbuch übernommen (Seite 281 - 284)

    - MEM: Hinweise zu WPEEK und WPOKE ergänzt

    - POKE: Ergänzt um den Hinweis, dass bei Werten > 255 automatisch nur das niederwertige Byte geschrieben wird.

    - VSYNC: vom englischen Handbuch übernommen und eigenes Beispiel hinzugefügt

    - RUN: neue Abkürzung (Pfeil nach oben) hinzugefügt

    - SGN: das Minuszeichen vor der 0 entfernt ( knusis : Danke für deinen Hinweis! :thumbup: )


    Außerdem bin ich nochmals alle Befehle durchgegangen und habe auch den Sourcecode zu Rate gezogen ...

    CATALOG, COLOR, ERASE und FAST:

    eigene Beschreibung entfernt und jeweils Hinweis und Seitenverlinkung zu Synonymen hinzugefügt

    Es gibt im BASIC 65 (meistens "historisch" bedingt) einige Schlüsselwörter, die nicht nur Funktionen mit gleichem Ergebnis ausführen, sondern die in der Tat exakt den gleichen Code, die gleiche Routine ausführen. Hier ist wirklich nur der Name des Befehls anders, der Code dahinter, der ausgeführt wird, ist exakt derselbe. Das heißt, dass eventuelle Codeänderungen im jeweiligen Befehl auch die Beschreibung des Synonyms betreffen würde.

    Please login to see this attachment.

    Der blau markierte Befehl wird jeweils ausgeführt, die schwarzen Namen sind nur andere Namen für die gleiche Routine.

    Aus diesem Grund habe ich möglichst konsequent nur bei dem Befehlsnamen, mit dem die Routine im Sourcecode bezeichnet ist, die Beschreibung stehengelassen. Nur DELETE <Dateiname> habe ich in der Beschreibung dringelassen, auch wenn dies die Routine SCRATCH aufruft, da DELETE <Zeilenbereich> eben auch noch Zeilen in einem Listing löscht. Diese doppelte Nutzungsmöglichkeit wollte ich dann doch erkenntlich drinlassen.

    Bei den Synonymen findet sich jetzt nur noch ein Hinweis und Seitenlink auf den ausgeführten Befehl. So erspart man sich doppelte Arbeit bei Änderungen und für den Nutzer ist erkenntlich, dass es exakte der gleiche Befehl ist, der ausgeführt wird.


    So, dann hoffe ich, dass das Handbuch wenigstens 24 Stunden aktuell ist. :D

    Ich habe jetzt alle Token im Handbuch mit der Liste verglichen.

    Hier waren die Tokens falsch oder haben gefehlt:

    CHR$, CURSOR, DEF FN, EDIT, EXIT, MOD, SPEED und WHILE.

    SPRDEF ist rausgefallen, dessen Platz $FE $1D hat das neue WPOKE eingenommen.