Rahmenfarbe ändern

There are 10 replies in this Thread which has previously been viewed 1,672 times. The latest Post (May 15, 2023 at 8:23 PM) was by Volker.

  • Hallo,

    ich habe eine Verständnisfrage zu einem extrem kurzen/einfachen Programm:

    Ich ändere nur die Rahmenfarbe auf schwarz, danach auf weiß und das wiederhole ich unendlich oft.

    a 2000 lda $80

    a 2002 sta $FF19

    a 2005 lda $F1

    a 2007 sta $FF19

    a 200A jmp $2000

    (Auf dem C16. Getestet im Emulator UND auf echte Hardware).

    Ich erwarte eigentlich immer abwechselnd einen schwarzen Punkt/Line und dann einen gleich lagen weißen Punkt/Linie.

    Ich sehe aber nur einen weißen Punkt und eine schwarze lange Linie. Dann wieder einen weißen Punkt und eine schwarze lange Linie.

    Dachte erst, dass das jmp so lange dauert und habe die Farben gewechselt. Dann siehe ich komischerweise noch immer das gleiche.

    Daraufhin habe ich BEIDE Farben auf grün (F4) gesetzt. Dann ist (logischerweise) fast alles grün, aber ab und zu ist da immer ein weißer Punkt.

    Wie kommt das? Ich kann mir das nicht erklären.

    Hat einer von euch dafür eine Erklärung?

  • Du möchtest LDA #$80 und LDA #$F1 schreiben. Ohne das "#" lädst Du Werte aus der Zeropage bei $80 und $F1, was wahrscheinlich nicht deine Absicht war.

    Ist ein Klassiker.

    Die "grauen" Einzelpunkte treten auf späteren CBM-Videochips immer auf, wenn schreibend auf ein Farbregister zugegriffen wird und es gerade auch zur Darstellung verwendet wird. Das ist ein analoger Effekt innerhalb des Videochips.

  • a 2000 lda $80

    a 2005 lda $F1

    Probier mal

    a 2000 lda #$80

    a 2005 lda #$F1

    aus.

    Yes, I'm the guy responsible for the Please login to see this link. cross assembler. And some Please login to see this link..

  • Ich habe null Plan vom C16, aber was mir auffällt ist dass Du die Werte aus den Speicheradressen $80 und $F1 lädst. Soll das so sein? Oder meinst Du eigentlich lda #$80?

    EDIT: ok, da war ich wohl zu spät... :rolleyes:

    ────────────────────────────────────────────────────────────
    Please login to see this link. - Please login to see this link.
    ────────────────────────────────────────────────────────────

  • Ach ja, die erwähnten weißen Punkte sind nicht weiß, sondern hellgrün, dabei handelt es sich um das TED-Äquivalent von dem Effekt, der auf dem VIC des C64 als "greydots"-Problem bekannt ist: Bei jeder Änderung eines Farbregisters ist für einen sehr kurzen Zeitraum (kleiner als ein Pixel!) der Wert $ff aktiv.

    Yes, I'm the guy responsible for the Please login to see this link. cross assembler. And some Please login to see this link..

  • Ich empfehle dem Threadersteller mal ein gutes Buch zum Thema Maschinensprache ...

    Ja, aber vorher sollte man ihm sagen das er da Werte aus der Zeropage lädt.:D

    Ich komm mit ->:weg:

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

  • Wow. So schnell so kompetente Antworten. Klasse Forum! Danke euch.

    Das empfolene Buch hatte ich mir Ende der 80er Jahre sogar gekauft. Ich finde es leider nicht mehr. Muss noch mal meinen Dachboden durchsuchen.

    Ja, mit # kommt es jetzt meinen Erwartungen (fast) zu 100% hin.

    Jetzt sind die Farben auch knackig und die Linien sind (fast alle) gleich breit.

    Die "grauen" Einzelpunkte sind jetzt (im Emulator) nicht mehr da zu sehen, wo sie vorher waren (ich probiere es nachher mal auf realer Hardware).

    Jetzt sind nur noch zwei Dinge (im Emulator) komisch:

    In der aller obersten Zeile sind drei gleich Breite linien zu sehen (weiß, grau, schwarz). Das graue dort könnte duch den "greydots" - Effekt erklärt werden (wunder mich nur, dass es in den anderen Zeilen nicht zu sehen ist).

    Und die Zeilen am Ende des Bildes sind komisch. Dort sehe ich plöttzich 4 Zeilen schwarz. Als ob der Rechner dort etwas anders macht und nicht mehr mein Programm. Kümmert der sich in dem Moment um Interrupts, Tastaturabfragen, ... ?

  • Ah.. cool. Mit "sei" sind die 4 dicken schwarzen Linien weg, das "Bild" ist stabil/ruhig und kann nicht mir durch drücken von anderen Tasten "zum Tanzen" gebracht werden.

    Sehr schön. Verstehe ich soweit.

    Danke! Werde jetzt mal auf den Dachboden stöbern, da muss auch noch irgendwo das Buch liegen.