Re: sound, SB, AC97 и другое
Posted: Thu May 08, 2008 11:09 am
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 образа в корне диска.
В последнем твоём последнем посте пункт 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 образа в корне диска.