Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вс дек 17, 2017 3:11 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 942 сообщения ]  На страницу Пред. 159 60 61 62 63 След.
Автор Сообщение
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Вс июн 01, 2014 12:01 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Пт июн 30, 2006 9:01 am
Сообщения: 1232
Further testing revealed that the problem was introduced in SVN #3727.

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Пн авг 25, 2014 12:57 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1601
hidnplayr писал(а):
it means we dont catch invalid memory access through MMX registers, why dont we do this?
It has nothing to do with MMX. r3727 has allowed the memory previously reserved as SB16 buffer to be allocated for other goals. When SB16 code tries to reuse buffer for the sound, it destroys all data. It depends on memory size, what exactly data are destroyed, in the case of 64 Mb it turns out to be something system-critical like process page table or TSS, I didn't bothered to find out what exactly. I have fixed this in r5057.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Пн авг 25, 2014 1:41 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Пт июн 30, 2006 9:01 am
Сообщения: 1232
Ah, so the memory was'valid' but just not meant for us. Understood.
Thanks for the fix.

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Пн сен 01, 2014 2:50 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1601
Я исправила щелчки в VirtualBox со звуковой картой AC97 в r5077. Если где-то перестало работать - теперь вы знаете, какую ревизию надо проверять первой.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Вт сен 02, 2014 6:19 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн июл 25, 2011 6:22 pm
Сообщения: 93
CleverMouse писал(а):
Я исправила щелчки в VirtualBox со звуковой картой AC97 в r5077. Если где-то перестало работать - теперь вы знаете, какую ревизию надо проверять первой.

Мышка, разъясни, пожалуйста, действие мнемоники LEAVE в твоём коде без ENTER.
Код:
proc START c uses ebx esi edi, state:dword, cmdline:dword

        mov     eax, [srv_entry]
        cmp     [state], 1
        jne     .stop

     if DEBUG
        mov     esi, msgInit
        invoke  SysMsgBoardStr
     end if

        test    eax, eax
        jnz     .done
        call    detect_controller
        ret
.stop:
        test    eax, eax
        jz      .done
        leave
        jmp     eax
.done:
        xor     eax, eax
        ret
endp


и ещё, если

Код:
proc START c uses ebx esi edi, state:dword, cmdline:dword
,

то подразумевается:
Код:
     push     ebx
              push     esi
              push     edi
              ...............
              некий код функции
              ...............
              pop      edi
              pop      esi
              pop      ebx
              ret

_________________
Программист не тот, кто постоянно пишет КОД, а тот кто сможет понять чужой КОД!!!


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Вт сен 02, 2014 4:21 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1601
Код:
proc START c uses ebx esi edi, state:dword, cmdline:dword

раскрывается в
Код:
START:
push ebp
mov ebp, esp
push ebx esi edi
...define state = [ebp+8]
...define cmdline = [ebp+12]
...define ret = macro {
pop edi esi ebx
leave
ret
}

Макрос proc не знает, что jmp eax выходит из функции, поэтому перед jmp eax нужно разрушать стековый фрейм вручную.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Пт сен 05, 2014 6:07 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пт сен 05, 2014 5:38 am
Сообщения: 4
Мышка, помогите пожалуйста, если в диспетчере виндовс HDA отображен в диапазоне адресов AFDFC000 AFDFFFFF
(тоесть длинна 003FFF ), то как считать инфу собственно с HD кодека? -_-

(замапить и считать с физ адреса то непроблема)

читал исходники intel_hda.asm, большое спасибо Asper и всем фанатам лоу левела, и чтото из линуксовых материалов но так и не разобрался :(

раньше то кой какие наработки были под AC97, но там все через порты
Код:
procedure via_ac97_write_reg (reg:byte; value:word);
var data, i : integer;
begin
    data := (reg shl 16) + value;
    outl (data, baseaddr + via_base0_ac97_ctrl);
end;

procedure ring0;
begin
      via_ac97_write_reg  (ac97_extended_status, 1);       
      sleep  (5);
      via_ac97_write_reg  (ac97_pcm_front_dac_rate, 48000 ); //44100);
end;

извиняюсь за офтоп, это просто к теме некоторой проблематики
http://tippach.business.t-online.de/asi ... f=8&t=1077


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Пт сен 05, 2014 2:24 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт июн 27, 2008 3:22 pm
Сообщения: 974
Ну если читали исходники intel_hda.asm то могли заметить, что общение с кодеком через порты там тоже предусмотрено, но не рекомендуется.
Вместо этого используются специальные циклические буферы для отправки команд (CORB) и приема данных (RIRB).
Кстати переключить драйвер на работу через порты можно выставив
Код:
USE_SINGLE_MODE equ 1

но не везде реализована корректная работа в этом режиме.

microxa писал(а):
извиняюсь за офтоп, это просто к теме некоторой проблематики
http://tippach.business.t-online.de/asi ... f=8&t=1077


ASIO это API или HAL драйвер, непосредственно работой с оборудованием она не занимается, поручая эту работу соответствующему WDM драйверу.
Собственно в связи с этим вопрос, вы хотите написать драйвер для Win?


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Пт сен 05, 2014 5:19 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт сен 05, 2014 5:38 am
Сообщения: 4
Цитата:
Asper:
Собственно в связи с этим вопрос, вы хотите написать драйвер для Win?

Нет, интерес разве что, в пересборке-оптимизации уже написаного Realtek-ом... По реализации API
-шной части (COM-интерфейс), сделано относительно простенько, и весьма шустро (в отличии даже от asio4all), ну и
большее самообразование в этом вопросе...
А про порты - разумееться, хотелось бы забыть :)

хм. чтото какието непонятки со сборкой, с обьявлением публичных символов в FASM (codec.inc)
к примеру
Код:
public make_codec_cmd ; +++
proc make_codec_cmd stdcall, nid:dword, direct:dword, verb:dword, parm:dword
....
public codec_exec_verb ; +++
proc  codec_exec_verb stdcall, cmd:dword;, res:dword <- returned in eax
....

нормально компилируеться символы добавляються (это необходимо для последущего реверса)

а стоит добавить еще один public дойдя до
Код:
public   snd_hda_sequence_write
proc  snd_hda_sequence_write stdcall, seq:dword

и это...

Код:
codec.inc [162]:
    mov      ecx, [esi + hda_verb.nid]
error: undefined symbol 'hda_verb.nid'.


с опцией же включения отладочных символов
Код:
FASM.EXE intel_hda.asm -s
flat assembler  version 1.71.21  (1048576 kilobytes memory)
error: write failed.


:'(

гм..

CleverMouse, ах, какой это был занимательный квест!
вначале то не разобрался что после -s должно идти выходное имя, отладочных символов формата .fas, но не всё так просто:
утилита pecvt.exe , расчитаная судя по всему на "fasm 1.67.29 with debug symbols", перестала заявлять
Цитата:
" incorrect fas file signature"

после маленькой поправочки
Код:
.004046D8:  cmp         d,[esi],01A736166 ;'→saf'
.004046DE:  jz         .000404705 --↓1
.004046E0:  push        00040D498 ;'incorrect fas file signature'
.004046E5:  call        printf


:) Ладно, теперь можно уже и подумать, где там CORB/RIRB и что такое VERB
Спойлер: Показать
Изображение


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Сб сен 06, 2014 12:57 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пт сен 05, 2014 5:38 am
Сообщения: 4
ого, не знал что новые ревизии собираются в
Цитата:
format PE DLL native 0.05

круто..
up:
эммм..
CleverMouse прошу извинить за дурацкий, по своей нетривиальности вопрос...

Asper еще раз, большущий респект, за такую компактную реализацию...

Ну как сказать... по крайней мере хоть и в жутко сыром виде, на чтение вроде работает...
(кой как перенесено на дельфи-асм, не обошлось без пары ерундовых bsod-ов, но кудаж без этого)


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Пт сен 12, 2014 6:51 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пт сен 05, 2014 5:38 am
Сообщения: 4
кстати некоторый момент в коде, который не имеет возврата (на дельфи то такие конструкции автоматом подразумевают ret, поэтому ссори, что не сразу заметил)...
Код:
.flat:00000E08
.flat:00000E08 ; =============== S U B R O U T I N E =======================================
.flat:00000E08
.flat:00000E08
.flat:00000E08 azx_bus_reset   proc near               ; CODE XREF: codec_exec_verb+45
.flat:00000E08                 call    azx_stop_chip
.flat:00000E0D                 call    azx_init_chip
.flat:00000E0D azx_bus_reset   endp ; sp-analysis failed
.flat:00000E0D
.flat:00000E12
.flat:00000E12 ; =============== S U B R O U T I N E =======================================
.flat:00000E12
.flat:00000E12
.flat:00000E12 azx_codec_create proc near             
.flat:00000E12                 push    ebx
.flat:00000E13                 push    ecx
.flat:00000E14                 push    edx

:)


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Вт окт 28, 2014 4:26 pm 
Не в сети

Зарегистрирован: Ср май 18, 2005 7:27 pm
Сообщения: 1001
viewtopic.php?f=50&t=2888 у него проблема со звуком (звуковая плата sis7012), что ему написать?


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Вс май 17, 2015 12:15 pm 
Не в сети

Зарегистрирован: Пн мар 27, 2006 6:33 am
Сообщения: 542
При воспроизведении mp3 АС97 громкость воспроизведения в небольшом диапазоне на железе Asus eee pc900.
На доске отладки NewVolume = 95B а MinVolume=12C0 почему то, так и должно быть?
отображает ALC662

P.S. Нетбук ещё и не сильно, но греется без нагрузки на CPU :)
Ещё заметил, что клавиатура в Колибри в последних сборках на Аsus сразу же устанавливается в NumLock режим (через Fn + NumLock можно переключить) а на обработку других функциональных клавиш не заметно реакции (например изменение громкости звука)


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Пт сен 04, 2015 10:13 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт июн 27, 2008 3:22 pm
Сообщения: 974
Добавил automute. Потыкайте наушники/колонки. Звук переключается?

Вложение:
intel_hda.sys [6.95 КБ]
66 скачиваний

Да и тестировать естественно надо на реальном железе, вм пока такое не умеют.


Вернуться к началу
 Заголовок сообщения: Re: sound, SB, AC97 и другое
СообщениеДобавлено: Сб сен 05, 2015 4:20 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
Проверил, отлично работает!

_________________
Через тернии к звездам


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 942 сообщения ]  На страницу Пред. 159 60 61 62 63 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB