/* * cprintf — printf для conio-набора вывода. Форматирует в статический * буфер через vsprintf (из stdlib SDCC), затем выводит cputs'ом, * который применяет текущий текстовый атрибут посимвольно. * * '\n' в CR LF НЕ транслируется — конвенция Turbo-C: перевод строки * пишется в format-строке явно как "\r\n". * * Не реентерабельно (один статический буфер), но на однопоточном Z80 * это не проблема. */ #include #include #include #define CPRINTF_BUF_SIZE 256 static char cp_buf[CPRINTF_BUF_SIZE]; int cprintf(const char *fmt, ...) { va_list ap; va_start(ap, fmt); int n = vsprintf(cp_buf, fmt, ap); va_end(ap); cputs(cp_buf); return n; }