|
83 / 19 / 5
Регистрация: 01.02.2015
Сообщений: 655
|
|||||||||||
Программирование звуковой карты на уровне портов24.02.2016, 22:03. Показов 4037. Ответов 8
Метки нет (Все метки)
использую radasm + masm32 (если возможно то для link16.exe)
нашёл вот такой код, сам почти не имею представления как это делаеться
Добавлено через 8 минут вот ещё один вариант кода
скажите в чём проблема?
0
|
|||||||||||
| 24.02.2016, 22:03 | |
|
Ответы с готовыми решениями:
8
Программирование звуковой карты Клавиатура на уровне портов |
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 25.02.2016, 05:08 | |
|
Shura_deg,
возможно, что системный динамик физически отключен от материнской платы
1
|
|
|
83 / 19 / 5
Регистрация: 01.02.2015
Сообщений: 655
|
|||||||
| 25.02.2016, 07:24 [ТС] | |||||||
|
а можно ли его подключить ?
вот алгоритм по которому я писал код! Алгоритм написания программы: 1. задать директиву .386 2. задать массив байт чисел сдвига (см. 3 колонку таблицы) для организации нужной длительности нот 3. задать массив слов относительных частот 8 нот 4. задать переменную для хранения номера ноты (типа байт) 5. записать в порт 43h управляющее слово, используя регистр AL 6. получить текущие значение порта 61h, используя регистр AL 7. установить 0 и 1 биты, используя команду OR AL,00000011b 8. записать новое значение в порт 61h 9. обнулить индексные регистры для использования в качестве указателей на массив частот и массив длительностей 10. указать метку для возврата в цикле 11. увеличить значение переменной для хранения номера ноты на 1 12. сравнить данную переменную с 9 (исполнены ли все 8 нот, если да – то выход) 13. установить частоту: 13.1. переслать в регистр AX код очередной ноты (указать имя массива частот и индексный регистр) 13.2. переслать в порт 42h значение из регистра AL – младший байт кода ноты (порт 42h – 1-байтный, процессор «общается» с ним только через AL) 13.3. поменять местами значения AH и AL (xchg al,ah) 13.4. переслать в порт 42h значение из регистра AL – старший байт кода ноты Схеме переданы необходимые данные. Звучание будет до момента перехода на следующий звук, следовательно, необходима приостановка программы на регулируемый промежуток времени. Можно использовать цикл с заданным числом повторений. Количество повторений цикла, обеспечивающее приемлемое звучание длительностью 1/16 - базовое число повторений, - определяется экспериментально (для 1/16 ноты путем подбора взято значение 7FFFFFFh). Базовое число повторений столь велико, что для его хранения требуется 32-битный регистр. 14. установить длительность: 14.1. занести в регистр EAX число 7FFFFFFh 14.2. в регистр CL занести элемент массива чисел сдвига (указать имя массива чисел сдвига и индексный регистр, указывающий на данный массив) 14.3. получаем длительность (SHL eax, cl) 14.4. занести полученное значение в ЕCX 14.5. используя команду loopd (разрешение использовать в качестве счетчика ECX) организовать пустой цикл 15. для перехода на следующую ноту увеличить значение индексного регистра (указателя на массив частот) на 2 16. увеличить значение индексного регистра (указателя на массив длительностей) на 1 17. организовать безусловный переход на метку (созданную в п.10) 18. выход: 18.1. получить текущие значение порта 61h, используя регистр AL 18.2. выключить динамик (AND al,0FCh ) 18.3. записать новое значение в порт 61h 18.4. корректно завершить программу – передать управление ОС Добавлено через 42 секунды Добавлено через 5 минут во время выполнения этого кода
0
|
|||||||
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
||
| 25.02.2016, 08:59 | ||
|
0
|
||
|
83 / 19 / 5
Регистрация: 01.02.2015
Сообщений: 655
|
|
| 25.02.2016, 10:24 [ТС] | |
|
У меня ноутбук np355v5c где можно в интернете посмотреть про это?
Сам перелетел не раз ноутбук, всё подключено было... Звук на компьютере есть... Может я не прото говорю?
0
|
|
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
||
| 25.02.2016, 10:29 | ||
|
1
|
||
|
83 / 19 / 5
Регистрация: 01.02.2015
Сообщений: 655
|
|
| 25.02.2016, 11:48 [ТС] | |
|
Скажите а эти варианты программ рабочие? Есть ли смысл проверять на других ПК
Добавлено через 33 минуты Проверил на стационарном пк вариант под 256 работает!
0
|
|
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 26.02.2016, 04:50 | |
|
Shura_deg,
https://www.cyberforum.ru/asse... 85694.html
0
|
|
| 26.02.2016, 04:50 | |
|
Помогаю со студенческими работами здесь
9
Выбор звуковой карты
Выбор звуковой карты Выбор звуковой карты Эмуляция звуковой карты Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|