Board.KolibriOS.org

Official KolibriOS board
It is currently Tue May 21, 2019 1:55 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 68 posts ]  Go to page Previous 1 2 3 4 5 Next
Author Message
 Post subject:
PostPosted: Sun May 28, 2006 11:28 pm 
Offline

Joined: Sat May 27, 2006 5:26 am
Posts: 100
2 Serge:
Мне всё равно как будет реализован интерфейс. Для меня важнее эффективность, чем простота разработки. Пусть будет как в DirectSound.

Добавил:

Работы по портированию uFMOD потихоньку продвигаются. Уже тестируется полность ассемблерный билд синтезатора (вообще без сишного кода). Добавлены ключи для поддержки произвольной частоты дискретизации. Так что 48К уже экспериментально поддерживаются движком.

Ещё добавил:

Теперь исходники uFMOD можно собирать не только MASM'ом и TASM'ом, но ещё и NASM'ом и FASM'ом. Последнее, думаю, актуально для Колибри. Получились прямо таки кроссассемблерные и кроссплатформенные исходники :)


Top
   
 Post subject:
PostPosted: Thu Jun 22, 2006 4:18 am 
Offline

Joined: Sat May 27, 2006 5:26 am
Posts: 100
Всё, что перечислено выше, и ещё куча мелких доработок, включено в uFMOD 1.16, который можно скачать с офф. сайта (ufmod.sf.net). Линуксовый билд полностью избавлен от внешних библиотек (многопоточность, I/O и работа с памятью осуществляются системными вызовами) и на его базе можно начинать работать над билдом для Kolibri.

2 Serge:
Как там поживает драйвер для AC97/SB?

А теперь ещё несколько вопросов:

1. Про 64 - перераспределение памяти. Новый размер имиджа должен быть кратен какому-то значению или можно задавать произвольно?

2. Про 51 - создать поток. Во-первых, надо полагать, что поток имеет доступ к памяти процесса как в *никсах, т.е. основной поток и вновьсозданный разделяют всю память, кроме стека, так? Во-вторых, как потом завершить поток? Реализована ли возможность ожидания завершения потока из основного процесса (как wait4/waitpid в posix) или события для этого лучше не использовать?

3. Про 55 - звуковой интерфейс. Через что это выводит звук? Оно умеет проигрывать PCM? А 16-бит стерео поддерживает? Там ссылаются на документацию к PlayNote, но я её не нашёл.

Для начала хватит :)


Top
   
 Post subject:
PostPosted: Thu Jun 22, 2006 7:07 am 
1. Можно задавать произвольно, но реально он все равно будет кратен 4096 байтам.
2. Да, у потока и процесса общая память. Завершается поток -1 функцией. Возможность ожидания завершения не реализована.
3. По-моему там через спикер звук выводится.


Top
   
 Post subject:
PostPosted: Thu Jun 22, 2006 11:25 am 
Offline

Joined: Mon May 01, 2006 10:12 pm
Posts: 349
halyavin
Имхо твой ответ не очень внёс ясность в вопрос (№2). Никакого "кроме" вроде нету (мне самому интересен этот момент...)


Top
   
 Post subject:
PostPosted: Thu Jun 22, 2006 12:07 pm 
Offline

Joined: Wed May 25, 2005 8:52 am
Posts: 147
2. указатель стека для нового потока передается при его создании, и горе приложению, если стеки потоков пересекутся

3. http://menuet.narod.ru/download/playnote.zip и описание от автора внизу страницы http://menuet.narod.ru/arch2003_5.htm


Top
   
 Post subject:
PostPosted: Thu Jun 22, 2006 12:09 pm 
Стек является частью общей памяти. У потока и процесса он просто находится в разных местах (если программист не дурак).


Top
   
 Post subject:
PostPosted: Thu Jun 22, 2006 12:09 pm 
Стек является частью общей памяти. У потока и процесса он просто находится в разных местах (если программист не дурак).


Top
   
 Post subject:
PostPosted: Thu Jun 22, 2006 1:14 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Quantum
В монопольном режиме (когда только одна программа выводит звук) драйвер поживает неплохо. Но некоторые проблемы есть. Если при проигрывании звука загрузить программу, то иногда файловая система не успевает прокачать данные и звук на время прерывается. Я добавил новое событие EVENT_NOTIFY equ 0x00000200 для передачи сообщения от драйвера к программе, но надо ещё изменить планировщик, чтобы программы с установленными событиями получали управление первыми. А сейчас пишу код для динамического связывания драйвера, библиотеки и ядра.


Top
   
 Post subject:
PostPosted: Thu Jun 22, 2006 1:53 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Блин, я что, зря документацию пишу? В 55-й функции есть 4 подфункции. Подфункция 55.55
(http://diamondz.land.ru/klbr_doc/5555.htm) пищит спикером. Подфункции 0,1,2
(http://diamondz.land.ru/klbr_doc/5500.htm
http://diamondz.land.ru/klbr_doc/5501.htm
http://diamondz.land.ru/klbr_doc/5502.htm) работают с Sound Blaster'ом.

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
 Post subject:
PostPosted: Thu Jun 22, 2006 4:34 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
С прерывающимся звуком я разобрался. Файловая система оказалась не причём, что радует. Глючила одна единственная программа и конечно моя собственная. Там было прямое обращение к драйверу из-за чего он начинал работать ненормально, а я про это забыл :(. В окончательной версии вся работа со звуком будет идти только через библиотеку.


Top
   
 Post subject:
PostPosted: Thu Jun 22, 2006 5:40 pm 
Offline

Joined: Sat May 27, 2006 5:26 am
Posts: 100
2 halyavin:
1 - ясно
2 - ясно
3 - жаль

2 diamond:
Quote:
Блин, я что, зря документацию пишу?

Эта дока полнее той, что в дистре.

Спикер мне совершенно не подходит. С саундбластером я ещё не разбирался, но сразу видно, что там надо устанавливать базовый порт (у юзера нужно конфигурацию запрашивать, наверно), 16-бит стерео не поддерживает и не ясно как в буфер можно дозаписывать следующий кусок данных, чтобы не происходило артефактов на стыке. Пример SB смотрел, но там эти проблемы просто не учитываются.

2 Serge:
Буду рад потестить эту библиотеку как можно раньше.


Top
   
 Post subject:
PostPosted: Thu Jun 22, 2006 5:45 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Quantum Драйвер готов только для интелловских ICH - ICH7. Другими я пока не занимался и еще есть проблемы с отсутствием нормальной документации. Если чипсет не интелловский придётся подождать.


Top
   
 Post subject:
PostPosted: Thu Jun 22, 2006 6:19 pm 
Quantum
Вся документация от Diamond'a появилась после выпуска последнего дистрибутива. Так что тут уж ничего сделать нельзя.
Quote:
Спикер мне совершенно не подходит. С саундбластером я ещё не разбирался, но сразу видно, что там надо устанавливать базовый порт (у юзера нужно конфигурацию запрашивать, наверно), 16-бит стерео не поддерживает и не ясно как в буфер можно дозаписывать следующий кусок данных, чтобы не происходило артефактов на стыке. Пример SB смотрел, но там эти проблемы просто не учитываются.

Не торопись, люди делают работу по внедрению нормальной реализации звуковой системы. Я думаю, как будет сделана более-менее безглючная версия, то Serge выложит ее для общего доступа.

Serge
Не торопись - лучше исправить глюки и выложить позже, чем потом каждому объяснять, почему глючит.


Top
   
 Post subject:
PostPosted: Thu Jun 22, 2006 8:24 pm 
Offline

Joined: Sat May 27, 2006 5:26 am
Posts: 100
2 Serge:
У меня есть одна машина с интегрированным интеловским чипом. Хотя Mario79 прав в том, что лучше не торопиться. Мы с Астериксом месяц усиленно тестили последний релиз uFMOD на разных дистрах линукса и бсд, а всё равно вылез один мелкий но мерзкий глюк сразу после релиза. И так всегда :(

2 Mario79:
Желание заниматься SB16 уже пропало. Будем ждать.


Top
   
 Post subject:
PostPosted: Sun Jul 08, 2007 5:48 am 
Offline

Joined: Sat May 27, 2006 5:26 am
Posts: 100
Прошёл год... И бета-релиз наконец состоялся. На правах рекламы, вот снова линк на официальный сайт:
http://ufmod.sf.net


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 68 posts ]  Go to page Previous 1 2 3 4 5 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


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