diff --git a/applications/PoP/roomtest/TASKS_OPEN.md b/applications/PoP/roomtest/TASKS_OPEN.md index 3a6135f..34d4729 100644 --- a/applications/PoP/roomtest/TASKS_OPEN.md +++ b/applications/PoP/roomtest/TASKS_OPEN.md @@ -1188,7 +1188,15 @@ N навык M» — отдельная надобность, если пона **Оговорка по памяти** — та же, что в TUNE-1: парсер холодный, в банк. -### SND. Звук — эффекты через CBL, музыка на AY +### SND. Звук — эффекты через CBL, музыка на AY — ЗАКРЫТА ИНАЧЕ 2026-08-26 + +> **Решение пересмотрено.** Музыка пошла НЕ на AY, а тем же PCM через CBL: +> записи DOS-версии укладываются в формат железа без единого преобразования +> в рантайме (`../docs/sound_plan.md` §4). Озвучены заставка, сцены между +> уровнями и игровые джинглы — 21 трек. Единственный неозвученный кусок — +> финал `won`, см. [MUS-WON](#mus-won). + +
исходная постановка (путь A на AY) Полный разбор с замерами — [`../docs/sound_plan.md`](../docs/sound_plan.md). Коротко, почему это оказалось дешевле, чем выглядело: @@ -1206,6 +1214,8 @@ N навык M» — отдельная надобность, если пона Фазы З1..З5 и список «проверить артефактом до кодинга» — в доке. +
+ ### MOB-SPR-EMM. Композит падающего куска — в EMM (1284 Б W2) `mob_spr` (`pop_room.c`) — самый крупный буфер в W2: 4 + 64*20 байт под @@ -1286,7 +1296,22 @@ N навык M» — отдельная надобность, если пона **Заодно.** Тот же механизм снимает ограничение `POP_MUS_PAGES` со всех треков: сейчас каждый должен помещаться в память целиком. -### ARC-ATLASES. Атласы — в архивы PBA1, как звук и музыка +### ARC-ATLASES. Атласы — в архивы PBA1 — ЗАКРЫТА 2026-08-26 + +> **Сделано.** Восемь архивов: kid (58 атласов), pv (78), shadow (32), bg +> (25), title (20), guard (10), vizier (5), skel (4). На образе было 232 +> файла, стало 8 архивов плюс шесть палитр, `kid.ani` и таблицы уровней. +> Индексы печатает упаковщик (`ARC_<ГРУППА>_<ФАЙЛ>`), серии код проверяет +> статически. `atlas_load` разделён: `atlas_attach` принимает уже +> прочитанную страницу, поэтому чтение из архива не дублирует проверку +> магии. Грабля, стоившая отладки: имя архива обязано лежать в том же +> банке, что и код, который его читает, — строковый литерал из чужого банка +> после переключения W3 показывает на другие данные; поэтому наружу отдаётся +> НОМЕР архива (`pop_arc_open_id`). +> +> Остаток на будущее — палитры, см. [PAL-ARC](#pal-arc). + +
исходная постановка **Что сделано.** Формат PBA1 и читатель готовы и работают на звуке: `toolchain/pop_pack_arc.py` собирает архив (заголовок 512 Б, записи по 4 @@ -1308,6 +1333,8 @@ N навык M» — отдельная надобность, если пона меряется по MAME), число файлов на образе, и что каждая сцена по-прежнему собирается при неполном диске (пути ошибок в `atlas_load`). +
+ ### MEM. Следующий шаг разгрузки W1/W2 `pop_ctrl.c` уехал в банк 5 ([MEM-BANK5](TASKS_CLOSED.md#mem-bank5), куча