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

Drivers for sound cards
  • Ruslan
    Извиняюсь, не знаю толком о чём речь... Но попробуйте дистрибутив FreeDOS's LiveCD установочный, там чего только нету.
    Причём большинство кампиляций и дос-изобретений сейчас происходит под freedos, часто можно встретить утилиты
    фридоса, в чужих дистрах дос и рековери пакетах...
    У меня есть этот fullcd... с интернет браузеом, игрушками и десктопом даже. Только лень было уже с ним возится,
    когда кругом линуксы и всё такое более интересное.
  • Ну во общем то я хотел просто научиться программировать ICH7-M под DOS. Трудно сразу въехать в тему желательно иметь рабочий пример которого как раз и нету.
    Самое интересное, что есть проигрыватели под DOS для AC97 (ICH), но они молчат - не работают у меня. Не знаю почему. К примеру известный MPXPLAY под DOS (авторы обещали большую поддержку железа) - не определяет тип HARDWARE.
    Пробовал также
    wav file player for DOS (Jeff Leyda) он правда для ICH2 но я менял VENDER для ICH7. Тоже не работает. (вроде должна быть совместимость)
    Ну вот я и хотел бы иметь рабочий простенький пример на ASM и ещё как. С него можно было бы начать работать. (с пояснениями)
    SERGE - писал что у него под DOS получалось проиграть WAV файлы, но правда ICH5.
    Может, кто поможет мне и с примерами и информацией.
  • Ruslan
    Ты для начала при помощи Everest сними данные компа, тогда тебе с большей вероятностью помогут. Иногда бывает - в Windows обзывается одинаково, а на аппаратном уровне реализовано на разных чипсетах.
  • Просканировал с помощью EVEREST - вот данные:
    --------[ Аудио PCI / PnP ]---------------------------------------------------------------------------------------------

    Analog Devices AD1981HD @ Intel 82801GBM ICH7-M - High Definition Audio Controller [A-1] PCI

    --------[ Debug - PCI ]-------------------------------------------------------------------------------------------------

    B00 D1B F00: Intel 82801GBM ICH7-M - High Definition Audio Controller [A-1]

    Offset 00: 86 80 D8 27 06 00 10 00 01 00 03 04 10 00 00 00
    Offset 10: 04 00 58 E8 00 00 00 00 00 00 00 00 00 00 00 00
    Offset 20: 00 00 00 00 00 00 00 00 00 00 00 00 3C 10 AA 30
    Offset 30: 00 00 00 00 50 00 00 00 00 00 00 00 15 01 00 00
    Offset 40: 03 00 00 03 07 00 00 00 00 00 00 00 00 80 00 00
    Offset 50: 01 60 42 C8 00 00 00 00 00 00 00 00 00 00 00 00
    Offset 60: 05 70 80 00 00 00 00 00 00 00 00 00 00 00 00 00
    Offset 70: 10 00 91 00 00 00 00 00 00 08 10 00 00 00 00 00
    Offset 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Offset 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Offset A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Offset B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Offset C0: 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
    Offset D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Offset E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Offset F0: 00 00 00 00 00 00 00 00 86 0F 02 00 00 00 00 00

    Явно ICH7-M VENDOR 8086-27D8
    -----------------------------------------------------------------------------------------------------------------------------------------------
    Вот также ссылка оттуда я нашёл ваш сайт
    http://www.wasm.ru/forum/viewtopic.php?id=17900

    Там есть примеры, я их смотрел, пробовал и не чего не получилось
    Кто подскажет, кто поможет.
  • Ruslan
    Под Колибри звука, как понимаю, нет?
  • Ruslan

    У тебя HDA звук. Это не АС97, в Колибри дров для него нет, посмотри исходники ALSA.
  • Когда же проигрыватель MP3 под Колибри сможет воспроизводить через SB16?
    Иначе говоря будет ли реализация общего звукого драйвера для такого оборудования?
    У меня есть две карточки ISA: ESS AudioDrive 1869 и Opti16, обе работают как SB16. Через прогу SB wav воспроизводится, но хочется mp3. Поддержки своей ESS Maestro1 PCI, на которую дрова есть во всех линухах, я конечно не дождусь, но для SB то уже наполовину реализовано, почему б не доделать?
  • Хотябы Audigy завелось... Ведь карта очень распространённая... У Гаврилова сырцы вроде б открыты? хотя и под вин
  • Плохо, что до сих пор не поддерживается формат Ogg. Потому что это достаточно распространённый и качественный формат, качество даже лучше, чем MP3. У меня есть много записей в этом формате. Я хочу на него полностью перейти, но не делаю этого, потому что не могу слушать его в Колибри. :(
  • Атауальпа
    Я тебя, конечно, понимаю, но неодобряю твоих "хотелок" по всему форуму. Если будешь продолжать в том-же духе, начну удалять "хотелочные" посты. Для хотелок есть раздел Оффтоп и в нем уже несколько тем для "хотелок".
    Если пишешь в любом другом разделе нечто новое, то де-факто ты готов взяться за реализацию этой вещи.
    Прими это к сведению.
    Удачи и надеюсь без обид, потому как дурной пример заразителен.
  • Nable wrote:Когда же проигрыватель MP3 под Колибри сможет воспроизводить через SB16?
    Иначе говоря будет ли реализация общего звукого драйвера для такого оборудования?
    Весь прикол в том, что пока поддержка звука сделана только однотипными драйверами, а не стандартной звуковой подсистемой, которая бы предоставляла для процессов ряд функций для работы со звуковыми данными.
    Данная проблема решается введением новых функций для взаимодействия со звуковыми буферами. Так как разные звуковые карты могут работать на разной частоте и при этом расположение звуковых данных может отличаться, то необходим специальный универсальный ресемплер, который должен находиться в ядре и вызываться этими функциями (чего пока не предусмотрено). В связи с этим нет обшего интерфейса, как для разных способов воспроизведения уже подготовленного звука, так и для подготовки самих данных для воспроизведения. Т.е. отсутствует промежуточное звено между процессами и драйвером звука, введение которого могло бы упростить написание программ с поддержкой звука и упростить написание драйверов.
    Над разработкой звуковой подсистемы (с поддержкой даже COVOX'a), я работаю уже 2 года, но не хватает времени и сил. А возможности у неё достаточно привлекательные:
    1) частота дискретизации: 1Гц - 4ГГц
    2) Количество физических каналов (колонок) с автоматическим перераспределением звуковых данных по каналам: 1 - 32
    3) Разрядность: 8/16/24/32 бита
    4) Расположение звуковых данных в памяти: последовательное/параллельное/попарное(стерео+стерео+...)
    Самое интересное это второй пункт - там мне пришлось поломать голову!
  • Какие достигнуты успехи и немного глупый вопрос - для какой ОС эта звуковая система (Колибри)?
    Из хаоса в космос
  • Hater wrote:
    Nable wrote:Когда же проигрыватель MP3 под Колибри сможет воспроизводить через SB16?
    Иначе говоря будет ли реализация общего звукого драйвера для такого оборудования?
    Весь прикол в том, что пока поддержка звука сделана только однотипными драйверами, а не стандартной звуковой подсистемой, которая бы предоставляла для процессов ряд функций для работы со звуковыми данными.
    Данная проблема решается введением новых функций для взаимодействия со звуковыми буферами. Так как разные звуковые карты могут работать на разной частоте и при этом расположение звуковых данных может отличаться, то необходим специальный универсальный ресемплер, который должен находиться в ядре и вызываться этими функциями (чего пока не предусмотрено). В связи с этим нет обшего интерфейса, как для разных способов воспроизведения уже подготовленного звука, так и для подготовки самих данных для воспроизведения. Т.е. отсутствует промежуточное звено между процессами и драйвером звука, введение которого могло бы упростить написание программ с поддержкой звука и упростить написание драйверов.
    Над разработкой звуковой подсистемы (с поддержкой даже COVOX'a), я работаю уже 2 года, но не хватает времени и сил. А возможности у неё достаточно привлекательные:
    1) частота дискретизации: 1Гц - 4ГГц
    2) Количество физических каналов (колонок) с автоматическим перераспределением звуковых данных по каналам: 1 - 32
    3) Разрядность: 8/16/24/32 бита
    4) Расположение звуковых данных в памяти: последовательное/параллельное/попарное(стерео+стерео+...)
    Самое интересное это второй пункт - там мне пришлось поломать голову!
    Если такое будет сделано, то через звуковуху можно будет даже замутить нехилый измерительный комплекс :)
  • Hater

    Ты отстал от жизни. Под колибри есть звуковая подсистема. Называется infinity-sound.Эта подсистема, как и драйвер AC'97,написана Serge-ем.К колибри поставляется SDK. В нём есть и функции для работы со звуком.Вот содержание файла sound.h из SDK:

    Code: Select all

    #ifndef _SOUND_H_
    #define _SOUND_H_
    
    #ifdef __cplusplus
    extern "C"
    {
    #endif
    
    #define SOUND_VERSION 5
    
    #define PCM_ALL       0
    
    #define PCM_OUT       0x08000000
    #define PCM_RING      0x10000000
    #define PCM_STATIC    0x20000000
    #define PCM_FLOAT     0x40000000
    #define PCM_FILTER    0x80000000
    
    #define PCM_2_16_48   1
    #define PCM_1_16_48   2
    #define PCM_2_16_44   3
    #define PCM_1_16_44   4
    #define PCM_2_16_32   5
    #define PCM_1_16_32   6
    #define PCM_2_16_24   7
    #define PCM_1_16_24   8
    #define PCM_2_16_22   9
    #define PCM_1_16_22  10
    #define PCM_2_16_16  11
    #define PCM_1_16_16  12
    #define PCM_2_16_12  13
    #define PCM_1_16_12  14
    #define PCM_2_16_11  15
    #define PCM_1_16_11  16
    #define PCM_2_16_8   17
    #define PCM_1_16_8   18
    #define PCM_2_8_48   19
    #define PCM_1_8_48   20
    #define PCM_2_8_44   21
    #define PCM_1_8_44   22
    #define PCM_2_8_32   23
    #define PCM_1_8_32   24
    #define PCM_2_8_24   25
    #define PCM_1_8_24   26
    #define PCM_2_8_22   27
    #define PCM_1_8_22   28
    #define PCM_2_8_16   29
    #define PCM_1_8_16   30
    #define PCM_2_8_12   31
    #define PCM_1_8_12   32
    #define PCM_2_8_11   33
    #define PCM_1_8_11   34
    #define PCM_2_8_8    35
    #define PCM_1_8_8    36
    
    #define SRV_GETVERSION      0
    #define SND_CREATE_BUFF     1
    #define SND_DESTROY_BUFF    2
    #define SND_SETFORMAT       3
    #define SND_GETFORMAT       4 
    #define SND_RESET           5
    #define SND_SETPOS          6
    #define SND_GETPOS          7
    #define SND_SETBUFF         8
    #define SND_OUT             9
    #define SND_PLAY           10
    #define SND_STOP           11
    #define SND_SETVOLUME      12
    #define SND_GETVOLUME      13
    #define SND_SETPAN         14
    #define SND_GETPAN         15
    #define SND_GETBUFFSIZE    16
    
    #define PLAY_SYNC     0x80000000
    
    typedef unsigned int SNDBUF;
    
    int _stdcall  InitSound(int *version);
    
    int _stdcall  CreateBuffer(unsigned int format,int size,SNDBUF *buf);
    int _stdcall  DestroyBuffer(SNDBUF hBuff);
    
    int _stdcall  SetFormat(SNDBUF hBuff, unsigned int format);                        
    int _stdcall  GetFormat(SNDBUF hBuff, unsigned int *format);                        
    
    int _stdcall  ResetBuffer(SNDBUF hBuff, unsigned int flags);
    int _stdcall  SetBufferPos(SNDBUF hBuff, int offset);
    int _stdcall  GetBufferPos(SNDBUF hBuff, int *offset);
    int _stdcall  GetBufferSize(SNDBUF hBuff, int *size);
    
    int _stdcall  SetBuffer(SNDBUF hBuff,void* buff,
                            int offs, int size);
    int _stdcall  WaveOut(SNDBUF hBuff,void *buff, int size);
    int _stdcall  PlayBuffer(SNDBUF hBuff,unsigned int flags);
    int _stdcall  StopBuffer(SNDBUF hBuff);
                            
    int _stdcall  SetVolume(SNDBUF hBuff, int left, int right);
    int _stdcall  GetVolume(SNDBUF hBuff, int *left, int *right);
    int _stdcall  SetPan(SNDBUF hBuff, int pan);
    int _stdcall  GetPan(SNDBUF hBuff, int *pan);
                            
    int _stdcall  GetMasterVol(int* vol);
    int _stdcall  SetMasterVol(int vol);
    
    
    typedef struct
    {
        unsigned int   riff_id;
        unsigned int   riff_size;
        unsigned int   riff_format;
    
        unsigned int   fmt_id;
        unsigned int   fmt_size;
    
        unsigned short int wFormatTag;
        unsigned short int nChannels;
        unsigned int   nSamplesPerSec;
        unsigned int   nAvgBytesPerSec;
        unsigned short int nBlockAlign;
        unsigned short int wBitsPerSample;
        unsigned int   data_id;
        unsigned int   data_size;
    } WAVEHEADER;
    
    
    unsigned int _stdcall test_wav(WAVEHEADER *hdr);
    
    #ifdef __cplusplus
    extern "C"
    }
    #endif
    
    #endif //_SOUND_H_
    
    KolibriOS-перспективная ос!
    Kolibri is best operation system in the world!
  • Who is online

    Users browsing this forum: No registered users and 18 guests