"Роберт Джордайн. Справочное пособие программиста - 2 (ассемблер, операционная система MS DOS)" - читать интересную книгу автора

11 генератор звука 76496

Для выбора источника звука в BIOS PCjr добавлена функция 80H
прерывания 1AH. Поместите в AL номер кода от 0 до 3, в соответст-
вии с вышеприведенной таблицей, и вызовите функцию. Возвращаемых
регистров нет. Генератор звука 76496 должен использовать этот
звуковой канал, поскольку он не может управлять внутренним дина-
миком PCjr.
В общем случае, когда байт данных посылается генератору звука,
то биты 4-6 содержат код идентификации, сообщающий какому из
восьми регистров предназначены данные. Эти коды такие:

Биты 6-4 Адресуемый регистр

000 Частота первого тона
001 Громкость первого тона
010 Частота второго тона
011 Громкость второго тона
100 Частота третьего тона
101 Громкость третьего тона
110 Частота четвертого тона
111 Громкость четвертого тона

В случае регистров частоты тонов требуются два байта. Значение
битов при этом следующее:

байт 1: биты 0-3 младшие 4 бита частоты
4-6 код идентификации регистра
7 всегда равен 1

байт 2: биты 0-5 старшие 6 битов частоты
6 не используется
7 всегда равен 0

Для установки частоты тона в регистр посылается 10-битное значе-
ние, которое после деления на 111 843 дает желаемую частоту в
герцах. Таким образом, доступны частоты, начиная с 110 герц вверх
(111 843/2^10). Как только регистр инициализирован (и соответст-
венно установлен порт B микросхемы 8255), немедленно начинается
звуковой сигнал и продолжается до тех пор, пока он не будет прек-
ращен. Не обязательно для изменения частоты посылать новые два
байта. Если послан только второй байт (старшие 6 битов частоты),
то он автоматически заменяет соответствующие данные в канале, к
которому была последняя адресация. Эта возможность позволяет
плавно варьировать частоту.
Генератору шума для программирования нужен только один байт.
Значение битов для него следующее:

биты 0-1 плотность шума
2 качество шума