При чтении данной темы возникло впечатление, что вы не в курсе, что я уже давно сделал вполне рабочий драйвер (именно драйвер, а не код в ядре) для SB16.
ОФфТОП:
to Serge
Расскажи, пожалуйста, как получить из 16 битных знаковых данных получить 8 битные беззнаковые, тогда будет драйвер и для более старых карточек.
Драйвер звука для COVOX'а
По докам они знаковые, только за ноль принято 0x80.
Получается sample/8 + 0x80
Для ММХ примерно так
movq mm0, [input] ;R1 L1 R0 L0
movq mm1, [input+8] ;R3 L3 R2 L2
psraw mm0,8 ;R1/8 L1/8 R0/8 L0/8
psraw mm1,8 ;R3/8 L3/8 R2/8 L2/8
packsswb mm0,mm0 ;R1/8 L1/8 R0/8 L0/8 R1/8 L1/8 R0/8 L0/8
packsswb mm1,mm1 ;R3/8 L3/8 R2/8 L2/8 R3/8 L3/8 R2/8 L2/8
punpckldq mm0, mm1 ;R3/8 L3/8 R2/8 L2/8 R1/8 L1/8 R0/8 L0/8
paddb mm0, const_0x8080808080808080
movq [output], mm0
Получается sample/8 + 0x80
Для ММХ примерно так
movq mm0, [input] ;R1 L1 R0 L0
movq mm1, [input+8] ;R3 L3 R2 L2
psraw mm0,8 ;R1/8 L1/8 R0/8 L0/8
psraw mm1,8 ;R3/8 L3/8 R2/8 L2/8
packsswb mm0,mm0 ;R1/8 L1/8 R0/8 L0/8 R1/8 L1/8 R0/8 L0/8
packsswb mm1,mm1 ;R3/8 L3/8 R2/8 L2/8 R3/8 L3/8 R2/8 L2/8
punpckldq mm0, mm1 ;R3/8 L3/8 R2/8 L2/8 R1/8 L1/8 R0/8 L0/8
paddb mm0, const_0x8080808080808080
movq [output], mm0
Никакого драйвера звука под COVOX пока не будет, он будет встроен в ядро колибри, которая будет частью моей игры. Сама игра будет запускаться с small CD. Для тех кто захочет услышать в ней звук, в описании будет схема COVOX'а. Это будет небольшой эксперимент с выпуском самодостаточных игр, не требующих операционной системы (там будет колибри). Сроки пока не указываю, стиль игры - Adventure с графикой и меню.
Who is online
Users browsing this forum: No registered users and 1 guest