diff --git a/lib/screen.S b/lib/screen.S index a3a88c5c..3aacdf3b 100644 --- a/lib/screen.S +++ b/lib/screen.S @@ -48,7 +48,7 @@ zproc screen_putchar, .text.screen_putchar jmp _call_screen zendproc -zproc screen_putstring, .text.screen_putstring +zproc _screen_putstring, .text.screen_putstring ldy #SCREEN_PUTSTRING jmp _call_screen zendproc diff --git a/lib/screen.h b/lib/screen.h index eec24937..6ec331dc 100644 --- a/lib/screen.h +++ b/lib/screen.h @@ -14,6 +14,7 @@ extern void _screen_setcursor(uint16_t c); extern uint16_t _screen_getcursor(void); extern void screen_putchar(char c); extern void screen_putstring(const char* s); +extern void _screen_putstring(uint16_t s); extern uint16_t screen_getchar(uint16_t timeout_cs); extern uint8_t screen_waitchar(void); extern void screen_scrollup(void); @@ -22,6 +23,9 @@ extern void screen_clear_to_eol(void); extern void screen_setstyle(uint8_t style); extern void screen_showcursor(uint8_t show); +#define screen_putstring(x) \ + _screen_putstring((uint16_t)x) + #define screen_setcursor(x, y) \ _screen_setcursor((x) | ((y)<<8))