Tôi có một mã như dưới đây và nó hoạt động tốt. Nó xóa màn hình, đặt một số màu trong bộ nhớ màu của 12 ký tự đầu tiên trên màn hình và in một văn bản trên màn hình.Thay đổi màu của văn bản không có bộ nhớ màu trong 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!"
Điều gì tôi tự hỏi, nếu có cách dễ dàng hơn để thay đổi màu văn bản trong hội C64, như POKE 646,color
trong BASIC?
Edit: Tôi nghĩ tôi cần phải rõ ràng hơn, tôi có thể sử dụng
lda #color
sta 646
Nhưng nó không ảnh hưởng đến văn bản đặt trên màn hình bằng cách mã lắp ráp trong 1024+.
Có địa chỉ nào ảnh hưởng đến tất cả các ký tự được đặt trên màn hình không?
Chỉnh sửa: Tôi nghĩ tôi biết câu trả lời, không.
Tại sao độ tin cậy của bạn sẽ thành công? Tôi nghĩ câu trả lời của bạn rất tuyệt. Tôi không biết về thủ thuật '$ ffd2'. Cảm ơn. –
Đó là một trong đó là bị mắc kẹt trong đầu của tôi thậm chí 30 năm sau khi tôi sử dụng nó lần cuối. Bạn có thể muốn làm quen với hệ điều hành. Có một sự tháo gỡ hoàn toàn tại http://www.ffd2.com/fridge/docs/c64-diss.html, các vectơ hạt nhân bắt đầu từ $ FF81 với một mô tả ngắn gọn về những gì mỗi người làm. – Mike
Chà, 30 năm! Tôi đã cố gắng lập trình C64 30 năm trước, nhưng khi đó tôi không thể tiếp cận bất kỳ nguồn tài nguyên lập trình nào ở đất nước tôi. Sau 30 năm, tôi quyết định học C64. Với những người như bạn, có vẻ như có thể. –