From 3de8c7500cda6af985a2b1b03df90afbf1cd1bd5 Mon Sep 17 00:00:00 2001 From: Alexander Petrov Date: Wed, 29 Jul 2026 19:30:57 +0300 Subject: [PATCH] =?UTF-8?q?PoP=20roomtest=20(=D0=BF=D0=BB=D0=B0=D0=BD=20v2?= =?UTF-8?q?,=20=D1=88=D0=B0=D0=B3=204):=20=D0=B2=20W3-=D1=80=D0=B5=D0=B7?= =?UTF-8?q?=D0=B8=D0=B4=D0=B5=D0=BD=D1=82=D0=B5=20=D0=BE=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D1=91=D1=82=D1=81=D1=8F=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE?= =?UTF-8?q?=20pop=5Fbg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --w3 берёт ОДИН файл на флаг, поэтому запись "--w3 pop_trob.c pop_map.c" означала "W3 = pop_trob", а pop_map всё это время ехал в W1/W2 (в build-каталоге лежал осиротевший w3_pop_map.rel). Теперь список явный. pop_trob переведён в W1/W2: в W3 должно оставаться только то, что банк никогда не позовёт (из __banked резидентная страница W3 не видна ни напрямую, ни транзитивно — docs/layout_plan_v2.md §2 R2). pop_trob же стражам понадобится: в оригинале они тоже давят кнопки. Замер: W3 14376 -> 11643 (свободно 2008 -> 4741 Б), W1/W2 _CODE 21634 -> 24367 (куча 5315 -> 2582 Б). Освободившееся место в W3 — задел под шаг 3 (loose/потолок из pop_map, чтобы pop_map стал bank-safe). Проверено в MAME скриптом: комната рисуется, Kid бежит и тормозит (кадры 15 -> 10 -> 15), факелы анимируются (152 различающихся пикселя между соседними кадрами) — то есть pop_trob работает из нового окна. Co-Authored-By: Claude Opus 5 --- applications/PoP/roomtest/Makefile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/applications/PoP/roomtest/Makefile b/applications/PoP/roomtest/Makefile index 7a67705..e8444cd 100644 --- a/applications/PoP/roomtest/Makefile +++ b/applications/PoP/roomtest/Makefile @@ -6,8 +6,13 @@ EXAMPLE := roomtest # small: W1+W2 как единое 32КБ-пространство, DATA сразу за CODE (иначе # CODE ~23КБ переполняет W1 и лезет в фиксированный DATA@0x8000 в huge). MEMORY ?= small -EXTRA_FLAGS ?= --gfx 256 --w3 pop_trob.c pop_map.c --w3 pop_bg.c -EXTRA_SRCS := pop_kid.c pop_ctrl.c pop_level.c +# --w3 берёт ОДИН файл на флаг. В W3-резиденте держим ТОЛЬКО pop_bg — +# отрисовку тайлов: она большая и её зовёт лишь главный цикл. Всё +# остальное живёт в W1/W2, чтобы оставаться достижимым из будущих +# __banked-модулей (стражи): из банка резидентная страница W3 не видна — +# ни напрямую, ни транзитивно. См. docs/layout_plan_v2.md §2 (R2), §4. +EXTRA_FLAGS ?= --gfx 256 --w3 pop_bg.c +EXTRA_SRCS := pop_kid.c pop_ctrl.c pop_level.c pop_map.c pop_trob.c BG_DIR := $(CURDIR)/../poc/res/bg KID_DIR := $(CURDIR)/../poc/res/kid