Der MEGA65-Laber-Stammtisch

Es gibt 9.253 Antworten in diesem Thema, welches 1.003.192 mal aufgerufen wurde. Der letzte Beitrag (20. November 2025 um 14:17) ist von SirGeldi.

  • Die Versionsangabe 7.3.1 habe ich länger nicht geändert.

    Zieh bitte nochmal, es sollte jetzt die 7.3.2 sein (WIP-Link only!)

    Damit klappt das bei mir mit deinem Listing einwandfrei.

    C64Studio: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- C64Studio WIP: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen.

  • Die Versionsangabe 7.3.1 habe ich länger nicht geändert.

    Zieh bitte nochmal, es sollte jetzt die 7.3.2 sein (WIP-Link only!)

    Damit klappt das bei mir mit deinem Listing einwandfrei.

    Hi

    leider klappt das bei mir immer noch nicht. Habe mir deine neuste Version gezogen. Ich benutze die Net 6.0 Version.

    Kann ich noch irgenwas auf meinen Rechner löschen um den Fehler event. zu beheben.


    Es klappt jetzt. Vielen Dank für deinen Hilfe. :thumbsup:

  • Hallo Leute

    ich bin es mal wieder.

    Da heute bei uns ein Feiertag ist habe ich natürlich auch Zeit Dinge zu probieren.

    Was ich probieren will ist die Basic-Startadresse nach oben zu verschieben, von $2001 nach $3001.

    Scheint auch wirklich kein Problem zu sein. Laut der Internetseite C65 Memory Map - C65 mode brauche ich ja nur die neue Adresse in der Adresse 45 (lowbyte) 46 (highbyte) eintragen.

    Bitte melde dich an, um diesen Anhang zu sehen.

    Dies habe ich auch getan.

    Hier mal ein Bild vor der Einstellung des neuen Eintags über den Verfügbaren Platz für Programme

    Bitte melde dich an, um diesen Anhang zu sehen.

    Laut Fre(0) ist das 55037 Bytes

    So dann habe ich den Basicstart nach $3001 verschoben mit Poke 45,1:poke 46,48:new und wieder Print Fre(0) eingegeben und was spuckt dieser aus

    Bitte melde dich an, um diesen Anhang zu sehen.

    55037 Bytes

    Habe ich nun den Basicstart verschoben ?

    Laut angezeigten Bytes nicht.

    Habe ich was falsch gemacht ?

    Dann sagt mir was ich das machen kann um das zu erreichen.

    Wenn ihr fragt wozu, ganz einfach ich möchte meine Sprite Daten nach vorne verlagern. Ich möchte nicht über Bank kopiererein das jedes mal nach Adresse $0600 - $07ff verschieben. Da hier immer nur 8 Sprites reinpassen.

  • Habe gerade einen Blick ins Basic ROM geworfen. Der Basic-Start ist hardcoded als $2000 (BASBOT). Da gibt es leider keinen Pointer mehr den man verändern könnte ;(

    Die Adressen haben sich beim Mega65 gegenüber dem C65 verändert. Gemäß Basic ROM Sourcecode liegt an Adresse 45/46 jetzt der Name der zuletzt verwendeten Variable.

    Code
    X=1:PRINT CHR$(PEEK(45))
    X
    
    READY.
  • Habe gerade einen Blick ins Basic ROM geworfen. Der Basic-Start ist hardcoded als $2000 (BASBOT). Da gibt es leider keinen Pointer mehr den man verändern könnte ;(

    Die Adressen haben sich beim Mega65 gegenüber dem C65 verändert. Gemäß Basic ROM Sourcecode liegt an Adresse 45/46 jetzt der Name der zuletzt verwendeten Variable.

    Code
    X=1:PRINT CHR$(PEEK(45))
    X
    
    READY.

    OH, das ist ja blöd. Aber Danke für den Hinweis. Dann muss ich mir was anderes einfallen lassen wie ich meine Sprite-Daten ablege kann ohne Kopierwahn. :gruebel

  • OH, das ist ja blöd. Aber Danke für den Hinweis. Dann muss ich mir was anderes einfallen lassen wie ich meine Sprite-Daten ablege kann ohne Kopierwahn. :gruebel

    Könntest Du die Spritedaten statt vor nicht hinter das Basic-Programm legen? Da ist jede Menge freier Speicher, der durch nichts gestört wird. Variablen liegen bei $F800, und Arrays sowie Strings liegen in Bank 1. Da müsste also nicht mal ein Basic-Ende Pointer verändert werden.

  • Kann man die Spritepointer nicht so setzen das sie auf Bank 3 oder 4 zeigen ?

    C64 + TC64-2 / C128 + 1MB REU + RTC + TAPECART / 1541 / 1541-II / 1570 / 1571 / 1581 / SD2IEC

  • Kann man die Spritepointer nicht so setzen das sie auf Bank 3 oder 4 zeigen ?

    Auch eine gute Idee. Die Sprites können beim VIC IV irgendwo in den ersten 4 MB liegen. Bank 3 ist vielleicht nicht so gut, weil da das ROM liegt. Aber Bank 4 oder Bank 5 sollte kein Problem sein.

  • Richtig, ich meinte Bank 4 und 5. Freudscher vertipper. Ich nutze für meinen Kram (Framebuffer und so nen Gedöhns) auch immer Bank 4.

    C64 + TC64-2 / C128 + 1MB REU + RTC + TAPECART / 1541 / 1541-II / 1570 / 1571 / 1581 / SD2IEC

  • Richtig, ich meinte Bank 4 und 5. Freudscher vertipper. Ich nutze für meinen Kram (Framebuffer und so nen Gedöhns) auch immer Bank 4.

    Ja darüber habe ich auch schon was gelesen. Aber das verbiegen der Spritepointer hat irgendwie nicht geklappt damals bei mir. Aber ich werde es nocheinmal probieren.Vielleicht habe ich damals was falsch gemacht. Danke für eure Ratschläge. Ich frage mal im Discord nach wie man den Spritepointer einstellt für Bank 4. ^^

  • Man kann ja eigentlich alles über die Pointer verbiegen. Daher macht wohl eine Verschiebung des Basic Starts keinen Sinn mehr.

    C64 + TC64-2 / C128 + 1MB REU + RTC + TAPECART / 1541 / 1541-II / 1570 / 1571 / 1581 / SD2IEC

  • Ja das hast du recht. Ich kam ja nur auf den Gedanken, weil ich das damals mit dem verbiegen der Spritepointer nicht hinbekommen haben. Und weil ich nicht weis wie groß mein Basic-Programm wird, kam halt der Gedanke mit dem nach vorne legen der Sprite-Daten. :)

  • Richtig, ich meinte Bank 4 und 5. Freudscher vertipper. Ich nutze für meinen Kram (Framebuffer und so nen Gedöhns) auch immer Bank 4.

    Ja darüber habe ich auch schon was gelesen. Aber das verbiegen der Spritepointer hat irgendwie nicht geklappt damals bei mir. Aber ich werde es nocheinmal probieren.Vielleicht habe ich damals was falsch gemacht. Danke für eure Ratschläge. Ich frage mal im Discord nach wie man den Spritepointer einstellt für Bank 4. ^^

    Da habe ich auch erst keinen Erfolg gehabt. So geht es:

    Bitte melde dich an, um diesen Anhang zu sehen.

  • Richtig, ich meinte Bank 4 und 5. Freudscher vertipper. Ich nutze für meinen Kram (Framebuffer und so nen Gedöhns) auch immer Bank 4.

    Ja darüber habe ich auch schon was gelesen. Aber das verbiegen der Spritepointer hat irgendwie nicht geklappt damals bei mir. Aber ich werde es nocheinmal probieren.Vielleicht habe ich damals was falsch gemacht. Danke für eure Ratschläge. Ich frage mal im Discord nach wie man den Spritepointer einstellt für Bank 4. ^^

    Da habe ich auch erst keinen Erfolg gehabt. So geht es:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Oh, Klasse Danke. War auch auf Discord und habe dort nachgefragt. Man gab mir eine Seite, wo das Demo von Xanadu mit Rem Zeilen genau erklärt wird was welche Routine macht. Ist auch sehr hilfreich.

    Bitte melde dich an, um diesen Link zu sehen.

  • Hallo bubbob42

    Ich habe mir dein Code abgeschrieben.

    Jetzt noch eine Frage

    Wie schalte ich denn die Sprites ein. Mit Sprite 0,1,1,1,0,0 scheint es nicht zu gehen. Und wie ist das mit den Sprite Pointer von Poke 4088,x bis Poke 4094,x

    Bleiben die gleich, oder sind das dann andere Adressen, so wie beim C64 wenn ich da eine andere Bank wähle.

  • Glaube hier ist's besser aufgehoben..
    Ich glaube ich stehe mal wieder auf'm schlauch. Ich hatte im Sinn, dass ich den Spriteeditor mit der Maus bedienen konnte. Jetzt zappelt der Mauszeiger nur noch rum. Hat jetzt die Maus ne macke? oder ich? Gibt's da irgendwas besonderes zu beachten?

  • Glaube hier ist's besser aufgehoben..

    Nein, hier wird alles rein geschrieben und dadurch gehen hier zig Infos unter und die findet niemand mehr wieder.

    Ich glaube ich stehe mal wieder auf'm schlauch. Ich hatte im Sinn, dass ich den Spriteeditor mit der Maus bedienen konnte. Jetzt zappelt der Mauszeiger nur noch rum. Hat jetzt die Maus ne macke? oder ich? Gibt's da irgendwas besonderes zu beachten?

    Die Maus funktioniert teils richtig. Mit MouSTer Adapter und einer USB Maus funktioniert es. Aber nur so lange wie man im MonoColor Mode bleibt.

    Im Multicolormode funktioniert das so gut wie überhaupt nicht. Ich werd bei Gelegenheit noch mal die 1351 testen, die ging damals auch so gut wie gar nicht

    richtig.

    C64 + TC64-2 / C128 + 1MB REU + RTC + TAPECART / 1541 / 1541-II / 1570 / 1571 / 1581 / SD2IEC

  • Hallo bubbob42

    Ich habe mir dein Code abgeschrieben.

    Jetzt noch eine Frage

    Wie schalte ich denn die Sprites ein. Mit Sprite 0,1,1,1,0,0 scheint es nicht zu gehen. Und wie ist das mit den Sprite Pointer von Poke 4088,x bis Poke 4094,x

    Bleiben die gleich, oder sind das dann andere Adressen, so wie beim C64 wenn ich da eine andere Bank wähle.

    Bewege die Sprites mal in die Bildschirmmitte, nachdem Du sie eingeschaltet hast. :)

    Die Adressen der Spritepointer liegen hinter dem Screenram, d.h. die Position hängt davon ab, ob Du im 40 oder 80-Zeichen-Modus bist, wenn ich mich recht erinnere. Ist aber eine Weile her.

    Ich muss den Beispielcode endlich mal in das M65-manual pushen. :(

    Guck' Dir die angehängte Disk an!