#define echo $FFEF #define kbd_data $D010 #define kbd_cr $D011 #define serial_ready $C000 #define serial_read $C080 #define serial_write $C081 ; How to store INTEGER BASIC progams? ; C100R - run serial monitor ; 004A.00FFW 0800.0FFFW - write data for default LOMEM & HIMEM ; E2B3R - warm entry point * = $C300 .dsb (*-end_of_apple1serial), 0 ; teletype on apple-1 ; the data from remote appears on apple-1 screen * = $C300 teletype_apple1 = $C300 jsr reset_serial lda serial_read teletype_apple1_wait lda serial_ready beq teletype_apple1_wait lda serial_read jsr echo jmp teletype_apple1_wait end_of_teletype_apple1 ; teletype on remote ; the data from apple-1 appears on remote * = $C400 .dsb (*-end_of_teletype_apple1), 0 * = $C400 teletype_remote = $C400 jsr reset_serial lda #$FF sta serial_write get_key lda kbd_cr bpl get_key lda kbd_data and #$7F tay teletype_remote_wait lda serial_ready beq teletype_remote_wait tya 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 jsr reset_serial ldy #$00 sta serial_write counter_wait lda serial_ready beq counter_wait tya sta serial_write iny jmp counter_wait end_of_counter_remote