Материал из Chipwiki
Перейти к: навигация, поиск
Namco WSG — различия между версиями
(Добавлен перевод описания)
Строка 43: Строка 43:
 
|}
 
|}
  
{{Перевод}}
+
20-битные значения частот и счётчиков хранятся в порядке начиная с наименьшего значащего полубайта. Каналы #2 и #3 не имеют регистра для наименьшего значащего полубайта, и его значение для этих каналов предполагается равным нулю.
  
Frequencies and counters are 20-bit values stored with the least significant nibble first. Voice #2 and #3 are missing the register for the least significant nibble and it is assumed to be always zero.
+
Регистры обычно отображаются в адресное пространство памяти процессора. В аппаратном обеспечении Pacman регистры отображены в ячейки памяти с адресами 5040-505Fh, так что, например, запись значение по адресу 505Ah производит установку уровня громкости канала #2.
  
These registers are usually mapped into the memory space of the CPU. In the Pacman hardware the memory locations at 5040h-505Fh map the sound registers, so for example writing a value at the address 505Ah sets the volume of voice #2.
+
Генерация звука основана на таблице, содержащей 8 различных форм волны, где каждая из них описывается 32 4-битными записями. Для гибкости и возможности повторного использования, таблица хранится вне звукового чипа, на 256-байтном модуле PROM.
  
Sound generation is based on a table that contains 8 different waveforms, where each waveform is described by 32 4-bit entries. For versatility and reuseability, this data is kept outside of the chip in a 256 byte PROM.
+
Звуковой чип тактируется частотой 96 кГц, равной частоте основного процессора (3.072 МГц), поделенной на 32. В ходе цикла частотный счётчик каждого из канала увеличивается на текущее значение частоты, после чего 5 наиболее значащих битов используются как индекс для получения текущего сэмпла волны из таблицы. После этого призводится умножение сэмпла на значение громкости канала, и результат отправляется на усилитель для воспроизведения. Стоит отметить, что канал заглушен, если его частота или громкость установлены в 0.
 
 
The chip itself is clocked at 96 KHz, which is the main CPU clock (3.072 MHz) divided by 32. At each cycle the frequency counter for each voice is incremented by the voice frequency, then the most significant 5 bits are used as an index to retrieve the current wave sample from the waveform table. The sample is then multiplied by the voice volume and sent to the amplifier for output. Note that a voice is actually muted if its volume or frequency is zero.
 
  
 
[[Категория:Звукогенераторы]]
 
[[Категория:Звукогенераторы]]

Версия 21:34, 19 февраля 2015

Pac Man (1980) OST

Namco 3-channel Waveform Sound Generator (WSG) использовался в аркадных платформах Pac Man и Galaga. Позволяет использовать три канала с независимой регулировкой громкости, частоты и формы. Все функции зависят от 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.