• 0.0.3-prealpha — звуковые эффекты PoP

    snark13 released this 2026-08-20 21:32:43 +03:00 | 114 commits to main since this release

    Оцифровка оригинала (digisnd1..3.dat) через CBL: 31 эффект, 10 937,5 Гц,
    8 бит беззнаковый моно, 8 EMM-страниц. Разведены ВСЕ места play_sound
    SDLPoP, у которых есть оцифровка — id 0..23, 44..49.

    Модель звука портирована целиком, а не «всегда перебивать»: play_sound
    только номинирует кандидата на кадр (важнее = меньше prio), а
    play_next_sound раз в кадр решает, запускать ли — с учётом флага
    «перебиваемый» у играющего. Отсюда неперебиваемые эффекты доигрывают до
    конца, а челюсти всегда важнее решётки.

    Ctrl+S — вкл/выкл звук (порт SDLPoP), с индикацией в борте.

    Правки libc: _cbl_prime заливает аппаратный буфер CBL тишиной при открытии
    (иначе первые 23,4 мс играет то, что лежало в буфере раньше).

    Ворота: правильный гейт слышимости (слышны и ворота из комнаты слева в
    колонке 9), восстановлен потерянный звук «решётка встала», у нажатия
    кнопки появился параметр playsound.

    Всё проверено в MAME записью звука в WAV: опознание эффектов корреляцией
    огибающих с оригинальными сэмплами, разбор всплесков по 2 мс.

    Цена звука измерена: 8 001 такт на прерывание при периоде 245 759, то есть
    3,26 % процессорного времени постоянно; +2,2 % к работе кадра в сцене
    11/15, период логического кадра не сдвинулся ни разу.

    Downloads