« Архитектура Game Boy Advance (index)

Архитектура Game Boy Advance

Chapter 5: Звук


Содержание

  1. Функционал
    1. PCM
    2. PSG
    3. Комбинирование
  2. Лучшее из обоих миров

В GBA используется двухканальный проигрыватель сэмплов, который работает в связке со звуковай системой Game Boy.

Функционал

Вот разбор каждого звукового компонента на примере Sonic Advance 2:

PCM

Video
Video - PCM-only channels.

Новая звуковая система теперь умеет проигрывать PCM сэмплы, она предоставляет два канала под названием Direct Sound, куда приходят сэмплы через очередь FIFO (реализована в виде 16-битного буфера).

Сэмплы 8-битные и со знаком (кодируются в значениях от -128 до 127). Частота дискретизации по умолчанию 32 кГц, хотя это зависит от игры: так как бо́льшая частота означает больший размер и большее количество циклов процессора, не каждая игра выделяет одинаковое количество ресурсов аудиочипу.

Следовательно, DMA необходим во избежание лишней траты циклов ЦП. Таймеры также доступны для синхронизации с очередью.

PSG

Video
Video - PSG-only channels.

Хотя подсистема от Game Boy не делится ресурсами ЦП, доступ к своему PSG она дает. В целях обратной совместимости используется тот же подход, что и в оригинальном Game Boy. Ранее я уже писал эту статью, в которой подробно рассказывается о каждом канале в отдельности.

Большинство игры GBA используют его для аккомпанемента или эффектов. Более поздние оптимизировали музыку под PCM, а PSG зачастую оставляли незадействованным.

Комбинирование

Video
Video - Тада!

Наконец, все автоматически микшируется и выводится через динамик/разъем наушников.

Несмотря на то, что GBA имеет только два канала PCM, вы можете заметить как некоторые игры магическим образом проигрывают более двух семплов за раз. Как такое возможно? Хотя на бумаге наличие только двух каналов может показаться немного слабым, основной процессор может одолжить часть своих циклов для обеспечения как секвенсирования, так и микширования семплов в одном канале (это должно дать вам представление о мощности ARM7TDMI!). И в самом деле так и было задумано: в разделе "Операционная система" вы обнаружите, что само ПЗУ BIOS предоставляет секвенсор аудио в помощь разработчикам с этой задачей.

Лучшее из обоих миров

Некоторые игры развили концепцию дуальности PCM-PSG еще дальше и "сменяли" ведущий чип в зависимости от контекста.

В этой игре (Mother 3) игрок может войти в две разные комнаты, одна относительно нормальная, а другая в ностальгическом сеттинге. В зависимости от того, в какой комнате находится персонаж, одна и та же самая музыка будет звучать современно или восьмибитно.

Video
Video - Нормальная комната, используется только PCM.

Video
Video - Ностальгическая комната, PSG ведет мелодию.


Previous: 4. Графика

Next: 6. Операционная система


Rodrigo Copetti © 2026 RSS Feed

Переключиться на современную версию

Домашняя страница · Статьи · Поддержка · Об авторе · О сайте