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
+20 -1
View File
@@ -239,7 +239,6 @@ end
Lua-REPL — удобно нащупывать поля/тайминги вживую перед скриптованием.
- **Второй видеорежим/варианты BIOS** — при необходимости менять
`COMMON_ARGS`.
```
## 10. Тайминги MCP-моста (run_bridge.sh) — НЕ ждать дольше
@@ -258,3 +257,23 @@ end
Пересобрал HDD-образ (`make hdd`) → MAME **обязан** полный рестарт
(`chdman -f` даёт новый inode; см. memory `mame_hdd_rebuild_restart`):
остановка через `exit` в дебаггере, затем `run_bridge.sh` заново.
## 11. Карта C/asm для отладки
`SRC_DEBUG=1` в app.mk создаёт проверенный пакет исходников и адресов без
изменения EXE в проверенных конфигурациях. Пер-модульный вариант:
`SRC_DEBUG_FILES=helper.c`. Команды карты и результаты живых экспериментов:
[mame-source-debug-status.md](mame-source-debug-status.md); полный план:
[mame-source-debug.md](mame-source-debug.md). Базовый C-attach/where/точки и
чтение простых переменных доступны через `toolchain/sdbg_session.py`.
`sdbg_server.py`, DAP MVP, VS Code launch и development-расширение уже есть;
безопасный restart и MCP C-уровня пока не готовы. `-debugger none`
автоматически продолжает CPU и не подходит для ожидания команд пошаговой
сессии.
Source-debug launcher ждёт до 10-й секунды эмулируемого времени, сохраняет
снимок готового DSS, только затем вооружает entry breakpoint и вводит команду
EXE. Пользовательские точки создаются после проверенного `main`, когда
`_bank_pages` уже заполнена. В обычной конфигурации это даёт 0 попаданий на
адрес entry во время загрузки DSS. Автоматического распознавания приглашения
`C:\\>` пока нет; `launchAt` в VS Code можно увеличить.