Ich habe einen Code wie unten, und es funktioniert gut. Es löscht den Bildschirm, legt eine Farbe in den Farbspeicher der ersten 12 Zeichen auf dem Bildschirm und druckt einen Text auf dem Bildschirm.Ändern Sie die Farbe des Textes ohne Farbspeicher in C64/Assembly
jsr $e544
ldx #$00
lda #3
loopclr: sta $d800,x
inx
cpx #$0c
bne loopclr
ldx #$00
lda #0
loop: lda message,x
sta $0400,x
inx
cpx #$0c
bne loop
rts
message: .byte "Hello "
.byte "World!"
Was ich frage ich ist, wenn es ein einfacherer Weg, um die Textfarbe in C64 Assembly zu ändern, wie POKE 646,color
in BASIC?
Edit: Ich dachte, ich brauche mehr klar zu sein, kann ich
lda #color
sta 646
verwenden, aber der Text nicht auf dem Bildschirm durch Assembler-Code in 1024+ setzen beeinflussen.
Gibt es eine Adresse, die alle Zeichen betrifft, die auf dem Bildschirm angezeigt werden?
Edit: Ich glaube, ich kenne die Antwort, nein.
Warum sollte deine Glaubwürdigkeit gehen? Ich denke deine Antwort ist großartig. Ich wusste nicht über '$ ffd2' Trick. Vielen Dank. –
Das ist eines, das auch 30 Jahre nach meinem letzten Gebrauch in meinem Kopf stecken geblieben ist. Sie möchten sich wahrscheinlich mit dem Betriebssystem vertraut machen. Es gibt eine vollständige Disassemblierung unter http://www.ffd2.com/fridge/docs/c64-diss.html, die Kernel-Vektoren beginnen bei $ FF81 mit einer kurzen Beschreibung dessen, was jeder tut. – Mike
Wow, 30 Jahre! Ich habe auch vor 30 Jahren versucht, C64 zu programmieren, aber damals war es für mich unmöglich, Programmressourcen in meinem Land zu erreichen. Nach 30 Jahren habe ich beschlossen, C64 Montage zu lernen. Mit Leuten wie dir scheint es möglich. –