Материал из Chipwiki
Перейти к: навигация, поиск
Namco WSG — различия между версиями
м
Строка 49: Строка 49:
  
 
Звуковой чип тактируется частотой 96 кГц, равной частоте основного процессора (3.072 МГц), поделенной на 32. В ходе цикла частотный счётчик каждого из канала увеличивается на текущее значение частоты, после чего 5 наиболее значащих битов используются как индекс для получения текущего сэмпла волны из таблицы. После этого призводится умножение сэмпла на значение громкости канала, и результат отправляется на усилитель для воспроизведения. Стоит отметить, что канал заглушен, если его частота или громкость установлены в 0.
 
Звуковой чип тактируется частотой 96 кГц, равной частоте основного процессора (3.072 МГц), поделенной на 32. В ходе цикла частотный счётчик каждого из канала увеличивается на текущее значение частоты, после чего 5 наиболее значащих битов используются как индекс для получения текущего сэмпла волны из таблицы. После этого призводится умножение сэмпла на значение громкости канала, и результат отправляется на усилитель для воспроизведения. Стоит отметить, что канал заглушен, если его частота или громкость установлены в 0.
 +
 +
==Ссылки==
 +
* https://www.walkofmind.com/programming/pie/wsg3.htm
  
 
[[Категория:Звукогенераторы]]
 
[[Категория:Звукогенераторы]]

Версия 19:15, 8 марта 2024

Namco WSG использовался в аркадных платформах Galaxian, Pac-Man и других. Позволяет использовать три канала с независимой регулировкой громкости, частоты и формы + шумовой генератор. Все функции зависят от 4-хбитных регистров:

Регистр За что отвечает
00h-04h Частотный счётчик Voice #1
05h Форма волны Voice #1 (использует 3 бита)
06-09h Частотный счётчик Voice #2
0Ah Форма волны Voice #2 (использует 3 бита)
0Bh-0Eh Частотный счётчик Voice #3
0Fh Форма волны Voice #3 (использует 3 бита)
10h-14h Частота Voice #1
15h Громкость Voice #1
16h-19h Частота Voice #2
1Ah Громкость Voice #2
1Bh-1Eh Частота Voice #3
1Fh Громкость Voice #3

20-битные значения частот и счётчиков хранятся в порядке начиная с наименьшего значащего полубайта. Каналы #2 и #3 не имеют регистра для наименьшего значащего полубайта, и его значение для этих каналов предполагается равным нулю.

Регистры обычно отображаются в адресное пространство памяти процессора. В аппаратном обеспечении Pacman регистры отображены в ячейки памяти с адресами 5040-505Fh, так что, например, запись значение по адресу 505Ah производит установку уровня громкости канала #2.

Генерация звука основана на таблице, содержащей 8 различных форм волны, где каждая из них описывается 32 4-битными записями. Для гибкости и возможности повторного использования, таблица хранится вне звукового чипа, на 256-байтном модуле PROM.

Звуковой чип тактируется частотой 96 кГц, равной частоте основного процессора (3.072 МГц), поделенной на 32. В ходе цикла частотный счётчик каждого из канала увеличивается на текущее значение частоты, после чего 5 наиболее значащих битов используются как индекс для получения текущего сэмпла волны из таблицы. После этого призводится умножение сэмпла на значение громкости канала, и результат отправляется на усилитель для воспроизведения. Стоит отметить, что канал заглушен, если его частота или громкость установлены в 0.

Ссылки