Упаковщик звуковых эффектов + сверка наборов MSDOS и SDLPoP
Эффекты берём из MSDOS/digisnd*.dat: 28 из 31 звука совпадают побайтно с набором SDLPoP, но три различаются не в пользу последнего — у него sword_vs_sword короче, sword_moving другой, а spiked вообще пустой (7 сэмплов против 5 069). MIDI наоборот: у MSDOS формат 0 (всё слито в одну дорожку), у SDLPoP формат 1 с 8-9 дорожками — готовое разделение голосов, если дойдём до пути B (MIDI -> три канала AY). Упаковщик: 31 эффект -> 10 937,5 Гц, 131 072 Б = 8 EMM-страниц. Начало каждого звука выровнено на 128 (блок запроса CBL), а страница кратна 128, поэтому ни один блок не пересекает границу страницы — проигрывателю не нужна логика стыка.
This commit is contained in:
@@ -156,6 +156,45 @@ B имеет смысл только если C окажется неподъё
|
||||
зеркальные наборы (`pop_vflip_load_all`: 28 Кид + 5 страж + меч = 34
|
||||
страницы), останется ~98. Проверять запас надо ИМЕННО ТАМ.
|
||||
|
||||
## 1г. MSDOS против SDLPoP: чем отличаются наборы (сверено 2026-08-20)
|
||||
|
||||
У нас лежат ДВЕ копии звука — оригинальные `.dat` в `MSDOS/` (версия
|
||||
1.3/1.4) и распакованные ассеты `SDLPoP/data/` (версия 1.0/1.1). Разница
|
||||
есть, и она влияет на выбор источника.
|
||||
|
||||
### Оцифровка: берём MSDOS
|
||||
|
||||
Заголовок разный (`digi_new_type` против `digi_type`), но **28 звуков из
|
||||
31 совпадают побайтно**. Различаются три, и все не в пользу SDLPoP:
|
||||
|
||||
| id | звук | MSDOS | SDLPoP |
|
||||
|---|---|---:|---:|
|
||||
| 10 | `sword_vs_sword` | 5 020 сэмплов | 3 504 |
|
||||
| 11 | `sword_moving` | 1 172 | 1 172, но **другие байты** |
|
||||
| 48 | `spiked` | 5 069 | **7** — то есть звука нет |
|
||||
|
||||
`spiked` в наборе SDLPoP фактически пустой. Поэтому упаковщик читает
|
||||
`MSDOS/digisnd*.dat`, а не распакованные ассеты — в отличие от графики,
|
||||
где источник наоборот SDLPoP.
|
||||
|
||||
### MIDI: если дойдём до музыки — брать SDLPoP
|
||||
|
||||
Здесь всё наоборот. Содержимое музыкально то же (деление 480, те же
|
||||
каналы 0..7 плюс ударные), но:
|
||||
|
||||
| | MSDOS | SDLPoP |
|
||||
|---|---|---|
|
||||
| формат MIDI | **0** — всё слито в ОДНУ дорожку | **1** — 8-9 дорожек |
|
||||
| размер (звук 24) | 327 Б | 448 Б |
|
||||
| размер (звук 56) | 13 587 Б | 12 773 Б |
|
||||
|
||||
Формат 1 с отдельной дорожкой на инструмент — это готовое разделение
|
||||
голосов. Для пути B (MIDI -> три канала AY) оно решает половину задачи:
|
||||
дорожки можно выбирать напрямую (бас / мелодия / гармония), а не
|
||||
разбирать слитый поток и догадываться, что чем было.
|
||||
|
||||
**Итог: эффекты из MSDOS, музыка (когда дойдёт) из SDLPoP.**
|
||||
|
||||
## 2. Что лежит в ассетах (замерено, а не по памяти)
|
||||
|
||||
Звук в PoP адресуется как ресурс `10000 + N`, N = 0..56 — 57 звуков
|
||||
|
||||
Reference in New Issue
Block a user