Разбор звука: эффекты через CBL как есть, музыка на AY из нот PC-спикера
Замеры по ассетам: 31 эффект уже 8-битным PCM на 11 000 Гц (у CBL есть 10 937,5 — расхождение 0,6 %, формат сэмпла совпадает байт в байт, то есть конверсии нет вовсе), 103 941 Б = 6,3 EMM-страницы. Вся музыка есть нотами PC-спикера — 7 КБ на 57 звуков, и нота там задана в ГЕРЦАХ напрямую (проверено по speaker_callback), а не делителем PIT, как кажется по числам. MIDI разбирать не нужно. Отдельный таймер не нужен: секвенсор музыки двигает CBL-callback раз в 11,7 мс, а короче 12 мс во всей музыке 2 ноты из 1469.
This commit is contained in:
@@ -233,6 +233,7 @@ fore-слоя, и клип (`clip_char`), и брызги; полоса HP и л
|
||||
| ✔ | [L1-SPEED](#l1-speed) | **закрыта 2026-08-19** режимами скорости (NORMAL = 4/5 растров, как оригинал) | — |
|
||||
| — | [TUNE-1](#tune-1) | параметры движка → cfg-файл (сейчас `pop_tune.h`) | отладка таймингов и моды; берётся по мере надобности |
|
||||
| — | [TUNE-2](#tune-2) | параметры СТРАЖЕЙ (6 таблиц по 12 градаций мастерства + HP) → cfg-файл | подбор сложности боя без пересборки |
|
||||
| — | [SND](#snd) | звук: эффекты через CBL, музыка на AY | разбор готов — `../docs/sound_plan.md` |
|
||||
| — | [MEM](#mem-next) | следующий шаг разгрузки W1/W2 | берётся по факту нехватки места |
|
||||
|
||||
Сделанное — в [`TASKS_CLOSED.md`](TASKS_CLOSED.md): L4-MIRROR, L3-CHOMP,
|
||||
@@ -1212,6 +1213,24 @@ N навык M» — отдельная надобность, если пона
|
||||
|
||||
**Оговорка по памяти** — та же, что в TUNE-1: парсер холодный, в банк.
|
||||
|
||||
### <a id="snd"></a>SND. Звук — эффекты через CBL, музыка на AY
|
||||
|
||||
Полный разбор с замерами — [`../docs/sound_plan.md`](../docs/sound_plan.md).
|
||||
Коротко, почему это оказалось дешевле, чем выглядело:
|
||||
|
||||
- эффекты уже лежат **8-битным PCM на 11 000 Гц**, а у CBL есть режим
|
||||
10 937,5 Гц (расхождение 0,6 %) и ровно тот же формат сэмпла —
|
||||
**играются как есть, без конверсии**; 31 звук, 103 941 Б ≈ 6,3
|
||||
EMM-страницы;
|
||||
- музыка есть **нотами PC-спикера, 7 КБ на всю игру**, причём нота задана
|
||||
прямо в ГЕРЦАХ — пересчёт в период AY это одно деление; MIDI разбирать
|
||||
не нужно;
|
||||
- AY и COVOX сведены в один ЦАП, поэтому играют одновременно;
|
||||
- отдельный таймер не нужен: секвенсор музыки двигает CBL-callback
|
||||
(11,7 мс), а короче 12 мс во всей музыке всего 2 ноты из 1469.
|
||||
|
||||
Фазы З1..З5 и список «проверить артефактом до кодинга» — в доке.
|
||||
|
||||
### <a id="mem-next"></a>MEM. Следующий шаг разгрузки W1/W2
|
||||
|
||||
`pop_ctrl.c` уехал в банк 5 ([MEM-BANK5](TASKS_CLOSED.md#mem-bank5), куча
|
||||
|
||||
Reference in New Issue
Block a user