SprPoP: pop_config и pop_hof — из банка 9 в банк 10
Банк 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 <noreply@anthropic.com>
This commit is contained in:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user