#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