Posts by Omega

    Wenn ich bei einem Spiel regelmäßig Fortschritte erziele, und wenn es nur ganz kleine sind, dann ist alles im grünen Bereich. Aber wenn ich zum hundertsten Mal an der selben Stelle nicht weiterkomme, alle Leben verliere und dann wieder ganz von Vorne anfangen muss, nur um das gleiche Trauma erneut zu durchleben, dann ist das Spiel Mist.


    Leider gibt es auf dem C64 viele Spiele, die ich deshalb als Mist bezeichnen würde. Zum Beispiel Hexenküche, Hawkeye, Delta, Druid usw. usw. Da ist die Grafik toll und die Musik auch und die Programmierung und die technischen Effekte. Aber die Spielbarkeit ist unter aller Sau. Ohne Cheat geht da gar nichts.

    ...weil gerade viele C64-Nutzer automatisch den "Cursor unten" dafür nutzen, den Bildschirm hochzuscrollen und Platz für neue Eingaben zu schaffen.

    Guter Punkt! Vielleicht könnte man Crsr-Down in der letzten Zeile je nach gedrückter Shift-Taste unterschiedlich behandeln? Ohne Shift bleibt alles wie gewohnt, mit Shift würde stattdessen das Listing weitergescrollt. So könnte man beide Funktionen behalten.

    Ich verstehe ja nicht wirklich was vom C64.


    Wenn F1/F7 schon das Listing nach oben und unten bewegt, müsste es doch eigentlich möglich sein, die gleiche Logik für Crsr-Up/Down zu nutzen, oder?


    Statt die Funktion direkt an F1/F7 zu koppeln, könnte man prüfen, ob Crsr-Up gedrückt wird, wenn die erste sichtbare Zeile markiert ist - und entsprechend nach oben scrollen. Crsr-Down würde dann scrollen, wenn die letzte sichtbare Zeile markiert ist.


    Vielleicht könnte man einfach abfragen, ob eine Cursor-Taste gedrückt wurde, und dann den gleichen Code ausführen, der bei F1/F7 läuft? Oder gibt es da ein Problem mit der Standard-Tastenverarbeitung von BASIC? :gruebel

    Immer wenn man mehrere Versionen von etwas hat und die alte Version nicht verändern möchte, braucht man das.

    Genau aus diesem Grund kopiere ich quasi täglich Dateien ins gleiche Verzeichnis. Das ist meine private "Versionsverwaltung".


    SuperwichtigeTextdatei_20250202.txt wird kopiert zu SuperwichtigeTextdatei_20250202_(Kopie 1).txt und dann umbenannt in SuperwichtigeTextdatei_20250203.txt, bevor ich dann am 3.2.2025 Änderungen darin vornehme.

    Brauche ich nicht. Ich kopiere die super wichtige Datei auf's Desktop, benenne sie dort um und verschiebe sie in den Ordner.

    Verstehe ich nicht. Ich sehe keine Möglichkeit, wie man bei GUI64 eine Datei auf den Desktop verschieben kann. :nixwiss:

    Ich weiß nicht, ob das machbar ist.


    Aber ich fände es besser, wenn man statt F1/F7 die Cursor-Tasten benutzen könnte. Wenn man sich in der ersten Zeile befindet und CRS-UP drückt, wird nach oben gescrollt. Und wenn man sich in der letzten Zeile befindet und CRS-DOWN drückt, entsprechend nach unten.


    Das würde sich für mich "natürlicher" anfühlen.

    So wie es in einem Textprogramm Gang und Gäbe ist. Und ich glaube, einige Assembler/Disassembler handhaben das auch so.


    Man hat dann auch das Doppelbelegungsproblem nicht.

    Das GUI64 soll ja ein Disk-Operating-System für den C64 sein. Und zu den grundlegenden Aufgaben eines solchen gehört es einfach, dass man Dateien kopieren, verschieben, löschen, umbenennen und duplizieren kann. - Muss man da wirklich Anwendungsfälle nennen? Immer wenn man mehrere Versionen von etwas hat und die alte Version nicht verändern möchte, braucht man das.:zorro:

    Oder etwas vereinfacht

    def fn fix(x) = int(abs(x))*sgn(x)

    Das ist das Tolle an diesem Forum: Man stellt etwas ein und kurze Zeit später gibt es eine verbesserte und optimierte Version von den Leuten, die wirklich Ahnung haben. :thumbup:

    Ah, ich glaube ich hab' das Problem. Ich muss das Golomak-Programm mit load"tbs050",8,1 laden. Ich habe es bisher immer nur mit load"tbs050" geladen. Außerdem muss ich vor dem Laden meines eigenen Programms new eingeben, weil ich sonst einen ?out of memory error kriege.


    Wenn ich das berücksichtige, dann klappt es auch.

    Funktioniert wunderbar! Echt super! :thumbsup:



    Edit: Den Speicherbereich ab 49152 braucht man in TSB auch gar nicht, weil diesen Hires-Kram eh keiner nutzt. :D

    F1 und F7. Und es muss eine BASIC-Zeile oder zumindest eine Zeilennummer auf dem Bildschirm stehen, damit er weiß, bei welcher Zeile er anfangen soll.

    Ich habe es noch einmal versucht.


    1. Die Anleitung in Post#33 gelesen.

    2. TSB geladen

    3. Dein Programm geladen.

    4. SYS49152


    Zusätzlich habe ich noch ein professionell geschriebenes Programm in den Speicher geladen und mit key off die F-Tastenbelegung von TSB ausgeschaltet. Sonst kommen ja die Belegungen F1=page23 und F7=error wenn man da rumdrückt.


    Aber ich bekomme keine Reaktion. - Tüt tüt tüt. Kein Anschluss unter dieser Nummer. :gruebel

    Denn wir wissen alle, wenn es um Zusatzbefehle geht, fehlt immer der Platz.

    Ja, da hast du wohl recht. Eigentlich braucht man das ja auch gar nicht.

    Mit einer selbstgeschriebenen Funktion kann man das neue Verhalten ja auch nachahmen.

    Zum Beispiel so:

    10 DEF FNfix(X)= ABS(X>=0)*INT(X) + ABS(X<0)*(-INT(-X))

    (oder wie auch immer man auf dem Mega65 Funktionen definiert. Ich hab' da jetzt keine Ahnung.)