include "cartheader.dasm" ; program start Temp equ $03 Start sei ; turn off interrupts ldy #0 sty $d020 ; reset border color Loop lda Message,y ; load message byte beq EOM ; 0 = end of string clc adc #$c0 ; + 192 sta $400+41,y ; store to screen iny bne Loop ; next character EOM Wait1 lda $d011 bmi Wait1 ; wait for line < 256 Wait2 lda $d012 ; get current scanline Wait3 cmp $d012 beq Wait3 ; wait for scanline to change lsr lsr clc adc Temp sta $d020 ; set border color lda $d011 ; get status bits bpl Wait2 ; repeat until line >= 256 sty $d020 ; reset border color dec Temp ; scroll colors jmp Wait1 ; endless loop Message ; PETSCII - http://sta.c64.org/cbm64pet.html byte "HELLO`WORLDa" byte 0