Страниц: [1]
  Печать  
Автор Тема: int10 -> 4f01 не работает.  (Прочитано 6991 раз)
4afc
Гость
« : Марта 25, 2003, 03:43:00 pm »

4f00 - работает, но только VESA 2.1 находит
4f01 - возвращает 01 - function call failed
на всех режимах, на нескольких машинах.

qnx4.25

Это менеджер int10 дурит или мне не везёт с видео?

Как ещё можно добраться до VESA - чтоб задать режим,
в линейном режиме байтами заполнить без запуска int10?
Записан
4afc
Гость
« Ответ #1 : Марта 27, 2003, 01:22:00 pm »


Это менеджер int10 дурит

Как ещё можно добраться до VESA - чтоб задать режим,
в линейном режиме байтами заполнить без запуска int10?



Вообщем разобрался. Int10 не работает в линейном режиме.
Во Flat - работает.
У кого-нибудь есть ссылки/примеры как включать
линейный режим. Или исходник Int10?
Записан
dmi
QOR.Admin
*****
Offline Offline

Сообщений: 470



Просмотр профиля
« Ответ #2 : Марта 27, 2003, 08:37:00 pm »


4afc пишет:
.... Или исходник Int10?


Стоит направить официальный запрос в SWD, который они перешлют в QSS, после чего (строго под NDA) передадут часть исходного кода. Так уже делали, насколько я знаю.
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #3 : Марта 27, 2003, 08:48:00 pm »


Как ещё можно добраться до VESA - чтоб задать режим,
в линейном режиме байтами заполнить без запуска int10?

Есть библиотека FastGL (http://www.tutok.sk/fastgl/) когда-то она компилилась под QNX4 и называлась по другому, может кто вспомнит название старое, она еще на Quicsе валяется ... в общем она юзает весу на всю катушку ... смотри там.
Записан

4afc
Гость
« Ответ #4 : Марта 28, 2003, 01:56:00 pm »


lestat пишет:

Как ещё можно добраться до VESA - чтоб задать режим,
в линейном режиме байтами заполнить без запуска int10?

Есть библиотека FastGL (http://www.tutok.sk/fastgl/) когда-то она компилилась под QNX4 и называлась по другому, может кто вспомнит название старое, она еще на Quicsе валяется ... в общем она юзает весу на всю катушку ... смотри там.

OpenGUI FGL - под QNX использует программу int10 для доступа, хотя,
в некоторых вариантах этой библиотеки и есть исходники с похожим названием.
К тому же эта библиотека работает только с 8 битными vesa режимами и
только во flat модели.

Накачав кучу исходников и обложившись книжками - мне удалось поработать
при запущенном int10. Я могу менять Vesa режимы и скроллировать экран,
Но только во Flat. Переключение банков не работает. Писать в видеоокно
могу только при запущенном фотоне.

Есть куча вопросов:

1.Во всех исходниках пишут, что видеопамять начинается с сегмента
0xA000 = 0xA0000 = 0xA0000000, Vеsa возвращает мне сегмент 0х1101,
а под фотоном 0х1019. Числа записываемые в 0х1019 меняю цвета
на экране. Выводы мне из этого просто не сделать.
Какая-то нестыковка или побочный эффект.

2. VesaBios 1.2, 2.0, 3.0 - прошиты в видеокарте? Или при инициализации
операционной системы/драйвера происходит расширение функций int10 добавлением 0x4f? Напомню, что винда без драйвера открывается в 12
режиме, для которого vesa не нужна, а почему? Уже в версии 1.2 есть
кучи режимов гораздо более приличных.

3. Что делает программа Int10 под qnx? Почему она позволяет работать
только во flat? Слышал, что её уже кто-то переписывал под себя. Кто?

4. Чем занимается trapper/перекл.? Он через vesa работает или напрямую
в порты пишет? В чём его задача? Где взять протокол общения с ним?Ph1.14

5. Чем занимается драйвер? Он через vesa/trapper работает или напрямую
в порты пишет? В чём его задача? Где взять протокол общения с ним? Ph1.14
 
Записан
klalafuda
QOR.Team
****
Offline Offline

Сообщений: 1


Просмотр профиля
« Ответ #5 : Марта 28, 2003, 02:20:00 pm »


4afc пишет:

lestat пишет:

Как ещё можно добраться до VESA - чтоб задать режим,
в линейном режиме байтами заполнить без запуска int10?

Есть библиотека FastGL (http://www.tutok.sk/fastgl/) когда-то она компилилась под QNX4 и называлась по другому, может кто вспомнит название старое, она еще на Quicsе валяется ... в общем она юзает весу на всю катушку ... смотри там.

OpenGUI FGL - под QNX использует программу int10 для доступа, хотя,
в некоторых вариантах этой библиотеки и есть исходники с похожим названием.
К тому же эта библиотека работает только с 8 битными vesa режимами и
только во flat модели.

Накачав кучу исходников и обложившись книжками - мне удалось поработать
при запущенном int10. Я могу менять Vesa режимы и скроллировать экран,
Но только во Flat. Переключение банков не работает. Писать в видеоокно
могу только при запущенном фотоне.

Есть куча вопросов:

1.Во всех исходниках пишут, что видеопамять начинается с сегмента
0xA000 = 0xA0000 = 0xA0000000, Vеsa возвращает мне сегмент 0х1101,
а под фотоном 0х1019. Числа записываемые в 0х1019 меняю цвета
на экране. Выводы мне из этого просто не сделать.
Какая-то нестыковка или побочный эффект.

2. VesaBios 1.2, 2.0, 3.0 - прошиты в видеокарте? Или при инициализации
операционной системы/драйвера происходит расширение функций int10 добавлением 0x4f? Напомню, что винда без драйвера открывается в 12
режиме, для которого vesa не нужна, а почему? Уже в версии 1.2 есть
кучи режимов гораздо более приличных.

3. Что делает программа Int10 под qnx? Почему она позволяет работать
только во flat? Слышал, что её уже кто-то переписывал под себя. Кто?

4. Чем занимается trapper/перекл.? Он через vesa работает или напрямую
в порты пишет? В чём его задача? Где взять протокол общения с ним?Ph1.14

5. Чем занимается драйвер? Он через vesa/trapper работает или напрямую
в порты пишет? В чём его задача? Где взять протокол общения с ним? Ph1.14
 


может вопрос и избитый, но таки: а зачем вам работать на прямую через древний как мир int10 ? есть же Photon, XFree, SciTech, QWindows наконец. правда, последний скорее мертвенький.

// wbr
Записан
4afc
Гость
« Ответ #6 : Марта 28, 2003, 07:18:00 pm »


klalafuda пишет:

может вопрос и избитый, но таки: а зачем вам работать на прямую через древний как мир int10 ? есть же Photon, XFree, SciTech, QWindows наконец. правда, последний скорее мертвенький.



Был выбор между Photon1.14, OpenGUI, SciTech.

Задача - режим 1280х1024х16бит, 85Гц
Обновлять 2000 любых точек каждый кадр.

Photon  - пытается обновить весь экран,flat - тормоз.
OpenGUI - 8bit.
SciTech - Что-то не запустилось оно, надо ковыряться.

Всё, что мне надо - установить режим, получить видеопамять,
вертикальное прерывание и чтоб никто другой не писал в память.

IMHO это не стоит лицензий и мегабайтов бинарников.
Записан
klalafuda
QOR.Team
****
Offline Offline

Сообщений: 1


Просмотр профиля
« Ответ #7 : Марта 28, 2003, 07:42:00 pm »


4afc пишет:

klalafuda пишет:

может вопрос и избитый, но таки: а зачем вам работать на прямую через древний как мир int10 ? есть же Photon, XFree, SciTech, QWindows наконец. правда, последний скорее мертвенький.



Был выбор между Photon1.14, OpenGUI, SciTech.

Задача - режим 1280х1024х16бит, 85Гц
Обновлять 2000 любых точек каждый кадр.

Photon  - пытается обновить весь экран,flat - тормоз.
OpenGUI - 8bit.
SciTech - Что-то не запустилось оно, надо ковыряться.

Всё, что мне надо - установить режим, получить видеопамять,
вертикальное прерывание и чтоб никто другой не писал в память.


запросто. хотя я не совсем пониманю цель - изменение произвольных 2000 точек. это что-то типа скринсейвера starfield ? дык он уже готовый в фотоне есть..

но не суть дело, нужно значит нужно.. хотя аргументы против конечно мало убедительные.


IMHO это не стоит лицензий и мегабайтов бинарников.


это в принципе уже ближе к жизни. хотя, со временем, аппетиты имеют свойство расти so сегодня 2000 точек а завтра GUI и пр.

если по существу вопроса: вы смотрели на svpmi (SuperVga Protected Mode Interface) ? /etc/readme/trchnotes/svpmi. как альтернатива int10. может быть поможет.

// wbr


[ Это Сообщение было отредактировано: klalafuda в 2003-03-28 16:43 ]
Записан
Страниц: [1]
  Печать  
 
Перейти в: