我有一个类似下面的代码,它工作正常。它清除屏幕,将一些颜色放入屏幕前 12 个字符的颜色记忆中,然后在屏幕上打印文本。
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!"
我想知道的是,如果有更简单的方法来更改 C64 程序集中的文本颜色,就像POKE 646,color
在 BASIC 中一样?
编辑:我想我需要更清楚,我可以使用
lda #color
sta 646
但它不会影响 1024+ 中的汇编代码在屏幕上显示的文本。
是否有影响屏幕上所有字符的地址?
编辑:我想我知道答案,不。