;; void txbuf_append_chr(char c) { ;; tx_buf[txbuflen++] = c; ;; } ; compiles to 45 bytes. routine below is 29 bytes (~33% smaller) tx_buf = $a200 ; MUST agree with src/rxtxbuf.h! .import _txbuflen .export _txbuf_append_chr .importzp sreg ; avoid ptr1 & friends, callers may use _txbuf_append_chr: tax lda #tx_buf adc _txbuflen+1 sta sreg+1 ldy #0 txa sta (sreg),y inc _txbuflen bne @ret inc _txbuflen+1 @ret: rts