sound, SB, AC97 и другое

Drivers for sound cards
  • Serge, у этого подправленного плеера не отрисовываются кнопки, толко надписи. Соответсвенно я не могу ни перемотать файл, ни изменить громкость.
  • И правда нет кнопок.

    Home/End - громкость Del/PageDown баланс каналов
    Attachments
    ac97snd.7z (23.79 KiB)
    Downloaded 217 times
  • Атауальпа wrote:К сожалению, у меня система с этим ядром при запуске перезагружается...
    Извини, но дело не во мне, это ядро отличается от обычного ядра с SVN'а отсутствием одной строчки - зарезервировать IRQ5 за ядром.
    Дальнейшее обращено ко всем - скачивать и пытаться использовать то, что я выложил только тем, у кого действительно есть SB16, если у вас нет этой карты расширения или чипсета с её эмуляцией (если у вас P4 и выше, то ни того, ни другого точно нет), то лучше не пытаться инициализировать несуществующее устройство - ничего хорошего не выйдет. Кстати, на тот момент, когда я смотрел, скачали мой архив 8 раз, а написали только Serge, Leency и Атауальпа. И..?
  • Nable

    Залей изменения на SVN. Скоро выйдет новый дистрибутив.
  • Serge
    У меня нет доступа к SVN'у. Да и инет у меня только на работе, дома некогда. Так что залей ты, пожалуйста. Кстати нужно удалить код из ядра - это задача kernel-developer'ов.
    А удалив код из ядра - подправить Readme.txt (я там писал про ядро и IRQ5, и как их отделить).
  • Nable

    А патч для SVN можешь сделать ?
  • Serge wrote:Nable

    А патч для SVN можешь сделать ?
    Извини, но я совсем не понял, что ты имеешь в виду.
  • Если у тебя есть TortoiseSVN то в контекстном меню выбираешь пункт "Create patch..." и отмечаешь новые/изменённые файлы.

    Если нет, то напиши просто что и где надо изменить в ядре.
  • Serge
    Хорошо, постараюсь описать в ближайшее время, не знаю успею ли.
  • to all
    Hei, people! 'sbdrv.zip' was downloaded 15 times but only 3 answers were posted! I'm wondering very much. Could you answer?

    to Serge
    Вот список того, что нужно сделать с ядром SVN800 для доведения до кондиции:
    ;-------------------------------------------------------------------------------
    удалить:
    --------------------------------
    core/conf_lib.inc:

    строки 43-67:
    ;[dev]
    ;sb16
    ...
    mov [sound_dma], eax
    @@:
    Причина - драйвер сам определяет где находится карточка, не нужно прописывать руками

    строки 95-98:
    udev_sb16 db 'sb16',0
    udev_sb16_def db '0x220',0
    udev_sound_dma db 'sound_dma',0
    udev_sound_dma_def db '1',0
    Причина - используются только в удаляемых строках, т.е. больше не нужны
    --------------------------------
    sound/sb16.inc:

    строки: все кроме 33 (sound_interface: ), 71-93 (от cmp eax,edi до ret) (т.е. кода для
    PC Speaker'а. А что (чуть не сказал "какого х") здесь делает этот код?)
    Причина - драйвер работает :-)
    --------------------------------
    kernel.asm:

    строка 1036: mov [irq_owner+4*5],1
    Причина - так надо (IRQ5 теперь свободен, но ненадолго - лишь пока
    нет драйвера)

    строка 1108: mov byte[sb16_status],0
    Причина - не используется нигде

    строки 1190-1284:
    sys_sb16:
    ...
    ret

    Причина - ядро теперь не знает где SB, а потому прийдётся удалить весь
    связанный с ним код

    строки 1579-1589:
    cmp eax,4 ; SB
    ...
    nsyse4:
    Причина - драйвер сам определяет где находится карточка, не нужно прописывать руками

    строки 1658-1664:
    cmp eax,10 ; SOUND DMA CHANNEL
    ...
    no_set_sound_dma:
    Причина - драйвер сам определяет где находится карточка, не нужно прописывать руками

    строки 1754-1760:
    cmp eax,4
    ...
    ngsyse4:
    Причина - в лучшем случае ядро возвратит NULL

    строки 1785-1790:
    cmp eax,10
    ...
    ngsyse10:
    Причина - в лучшем случае ядро возвратит NULL
    --------------------------------
    data32.inc:

    строка 149: sound_dma dd 1
    Причина - используются только в удаляемых строках, т.е. больше не нужно

    строка 367: sb16 rd 1
    Причина - используются только в удаляемых строках, т.е. больше не нужно
    --------------------------------
    заменить:
    --------------------------------
    core/syscall.inc:

    строка 131: dd sys_sb16
    на: dd 0
    Причина - теперь этого нет

    строка 134: dd sys_sb16II
    на: dd 0
    Причина - теперь этого нет

    --------------------------------
    добавить:
    --------------------------------
    core/dll.inc:
    перед строчкой 49 (ret) добавить что-то типа mov eax,1 , а то на моей системе
    к моменту вызова драйвера все IRQ кроме 5го уже размаскированы, и после
    разрешения IRQ5 в eax'е 0 и драйвер думает, что кто-то уже заграбастал его IRQ
  • to Serge
    Are you alive? (See my previous post)
  • Nable, see chat on mainpage
    И мы уже давно не пешки,
    Мы пули, мы орлы, и решки!
    Война ютит бинарный код,
    Умри, или иди вперед!
  • Nable

    Извини, задержался с ответом.

    Я внёс все изменения. Sb16.inc удалил а остаток кода перенёс в playnote.inc
  • to Serge
    Прекрасно, ядро ещё чуть-чуть приблизилось к драйверной модели, плюс мы избавились от части кода Menuet'чиков.
  • Who is online

    Users browsing this forum: No registered users and 2 guests