Lavr wrote:2. В современных ноутбуках выход таймера больше не подсоединяют ни к спикеру, ни ко входу звуковой карты.
В общем как-то пытаюсь я найти решение этой интересной проблемы, которая, выражаясь словами Фаины Раневской
звучит как:"
Таймер есть, а звука нет..."
В старом ноутбуке у меня спикер присутствовал внутри явно, и во время работы DOS им можно было пикать
невозбранно. Хотя он как-то хитро подключался и к звуковой карте, поэтому под Вендой звук спикера шел
из встроенных динамиков ноута. В общем, всё было по уму и удобно...
Народ в интернете зачастую утверждает, что в современных ноутбуках спикера-пищалки как факта нет
но сигнал этот (от аналога 8254) подается на звуковую карту.
Я тоже давно читал где-то, что можно коммутировать этот сигнал микшером звуковухи, но в микшере
у меня этого сигнала тоже нет:
микс.PNG
Собственно - а чего я пристал к этому спикеру? Да потому как на современном ноутбуке из портов,
к которым можно обратиться программно, остались, пожалуй, таймер и порт 61 - от которых можно
ожидать реакции, ну и можно почитать микросхему часов реального времени...
Больше портов нет - звуковая карта как порты недоступна, внешние порты - ЮСБ...
И попалась мне вдруг вновь статья, которую я, видимо, когда-то давно читал:
Что там у нас с драйвером Beep в Windows 7? Автор: Ларри Остерман
В ней подробно развёрнут вот этот тезис:
Lavr wrote:...совсем наплевать на таймер со спикером якобы запрещает какой-то закон США об инвалидах.
...производители PC стали искать способы снизить их стоимость. Они посмотрели на 8254 и спросили: "Почему мы не можем его убрать?".
Получилось так, что они не могли это сделать. И ответ на то, почему они не могли это сделать, пришёл с совершенно неожиданной стороны. ADA - Americans with Disabilities Act - закон о (американских) инвалидах.
Но эта статья голову заморочила окончательно, тем, что звук таймера, который
07H, в старших Вендах, начиная
с ХР как бы отвязан от таймера железного "программной оболочкой", и звук, который
07H,
генерирует системный драйвер Beep.Sys.
А вот дальше - то ли перевод плохой, то ли суть мутная:
В Windows 7 мы полностью разрешили ту проблему – мы переместили всю функциональность драйвера Beep.Sys в агент системных звуков пользовательского режима – теперь, когда вы вызываете Beep, то вместо манипулирования чипом 8254, вызов просто перенаправляется этому агенту, который и играет звук на звуковой карте.
Я посмотрел в системной папке своей Windows 7 - Beep.Sys у меня по-прежнему есть...
В общем, после прочтения статьи тумана стало еще больше:"
Таймер есть, а звука так и нет..."
Собственно, в чем зогатка-то: существует FreeDOS, которую предпродажно ставят на новые ноутбуки,
чтобы отвязать от Венды и удешевить... так вот эта FreeDOS вряд ли знает про какой-то Beep.Sys но как-то
должна же она уметь работать со спикером или звуковой картой без портов?
You do not have the required permissions to view the files attached to this post.