У меня есть код, как показано ниже, и он отлично работает. Он очищает экран, помещает в цветную память первые 12 символов на экране и печатает текст на экране.Изменение цвета текста без памяти цвета в C64/Сборка
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?
Edit: я думал, что мне нужно быть более ясным, я могу использовать
lda #color
sta 646
Но это не влияет на текст положить на экране ассемблере в 1024+.
Есть ли адрес, который влияет на все символы, помещенные на экран?
Редактировать: Я думаю, что знаю ответ, нет.
Зачем вам доверять? Я думаю, что ваш ответ велик. Я не знал о трюке '$ ffd2'. Благодарю. –
Это тот, который застрял у меня в голове даже через 30 лет после того, как я его последний раз использовал. Возможно, вам захочется ознакомиться с операционной системой. Существует полная разборка по адресу http://www.ffd2.com/fridge/docs/c64-diss.html, векторы ядра начинаются с $ FF81 с кратким описанием того, что делают каждый. – Mike
Ничего себе, 30 лет! Я тоже пытался программировать C64 30 лет назад, но тогда мне было невозможно достичь каких-либо ресурсов программирования в моей стране. Спустя 30 лет я решил изучить сборку C64. С такими людьми, как вы, это кажется возможным. –