From ca67895667f6a26b31272cec4f2c4b08f8aaef4f Mon Sep 17 00:00:00 2001 From: Alexander Petrov Date: Mon, 31 Aug 2026 19:57:42 +0300 Subject: [PATCH] =?UTF-8?q?SprPoP:=20=D0=BF=D0=BE=D1=87=D0=B8=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B0=20host-?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tests/host не линковались: не разрешались pop_chdir_home (его тянет pop_kboot из банка 10) и kbd_raw_keypad_as_ext (тянет pop_ctrl из libc). Поломка предсуществующая — воспроизводится и на коммите до всех правок этой сессии. Ни файловой системы, ни клавиатуры в хостовых тестах нет, поэтому обе заглушены пустышками в общей обвязке. Теперь все пятнадцать наборов проходят: geom 3144 проверки, phys 1733, char 72, grab 55, jaffar 44, shadow 45, app 58, cfg 51, demo 30, flow 27, timer 28, cutscene 13, gate 10, mouse 17, wall 1. Это условие для дальнейшей работы: логику движка снова можно проверять за секунды, без сборки образа и ручного прохождения в MAME. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_011MsUsEFAQfsjjQpJ7RtKVY --- applications/SprPoP/tests/host/stubs.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/applications/SprPoP/tests/host/stubs.c b/applications/SprPoP/tests/host/stubs.c index 93b5b62..0202e73 100644 --- a/applications/SprPoP/tests/host/stubs.c +++ b/applications/SprPoP/tests/host/stubs.c @@ -411,3 +411,13 @@ void pop_vflip_reset(void) { } int pop_sword_take(const atlas_t *a) __banked { (void)a; return 0; } int pop_sword_vflip_take(const atlas_t *m) __banked { (void)m; return 0; } int pop_guard_vflip_load(void) __banked { return 0; } + +/* --- заглушки, без которых не линковались t_char/t_gate и прочие ------ * + * + * pop_chdir_home живёт в pop_path_bank.c (банк 10), а его тянет pop_kboot; + * kbd_raw_keypad_as_ext — из libc, её тянет pop_ctrl. Ни файловой + * системы, ни клавиатуры в хостовых тестах нет, поэтому обе — пустышки. + * До этого сборка tests/host падала на неразрешённых символах, и логику + * движка нельзя было проверить без эмулятора. */ +int8_t pop_chdir_home(void) __banked { return 0; } +void kbd_raw_keypad_as_ext(uint8_t on) { (void)on; }