apple1serial/src/tests.xa

57 lines
864 B
Plaintext
Raw Normal View History

2020-05-22 07:55:24 +00:00
#define echo $FFEF
#define kbd_data $D010
#define kbd_cr $D011
#define serial_ready $C000
#define serial_read $C080
#define serial_write $C081
2020-06-07 22:21:16 +00:00
* = $C300
2020-05-22 07:55:24 +00:00
.dsb (*-end_of_apple1serial), 0
; teletype on apple-1
2020-06-07 22:21:16 +00:00
* = $C300
teletype_apple1 = $C300
2020-05-22 07:55:24 +00:00
lda serial_read
wait
lda serial_ready
beq wait
lda serial_read
jsr echo
jmp wait
end_of_teletype_apple1
; teletype on remote
2020-06-07 22:21:16 +00:00
* = $C400
2020-05-22 07:55:24 +00:00
.dsb (*-end_of_teletype_apple1), 0
2020-06-07 22:21:16 +00:00
* = $C400
teletype_remote = $C400
2020-05-22 07:55:24 +00:00
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
2020-06-07 22:21:16 +00:00
* = $C500
2020-05-22 07:55:24 +00:00
.dsb (*-end_of_teletype_remote), 0
2020-06-07 22:21:16 +00:00
* = $C500
counter_remote = $C500
2020-05-22 07:55:24 +00:00
ldy #$00
sta serial_write
check_ready
lda serial_ready
beq check_ready
tya
sta serial_write
iny
jmp check_ready
2020-06-07 22:21:16 +00:00