Files
Sprinter-SDCC/libc/include/sprinter_solid.h
T
snark13 60373930fb libc: Solid-C совместимость (П3) + rename/isatty (П4); scanf-семейство
- <dos.h>: getdate/gettime/setdate/settime (структуры Turbo-C, обёртки
  над getdatetime), getdisk/setdisk (ESTEX $02/$01), absread/abswrite
  (BIOS $55/$56, rst 8 — номера найдены в solid-c DOS.ASM; сектор 0 =
  boot логического диска)
- scanf/fscanf/sscanf: своё C-ядро _scanf_core (%d %u %x %o %c %s,
  модификатор l, ширина, подавление '*', %%); в SDCC z80 scanf нет,
  asm solid-c не портируем из-за чужого ABI; 22 хост-теста ядра
- хвост П2: fdopen/freopen/fclosall/fgetpos/fsetpos поверх таблицы
  FILE; парсер режима и выдача слота вынесены в _file_mode/_file_slot
- rename() — ESTEX RENAME $10; isatty(fd) = fd <= 0 (tty только
  псевдо-fd 0/-1/-2: из CLI DSS манипуляторы идут с 1 — verified,
  fd 1 не резерв, под Flex Navigator его держит навигатор)
- errno.h: Solid-C имена ошибок (EZERO/EINVFNC/ENOFILE/...) как алиасы
- <sprinter_solid.h> — зонтичный заголовок для портирования;
  ltell/_setargv в sprinter_compat.h; div/ldiv — из SDCC (проверено)
- tests/solidt — smoke всех П3/П4 API, зелёный в MAME (вкл. absread
  boot-сектора с сигнатурой 55AA)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 16:35:58 +03:00

23 lines
1.1 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* sprinter_solid.h — зонтичный заголовок для портирования программ
* Solid-C: подключает все стандартные заголовки + compat-алиасы.
* Программа Solid-C может заменить свои include на один этот.
*
* Известные отличия от Solid-C (см. docs/solid_c_compatibility.md):
* - bdos/bdosh/intdos (сырой интерфейс ESTEX) не экспонируются —
* использовать типизированные обёртки libc;
* - lseek/ltell возвращают long, а не struct fpoint*;
* - FILE* буферизован (Solid-C тоже, семантика совместима).
*/
#ifndef SPRINTER_SOLID_H
#define SPRINTER_SOLID_H
#include <sprinter_compat.h> /* включает stdio/stdlib/string/conio/
ctype/errno/fcntl/unistd/dir/dos/
mouse + типы и алиасы Solid-C */
#include <time.h>
#include <sprinter.h>
#endif