apple1serial/src/tests.xa

66 lines
1.1 KiB
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
; the data from remote appears on apple-1 screen
2020-06-07 22:21:16 +00:00
* = $C300
teletype_apple1 = $C300
2020-09-27 19:22:34 +00:00
jsr reset_serial
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
; the data from apple-1 appears 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-09-27 19:22:34 +00:00
jsr reset_serial
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-09-27 19:22:34 +00:00
jsr reset_serial
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-09-27 19:22:34 +00:00
end_of_counter_remote
; How to store INTEGER BASIC progams?
; C100R
; 004A.00FFW 0800.0FFFW
; E2B3R - warm entry point