Page 12 of 31

Posted: Mon Nov 27, 2006 4:45 pm
by mike.dld
Это всё хорошо, но я не вижу, какой будет интерфейс для приложений для получения этих событий.

Posted: Mon Nov 27, 2006 5:12 pm
by Serge
Новая функция. Плеер уже работает через неё, только там очень примитивный вариант событий. Старые программы о ней не знают и им это не повредит. Новые должны установить маску событий в -1 после чего будут получать все сообщения через новую функцию. Плюс QNX-подобная схема вызовов Send -> Recieve -> Replay для IPC.

Posted: Mon Nov 27, 2006 8:25 pm
by Heavyiron
Интересный глюк появился с ядром 221 в qemu: если подвести курсор к правому краю окна, то он искажается. В virtualpc такого нет :\ На реальном железе пока не пробовал

Posted: Mon Nov 27, 2006 8:59 pm
by Serge
Heavyiron
У меня тоже. Это странности Qemu. В реале и в Bochs всё норально. Ещё Quemu у меня работает только в 640*480*24bpp,
вместо 800*600 включает 640*480. Игнорирует исключения сопроцесоора.

Posted: Tue Nov 28, 2006 1:40 pm
by Mario79
Serge
Ревизия 221 на Cyrix запустилась. Подробнее буду тестировать вечером.
Однако на ATI Rage не запускается режим 1280*1024 Vesa 2 (24 bit), почему- то устанавливается частота горизонтально развертки 87 Гц и плоский монитор его не тянет (тянет только 75 Гц), самое странное, что VRR при этом отключен. Как такое происходит не понятно.
Раньше до твоих изменений запускалось. Я имею в виду более старые выпуски дистрибутива, например 0581.

Posted: Tue Nov 28, 2006 2:29 pm
by Serge
Mario79
Проверь 0600. Я ничего не менял в загрузчике и в установке видеорежимов. Если ты подключал монитор от другого компа то такое может быть. Я менял видеокарты когда делал драйвер для ATI после этого 800*600*24 стал включатьса на 100 Гц.

Posted: Tue Nov 28, 2006 2:50 pm
by Mario79
Serge
Что значит:
Если ты подключал монитор от другого компа то такое может быть.
Монитор независимое устройство, по крайней мере для Колибри это так. Дело не в мониторе. Дело как раз в том как видеокарта вырабатывает сигнал.

Posted: Tue Nov 28, 2006 3:55 pm
by Serge
Mario79
У мониторов есть память раз он сохраняет настройки. Причём собственные для каждого режима. И есть протокол I2C для обмена данными между монитором и видеокартой. Возможно при смене видеокарт он сбивается потому что даже в одинаковых режимах сигналы от карт могут отличаться. То что у меня монитор стал работать в режиме 800*600 100Гц именно после смены карты это факт. Можно попробовать сбросить все настройки монитора на заводские, но потом его долго настраивать.

Posted: Wed Nov 29, 2006 8:06 am
by Mario79
Serge
Выявил для 221 ревизии, что на ATI Rage кроме установки 87 Гц (без VRR) в режиме 1280*1024*24 Bit еще и курсор расплывается, когда его подводишь к левому углу. Причем курсор расплывается во всех режимах. В общем если хоть один пиксел курсора выходит за пределы экрана, то происходит разбивание курсора на горизонтальные полосы, которые тем реже, чем меньше величина видимого курсора. Когда курсор выводишь обратно, он восстанавливается.
Кстати сброс монитора не помог частота, как была, так и стоит 87 Гц, впрочем, ты тут не причем – этот глюк появился и на более старых дистрибутивах, беру свои слова обратно (я про 0581).

На компере с камнем Athlon64+ мама ASUS A8N5X (Nforce4) как я уже писал ранее – если хоть раз запустить плеер, то выключение компера не сработает (после трех попыток система зависает), в то же время полный перезапуск и перезапуск из памяти срабатывают без проблем. Ревизия 207 выключается без проблем.

Posted: Wed Nov 29, 2006 9:38 am
by Serge
Mario79
Похожий баг с курсором есть в Qemu. Попробую разобраться в чём дело.

У меня перезагрузка и выключение с работающим плеером происходят без проблем а перезагрузка ядра 50/50. Возможно что причина общая.

Posted: Wed Nov 29, 2006 10:11 am
by Mario79
Serge
Плеер я совсем выключаю перед выключением компера. В этот момент нет активных приложений, кроме запущеных через лаунчер.

Posted: Wed Nov 29, 2006 10:39 am
by Serge
Mario79
Quemu оправдан. Была ошибка с отсечением курсора в 24bpp. Не ясно почему она возникала не всегда. Что касается перегрузки мне кажется есть проблема с прерываниями. У меня иногда при перезагрузке ядра появляется синий экран но на клавиатуру не реагирует. Дискета начинает читаться и всё зависает. Так бывает если замаскирован PIC.
Проверь свежие ядро и драйверы #224.

Posted: Wed Nov 29, 2006 7:39 pm
by Serge
Черновая версия событий работает. Можно не её основе сделать системные мьютексы, семафоры, сигнализирующие события (как в Win).
Делать ?

Posted: Wed Nov 29, 2006 7:53 pm
by YELLOW
Я бы посоветовал делать... Конечно, кто-то скажет: опять мы копируем Винду, но развитая система сообщений намного упростит разработку программ не только в плане пользовательского интерфейса, но и в плане взаимодействия приложений друг с другом и потоков внутри одного приложения. Ведь в Винде с помощью сообщений можно следить за любыми событиями и адекватно на них реагировать.Единственное что, надо стандартизировать номера сообщений (как с номерами функций) и оставить определенный диапазон для пользовательских сообщений.

Posted: Thu Nov 30, 2006 8:05 am
by Mario79
Serge
Ревизия 224.
Cyrix+ATI Rage баг с курсором отсутствует.
Athlon64+ ASUS A8N5X (Nforce4) выключение почти сработало – все приложения благополучно исчезли, остался один валпапер, на том все и остановилось. Подобные же симптомы у меня на Cyrix, но там и раньше не выключалось и даже в Винде само не выключалось, потому что формат фактор корпуса AT.

Из событий надо еще добавить события обновление сведений о файловых системах, когда произведена запись на любой из дисков. Думаю достаточно такое событие поделить по типам устройств: рамдиск, флопик, жесткий, сидюк, но можно сделать и более подробное сообщение.