Поддержать MAME.HT/sprinter в SDK и документации

This commit is contained in:
Александр Петров
2026-09-17 10:23:18 +03:00
parent 9ad5a018a2
commit 7970a27c98
15 changed files with 96 additions and 31 deletions
+8 -2
View File
@@ -11,6 +11,10 @@ stdio MCP-адаптер C-уровня. Эксклюзивное владени
- **macOS:** текущий end-to-end цикл проверен, включая backend `sdbg` и
одновременную работу VS Code со штатным `osx` debugger MAME.
Новый `MAME.HT/sprinter` (0.289, Holub/Tolik) прошёл живой DAP launch с
прежними ROM/DSS: prompt на строке 22, `false_hits=0`, остановка в
`hello.c:17` (`main`, PC `0x8224`). У него уже были те же исходники
`sdbg` и `mamebridge`; рецепты сборки перенесены с новым именем бинарника.
- **Linux:** ожидается работа через `sdbg`, `qt` или `imgui`, но полный
живой прогон ещё не выполнен.
- **Windows:** весь функционал пока работать не будет. Provider
@@ -279,13 +283,15 @@ commit `b0c4527c2edb1ee177fd09b3c412b65b385bf35b`:
| Source F11/F10 | `main`: `0x42bb``0x42c1`; F10 выполнил банковский `worker` и остановился в caller на `0x42c9` |
| Source Shift+F11 | Из `worker` bank 1 выполнен выход через trampoline в `main:6`, `0x42c9` |
| VS Code stdio DAP launch, 2026-09-15 | Local pyenv shim → DAP → изолированный MAME/DSS → `hello``main:17`, PC=`0x8224`; `false_hits=0`, штатный disconnect |
| MAME.HT 0.289, 2026-09-17 | Чистая сборка `make SUBTARGET=sprinter SOURCES=src/mame/sinclair/sprinter.cpp` и отдельные рецепты `stock`/`sdbg` создали `sprinter`; DAP в `sdbg` и `osx` на patched, а также `osx` на stock дождался DSS и остановился в `hello.c:17` без ложных точек. `getchar()` получил `x`, общий DAP/MCP сохранил ownership точек. Raw `mamebridge` после исправления раннего callback ответил `state=stop` через файловый IPC |
| F10 через `getchar()`, 2026-09-15 | Асинхронный `next` ответил за 21,49 мс; при ручном `x` в окне MAME `hello.c:62``:63`, возврат `DE.low=0x78`; обе клавиатуры включены в изолированном cfg |
| VS Code TaskProvider Build, 2026-09-15 | Одиннадцать Node-проверок: выбор Makefile рядом с пакетом/в `build/`, команда make с Python shim, SDCC matcher, успешный и неуспешный код задачи, pyenv вне workspace; реальный make в `tests/hello` прошёл, VS Code показал Build → MAME/DSS → `main` |
| Ошибочная debug-сборка, 2026-09-15 | Изолированный `fault.c` вернул код 2 от make, `file:1: error 20` сохранился, Python traceback удалён; MAME не участвует |
| Владение и generation | Второй FileBridge и чтение со stale generation отклоняются |
Полный host-набор: 44 теста (43 прошли, один Unix-socket тест пропущен только
из-за запрета `bind` в sandbox). Тот же socket path проверен живым DAP-запуском.
Полный host-набор в этом коммите: 45 тестов (44 прошли, один Unix-socket
тест пропущен только из-за запрета `bind` в sandbox). Тот же socket path
проверен живым DAP-запуском.
После разделения репозиториев установленный VSIX в изолированном профиле
VS Code запустил сборку SprPoP и остановился в `src/sprpop.c:264` (`main`)
через API extension host. Новый живой пробник закрытия собственного MAME