Sprinter: добавить отладку C-исходников и интеграцию VS Code

This commit is contained in:
2026-09-15 17:58:41 +03:00
parent 50c6e56b7b
commit e4695b8281
62 changed files with 7147 additions and 27 deletions
+15
View File
@@ -471,6 +471,21 @@ text_cursor load_cursor/get_cursor(mouse_cursor_t*) set_sensitivity
get_sensitivity_x/y video_mode_changed`. Sensitivity = делитель
(меньше = быстрее). Solid-C алиасы ms_* включены.
## <sdbg.h> — логи source debugger без кода вывода Sprinter
`SDBG_LOG(tag, "text={global}")` и
`SDBG_LOGIF(tag, global_flag, "text={global}")` создают авторские
точки журналирования в выбранном `--src-debug` TU. `tag` — уникальный
C-идентификатор внутри TU; условие `LOGIF` пока только имя поддержанной
global/static переменной, ненулевое значение означает вывод. Подстановки
`{name}` читаются отладчиком при попадании; локальные и C-выражения пока
не поддержаны. Обычная сборка превращает макросы в пустое выражение.
Полный контракт и планы форматирования —
[руководство по SDBG_LOG](sdbg-log-macros.md).
Аргументы не вычисляются кодом приложения, поэтому побочные эффекты в них
недопустимы. Сообщение видно в MAME debugger console и VS Code Debug Console
при подключённой source-debug сессии; без неё макрос сам ничего не печатает.
## <sprinter.h> — платформа
Константы портов (PORT_PAGE_W0..W3, PORT_RGADR, PORT_RGMOD), номера