apple1serial/src/tests.xa

57 lines
864 B
Plaintext

#define echo $FFEF
#define kbd_data $D010
#define kbd_cr $D011
#define serial_ready $C000
#define serial_read $C080
#define serial_write $C081
* = $C300
.dsb (*-end_of_apple1serial), 0
; teletype on apple-1
* = $C300
teletype_apple1 = $C300
lda serial_read
wait
lda serial_ready
beq wait
lda serial_read
jsr echo
jmp wait
end_of_teletype_apple1
; teletype on remote
* = $C400
.dsb (*-end_of_teletype_apple1), 0
* = $C400
teletype_remote = $C400
lda #$FF
sta serial_write
get_key
lda kbd_cr
bpl get_key
lda kbd_data
sec
sbc #$A0
sta serial_write
jmp get_key
end_of_teletype_remote
; 0-255 repeating counter over TXD
* = $C500
.dsb (*-end_of_teletype_remote), 0
* = $C500
counter_remote = $C500
ldy #$00
sta serial_write
check_ready
lda serial_ready
beq check_ready
tya
sta serial_write
iny
jmp check_ready