Beiträge von JeeK im Thema „Schleife für Bildschirmfüllen 128x“

    INX

    BNE

    setzt aber das Carry, wenn x=0 wird. Im Zweifel wird halt 2 statt 1 addiert...

    Nein (wie schon Mac Bacon schrieb), hier die zur Nachlese: Bitte melde dich an, um diesen Link zu sehen. (ist auch gegenüber anderen Quellen verifiziert). Analog INY aber auch DEX, DEY beeinflussen das Carry nicht. Das sind Operationen, die nicht die ALU für die Addition/Subtraktion verwenden und da spielt das Carry-Flag nicht (automatisch) mit.

    Am Ende ist nur ein Zeichen zuviel und es läuft unendlich . Das bekomme ich raus. Welche Adressen kann man denn in der Zro-Page nutzen 02 war es glaube ich und Datasettenpuffer. Gibt es da noch eine Liste ?

    Stimmt, hab's im Listing korrigiert. Das muss LDX Bitte melde dich an, um diesen Link zu sehen. heißen.

    Terminiert nicht? Den Code abgetippt oder kopiert? Wenn das CPY Bitte melde dich an, um diesen Link zu sehen. am Ende nicht stimmt, wird es nicht enden ...

    02 ist nicht in Verwendung.

    $FC, $FD, $FE, $FF sind auch auf jeden Fall unbelegt.

    Sonst hängt es ab, welche ROM-Routinen man gedenkt zu verwenden, da diese gewisse ZP-Stellen verändern und dann die eigenen Werte überschrieben werden.

    Siehe Bitte melde dich an, um diesen Link zu sehen..

    Code
      clc
      adc #1

    oder

    Code
    iny
    tya

    Das CLC muss man übrigens nur ganz zu Beginn machen.

    Ist jetzt wirklich gewünscht den Schirm jeweils ein 1/4 mit einem anderen Zeichen zu füllen oder soll nun immer der gesamte Schirm mit einem Zeichen gefüllt werden?

    Das Beispiel von goloMAK, das den gesamten Schirm füllt, könnte man auch ohne die Speicherstelle $02 zu verwenden

    Moin. Habe mein Versuch nun gelöst.

    In dieser Variante kann man sich auch die Zuhilfenahme von Speicherstelle 49152 sparen, indem man das direkt mit Y führt.
    Die Schleife kann man in eine dekrementierende umwandeln, da spart man sich die Abfrage auf den Endwert. Da mit einem Wert >127 gearbeitet wird, verwenden wir einen Indexwert in X mit 1 ... Endwert (um 1 erhöht) und verwenden als Kompensation dafür STA basis-1,X um dann bequem nach dem DEX mit BNE die Schleife zu bilden. X läuft dann von 240 bis 1 (vorher 239 bis 0).