41 lines
612 B
ArmAsm
41 lines
612 B
ArmAsm
.byte $01, $08 ; Load this .prg into $0801
|
|
|
|
*=$0801
|
|
.byte $0c, $08, $0a, $00, $9e, $20
|
|
.byte $34, $30, $39, $36, $00, $00
|
|
.byte $00
|
|
|
|
.dsb $1000 - * ; Pad with zeroes from PC to $1000
|
|
|
|
|
|
ldx #$08 ; Screen colours
|
|
stx $d020
|
|
ldx #$00
|
|
stx $d021
|
|
|
|
jsr $e544 ; clear screen
|
|
jsr print_string
|
|
|
|
loop:
|
|
lda $dc01 ; Scans the keyboard buffer
|
|
cmp #$ef ; If user presses Space ($ef) then quit
|
|
bne loop
|
|
|
|
rts
|
|
|
|
print_string:
|
|
ldx #$00
|
|
print_loop:
|
|
lda message,x
|
|
|
|
cmp #$0 ; return on null terminator
|
|
bne print_continue
|
|
rts
|
|
|
|
print_continue:
|
|
sta $0428,x
|
|
inx
|
|
jmp print_loop
|
|
|
|
message: .asc "welcome to scat os@"
|