.importzp sp, sreg .import _uart_txb_block .import _lastchar .export _cputc .export gotoxy .export _clrscr .export _cgetc .autoimport on .code ; void __fastcall__ cputc (char c); _cputc: jsr _uart_txb_block cmp #$0a bne @1 lda #$0d jsr _uart_txb_block @1: rts ; void __fastcall__ gotoxy (unsigned char x, unsigned char y); gotoxy: phx phy tay ; Move y position to y lda (sp) tax ; Move x position to x lda #$1b jsr _uart_txb_block lda #'[' jsr _uart_txb_block tya jsr _uart_txb_block lda #';' jsr _uart_txb_block txa jsr _uart_txb_block lda #'H' jsr _uart_txb_block ply plx rts _clrscr: phx lda #$1b jsr _uart_txb_block lda #'c' jsr _uart_txb_block pla rts _cgetc: @2: lda _lastchar beq @2 stz _lastchar rts