Allgemeine Frage Assembler Mega65

Es gibt 3 Antworten in diesem Thema, welches 536 mal aufgerufen wurde. Der letzte Beitrag (9. April 2025 um 13:18) ist von Bananzi65.

  • Hallo Leute,

    wollte mal fragen wie ich das mit der Speicheradresse des Mega65 im Assembler regle.

    Sagen wir ich möchte die Bank 2 des M65 benutzen für meine kleines Maschinenprogramm.

    Die Adresse der Bank 2 liegt ja bei $20000 bis $2FFFF.

    Sage ich dann dem Assembler das so:

    *=$20000

    Oder muss ich das anders machen.

  • Schaue Dir doch am besten das Beispiel von Endurion von Mega Sisters an. Da ist der Sourcecode enthalten.

    Und da sehe ich sowas hier

    LOAD_CODE_LOCATION = $0400

    SPRITE_LOCATION = $14000


    Bitte melde dich an, um diesen Link zu sehen.

  • Das sind aber nur Label Zuweisungen.

    Der Loader wird ganz normal nach Adresse $2001 geladen und verschiebt dann nur die Daten an die entsprechenden Memorybereiche.

    Vielleicht kann Endurion hier weiterhelfen. Meine Vermutung ist, das der Code bei Mega Sisters ganz normal in BANK 0 läuft und nur die Daten woanders liegen, aber ist nur Bauchgefühl.

    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.Bitte melde dich an, um diesen Link zu sehen.

  • Hallo!

    Wenn du im großen MEGA65-Kompendium die Stellen aufsuchst, die den MAP-Befehl erklären, findest du was du suchst. Allgemein greifen die Befehle mit ihren Adressierungsarten auf die Bank 0 zu und man blendet jeweils Blöcke aus anderen Speicherbereichen in die Bank 0 ein, um diese zu lesen oder zu verändern. Darüber hinaus gibt es ein flottes DMA, welches echtes Kopieren aus anderen Bereichen erlaubt.

    Einfach die beiden Begriffe im Kompendium suchen. Wenn es Probleme gibt, gerne noch einmal fragen.
    Gruß!