Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Nov 13, 2019 2:12 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 981 posts ]  Go to page Previous 131 32 33 34 3566 Next
Author Message
PostPosted: Thu May 08, 2008 11:09 am 
Offline
Just Flooding

Joined: Sat Jan 06, 2007 2:30 pm
Posts: 269
to Serge
В последнем твоём последнем посте пункт 2 - ответ на мой вопрос и на твой же пункт 1.
Кстати разгадка возможностей SB по частоте оказалась простой - дело в том, что моя карточка OPTi16 не определяется в DOS и Колибри (будет время - пофиксю, сейчас не до того), только в винде, и я использую ESS1869, которая не SB16 (что соответствует DSP v4 и выше), а SBPro (DSP v3.1). Если есть SB16, то частота задаётся напрямую - т.е. мы записываем ровно ту частоту, которая нужна, далее уже проблемы самого DSP, как он это будет переваривать, в случае с более старыми, т.е. например SBPro, частота задаётся с помощью так называемых Time Constants, считается эта константа так:
(65536-256000000/(Rate*Channels))shr 8, или после упрощения
256-1000000/(Rate*Channels), где Rate - частота, Channels - 2 или 1 если соответственно стерео или моно, это я всё к тому, что если сказано, что карточка в любом режиме умеет 44кГц, то значит в стерео она должна принимать пары байтов с частотой 44кГц, значит в моно (я ведь для упрощения в задачи сначало в моно режиме воспроизвожу) она может принимать аж с частотой 88кГц. Это так для интереса.
Что куда важней - я скачал последнее ядро с SVN'а - ведь в нём ты пофиксил баг, а оно не грузится - ошибка в данных начального загрузчика, пересобрал из исходников - те же дела. В принципе у меня такое уже бывало с ядром 600каким-то, но 769 работает нормально. Гружу с помощью MTLDR, взятого из дистра 0710 из img образа в корне диска.


Top
   
PostPosted: Thu May 08, 2008 4:04 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Я не пользуюсь MTLDR. Гружу ядро с флешки (эмуляция FD).


Top
   
PostPosted: Thu May 08, 2008 10:49 pm 
Offline
User avatar

Joined: Mon Nov 05, 2007 12:09 am
Posts: 32
Nable
Quote:
Что куда важней - я скачал последнее ядро с SVN'а - ведь в нём ты пофиксил баг, а оно не грузится - ошибка в данных начального загрузчика, пересобрал из исходников - те же дела.

Я правил код загрузчика в релизе 795. Загрузку с помощью MTLDR не проверял. Проверю.


Top
   
PostPosted: Sat May 10, 2008 6:22 pm 
Offline
Just Flooding

Joined: Sat Jan 06, 2007 2:30 pm
Posts: 269
Забейте на загрузку - этот баг проявляется только если я из под Колибри копирую новое ядро на рамдиск и затем перезапускаю ядро (Ctrl+Alt+F12, Home), да и то не всегда.


Top
   
PostPosted: Tue May 20, 2008 3:04 pm 
Offline
Just Flooding

Joined: Sat Jan 06, 2007 2:30 pm
Posts: 269
to Serge
Я наконец-то раздобыл SB16, но для 16битного звука нужен 16битный DMA канал. БИОС назначил канал 5, использую его - карта долю секунды хрюкает, после чего система виснет. Я предполагаю, что дело в ядре, не так ли? Как это обойти? 8 бит - не вариант, драйвер не успевает преобразовать 16бит от микшера.


Top
   
PostPosted: Tue May 20, 2008 6:14 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Надо смотреть код.


Top
   
PostPosted: Thu May 29, 2008 2:14 pm 
Offline
Just Flooding

Joined: Sat Jan 06, 2007 2:30 pm
Posts: 269
to Serge
Hi! I've finally found time to go into Internet!
Here is my fully working version of the driver! In this first release only SB16 and newer cards are supported, SBPro and SB2.0 support would be added later (if I'll time).
Serge, test this at your machine first, please. It works on my real computer, but I didn't tested it anywhere else, so I am counting on you. If you find it working - then say this to other users, please.

In the archive:
kernel.mnt - my patched kernel that doesn't reserve IRQ5
sndblstr.txt - it is the best of all documentation for SB cards
s*.zip - C sources (not my) that I used to look at real code that makes SB work
Nable\Readme.txt - my small readme
Nable\SOUND - compiled driver. Rename it to sound.obj and put to /sys/drivers
Nable\*.asm,*.inc - my source code. I don't pretend for anything. But I think that it'll better if I'll modify this code if needed, not everybody. If many people modify the same code at the same time it's becoming difficult to understand how does it work.


Attachments:
SBDRV.ZIP [234.9 KiB]
Downloaded 671 times
Top
   
PostPosted: Fri May 30, 2008 1:19 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5064
У меня не заработало, но возможно (скорее всего) моя система вообще не поддерживает SB.
Характеристики моего компа у меня в профиле.

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


Top
   
PostPosted: Fri May 30, 2008 3:29 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Nable

Работает !

Железа у меня нет, проверял в Qemu и VirtualPC. В Qemu звук идёт с треском хотя загрузка проца 20-30% наверное это проблема с эмуляцией.
В VirtualPC звук почти отличный. Тестовая mp3 загрузила проц на 5%. Жаль что в остальном VPC глючный.


Top
   
PostPosted: Fri May 30, 2008 4:36 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Подправленый плеер. Предыдущий иногда "проглатывал" конец файла.


Attachments:
ac97snd.7z [23.79 KiB]
Downloaded 101 times
Top
   
PostPosted: Fri May 30, 2008 10:53 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Nable

Все здорово работает. Надо ещё сделать MASTERVOLUME. Громкость задаётся как в DirectSound (затухание в сотых dB от -10000 то есть -100dB полная тишина до 0 - максимальная громкость). Как я понял в SB 16 уровней громкости, только неясно где максимум: 0 или 15.


Top
   
PostPosted: Sat May 31, 2008 10:55 am 
Offline
Just Flooding

Joined: Sat Jan 06, 2007 2:30 pm
Posts: 269
Leency
На твоём компе не может быть SB карты - это ISA устройство, а слоты расширения ISA есть только вплоть до i686. Я правда читал про чипсеты, эмулирующие SB, но сейчас таких не делают.

Serge
Понял, т.е. sb_master_vol=((int)((MASTERVOLUME+10000)/10000*16)) and 0xF.
Максимум - 15. Есть такой момент, что у SB встроенный миксер, поэтому кроме


Top
   
PostPosted: Sat May 31, 2008 1:00 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 7:57 pm
Posts: 835
К сожалению, у меня система с этим ядром при запуске перезагружается...

_________________
Всех выше те, кто доброе творят,
И за дела добра не ждут наград,
Всем жертвуют для страждущих людей,
Не думая о выгоде своей.


Top
   
PostPosted: Sat May 31, 2008 2:29 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Nable

Надо умножать на 15 иначе при максимуме сбросится в ноль.


Top
   
PostPosted: Sat May 31, 2008 4:55 pm 
Offline
Just Flooding

Joined: Sat Jan 06, 2007 2:30 pm
Posts: 269
Serge
Да я и сам понял, что на 15, только очень спешил, даже до конца пост не дописал. А сказать я тогда хотел следующее - master volume это конечно хорошо, но что делать с остальными регистрами миксера - pcm out volume, aux volume, cd volume...


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 981 posts ]  Go to page Previous 131 32 33 34 3566 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited