From c71981fdf957a9df1cceb807e9e5b4ca43d769af Mon Sep 17 00:00:00 2001 From: Alexander Petrov Date: Thu, 27 Aug 2026 12:49:01 +0300 Subject: [PATCH] =?UTF-8?q?SprPoP:=20pop=5Fconfig=20=D0=B8=20pop=5Fhof=20?= =?UTF-8?q?=E2=80=94=20=D0=B8=D0=B7=20=D0=B1=D0=B0=D0=BD=D0=BA=D0=B0=209?= =?UTF-8?q?=20=D0=B2=20=D0=B1=D0=B0=D0=BD=D0=BA=2010?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Банк 9 дошёл до 98,5% (247 свободных байт), и следующая заметная правка в menu/status/ui упёрлась бы в потолок. Критерий переселения тот же, что у остальной раскладки, — ЧАСТОТА ВЫЗОВА, а не размер: POP.CFG и POP.HOF работают раз за партию и упираются в диск, где один `open` стоит 51 мс, так что трамплин банк→банк на их фоне не существует. Отдельный банк заводить не пришлось: в десятом лежал один pop_pal.c на 485 байт, то есть 3% страницы. Новой страницы в образе не появилось. банк 9: 16137 (98,5%) -> 11948 (72,9%), свободно 247 -> 4436 банк 10: 485 ( 3,0%) -> 4674 (28,5%), свободно 11710 Переезд безопасен, потому что все публичные функции обоих модулей помечены __banked: трамплин выбирается по пометке в объявлении, а не по банку, и непомеченная функция пережила бы переезд только внутри своего банка. pop_settings — обычный глобал в W2, виден отовсюду. Следующий рычаг, если понадобится: pop_menu (4745 байт, 29% банка 9, работает только при открытом меню). Трогать нельзя pop_ui, pop_status, pop_music и pop_timer — они в кадровом пути. Co-Authored-By: Claude Opus 5 --- applications/SprPoP/Makefile | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/applications/SprPoP/Makefile b/applications/SprPoP/Makefile index 063ba96..fe4951c 100644 --- a/applications/SprPoP/Makefile +++ b/applications/SprPoP/Makefile @@ -82,9 +82,16 @@ BANK7_SRCS := pop_room.c pop_redraw.c BANK8_SRCS := sprpop_cold.c pop_arc.c pop_level_cold.c pop_kboot.c pop_guard_cold.c \ pop_shadow.c pop_sfx_cold.c pop_qsave.c pop_qsave_coldio.c \ pop_level_qsave.c -BANK9_SRCS := pop_menu.c pop_status.c pop_music.c pop_config.c pop_app.c pop_timer.c \ - pop_ui.c pop_title.c pop_demo.c pop_flow.c pop_hof.c -BANK10_SRCS := pop_pal.c +BANK9_SRCS := pop_menu.c pop_status.c pop_music.c pop_app.c pop_timer.c \ + pop_ui.c pop_title.c pop_demo.c pop_flow.c +# Банк 10 = палитры + РЕДКОЕ С ФАЙЛАМИ. pop_config (POP.CFG) и pop_hof +# (POP.HOF) переехали сюда из банка 9, когда тот дошёл до 98,5% (247 байт +# свободно). Критерий тот же, что и у остальной раскладки, — частота, а не +# размер: обе вещи работают раз за партию и упираются в диск, где `open` +# стоит 51 мс, так что трамплин банк→банк на их фоне не существует. +# Отдельный банк для этого не нужен: в десятом лежал один pop_pal.c на +# 485 байт, то есть 3% страницы. +BANK10_SRCS := pop_pal.c pop_config.c pop_hof.c BANK11_SRCS := pop_cutscene.c pop_intro.c BANK_NUMS := 1 2 3 4 5 6 7 8 9 10 11 BANKED_SRCS := $(foreach n,$(BANK_NUMS),$(BANK$(n)_SRCS))