The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как сделать графический загрузчик"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как сделать графический загрузчик"  
Сообщение от greenetc (??) on 02-Янв-06, 21:09 
Может не в тот раздел, но рядом вроде.
Создал приложение встраиваемое.При запуске системы запускается только это приложение.Хотелось бы сделать графический загрузчик в виде ProgressBar, вместо текстового процесса загрузки. Подскажите как это сделать.
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Как сделать графический загрузчик"  
Сообщение от Дмитрий Ю. Карпов on 03-Янв-06, 14:49 
Не было у бабы забот, да купила она себе порося! Ну, начнём с того, что писюковая совместимость - полный отстой, и сейчас я всех в этом убедю... или убеждю...

Итак, все современные видеоадаптеры могут работать в нескольких стандартных видеорежимах:
- несколько текстовых, начиная от 40x25 (стандартным считается 80x25);
- CGA: 640x200, два цвета; 320x200, четыре цвета;
- EGA: 640x350, шестнадцать цветов (битовые слои);
- VGA: 640x480, шестнадцать цветов (битовые слои); 320x200, 256 цветов.
Плюс к тому у каждой видеокарты (ну, кроме самых древних типа CL-5421) есть собственные режимы; при том, что у разных видеокарт могут совпадать разрешение&цветность, для них нужны разные драйверы, т.е. не получится заменить видеокарту на аналогичную др.производителя и надеяться, что удастся работать без изменений в софте.

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

Казалось бы, если на видеокарте есть ПЗУ, то в это ПЗУ надо залить драйвер, который будет принимать от программ стандартные запросы (т.е одинаковые для всех видеокарт) и реализовывать их в зависимости от конкретных особенностей видеокарты (как это делают BIOS'ы на контроллерах жёстких дисков, особенно SCSI). Но VideoBIOS имеет всего две функции: "установить видеорежим" и "поставить точку в заданном месте". Но если рисовать рисунок поточечно, то при каждом вызове VideoBIOS будет проверять, не вышла ли точка за границы экрана, а это медленно; тогда как при рисовании отрезка достаточно проверить, не выходят ли за границу экрана его концы. Впрочем, для тебя это м.б. приемлимо.

Другой вариант - прямое обращение к видеопамяти. Даже текстовые программы типа Norton Commander обращаются напрямую (я читал, что первой это сделала электронная таблица Lotus "1-2-3"). Но проблема в том, что все видеорежимы работают через "окно" размером в один сегмент (64 KB), тогда как уже EGA-адаптеры несли на себе вдвое больше; поэтому для адресации видеопамяти используются такие [censored] методы, что [censored], [censored] и [censored]!

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

Короче говоря, я советую читать следующие материалы:
- "TechHelp" (это электронный справочник под DOS, ищи в Internet);
- книги типа "Программирование видеоадаптеров" (такие древние, что в Internet их может не быть, но попробуй);
- статьи на тему "VESA";
(в кавычках пиведены ключевые слова для поисковых машин). Ну а напоследок пожелаю тебе удачи и терпения - они тебе понадобится.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Как сделать графический загрузчик"  
Сообщение от DeadMustdie email(??) on 03-Янв-06, 19:02 
>тебе удачи и терпения - они тебе понадобится.

Резюме: овчинкус выделкуса не стоит.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Как сделать графический загрузчик"  
Сообщение от greenetc (ok) on 04-Янв-06, 15:53 
>Не было у бабы забот, да купила она себе порося! Ну, начнём
>с того, что писюковая совместимость - полный отстой, и сейчас я
>всех в этом убедю... или убеждю...
>
>Итак, все современные видеоадаптеры могут работать в нескольких стандартных видеорежимах:
>- несколько текстовых, начиная от 40x25 (стандартным считается 80x25);
>- CGA: 640x200, два цвета; 320x200, четыре цвета;
>- EGA: 640x350, шестнадцать цветов (битовые слои);
>- VGA: 640x480, шестнадцать цветов (битовые слои); 320x200, 256 цветов.
>Плюс к тому у каждой видеокарты (ну, кроме самых древних типа CL-5421)
>есть собственные режимы; при том, что у разных видеокарт могут совпадать
>разрешение&цветность, для них нужны разные драйверы, т.е. не получится заменить видеокарту
>на аналогичную др.производителя и надеяться, что удастся работать без изменений в
>софте.
>
>Компьютерные игры под DOS работали с графикой в тех же условиях, что
>и твой загрузчик, т.к. сам DOS не имел функций для работы
>с графикой, так что приходилось либо пользоваться средствами VideoBIOS, либо обращаться
>напрямую к видеопамяти.
>
>Казалось бы, если на видеокарте есть ПЗУ, то в это ПЗУ надо
>залить драйвер, который будет принимать от программ стандартные запросы (т.е одинаковые
>для всех видеокарт) и реализовывать их в зависимости от конкретных особенностей
>видеокарты (как это делают BIOS'ы на контроллерах жёстких дисков, особенно SCSI).
>Но VideoBIOS имеет всего две функции: "установить видеорежим" и "поставить точку
>в заданном месте". Но если рисовать рисунок поточечно, то при каждом
>вызове VideoBIOS будет проверять, не вышла ли точка за границы экрана,
>а это медленно; тогда как при рисовании отрезка достаточно проверить, не
>выходят ли за границу экрана его концы. Впрочем, для тебя это
>м.б. приемлимо.
>
>Другой вариант - прямое обращение к видеопамяти. Даже текстовые программы типа Norton
>Commander обращаются напрямую (я читал, что первой это сделала электронная таблица
>Lotus "1-2-3"). Но проблема в том, что все видеорежимы работают через
>"окно" размером в один сегмент (64 KB), тогда как уже EGA-адаптеры
>несли на себе вдвое больше; поэтому для адресации видеопамяти используются такие
>[censored] методы, что [censored], [censored] и [censored]!
>
>И есть ещё какой-то метод работы "VESA", который я не понял. В
>компьютерных журналах иногдя появляются статьи на тему "программирование видеоадаптеров через VESA",
>которые я обычно не читаю.
>
>Короче говоря, я советую читать следующие материалы:
>- "TechHelp" (это электронный справочник под DOS, ищи в Internet);
>- книги типа "Программирование видеоадаптеров" (такие древние, что в Internet их может
>не быть, но попробуй);
>- статьи на тему "VESA";
>(в кавычках пиведены ключевые слова для поисковых машин). Ну а напоследок пожелаю
>тебе удачи и терпения - они тебе понадобится.


Неужели у Fedora Core 4 всё так сложно сделано , или в проекте MoveX2 ?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "Как сделать графический загрузчик"  
Сообщение от Андрей (??) on 04-Янв-06, 18:45 
>Неужели у Fedora Core 4 всё так сложно сделано , или в
>проекте MoveX2 ?

Fedora Core и Movix используют ядро Linux и пользуются всеми благами предоставляемыми ядром в том числе и bootsplash.
Вы написали "При запуске системы запускается только это приложение.", что для меня выглядит, как будто вы собираетесь загружать своё приложение при включении компьютера вместо операционной системы, то есть вам надо писать всё самому в том числе и графический загрузчик.
Именно эту ситуацию, на мой взгляд, и описал Дмитрий Ю. Карпов.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "Как сделать графический загрузчик"  
Сообщение от greenetc (ok) on 05-Янв-06, 13:03 
>>Неужели у Fedora Core 4 всё так сложно сделано , или в
>>проекте MoveX2 ?
>
>Fedora Core и Movix используют ядро Linux и пользуются всеми благами предоставляемыми
>ядром в том числе и bootsplash.
>Вы написали "При запуске системы запускается только это приложение.", что для меня
>выглядит, как будто вы собираетесь загружать своё приложение при включении компьютера
>вместо операционной системы, то есть вам надо писать всё самому в
>том числе и графический загрузчик.
>Именно эту ситуацию, на мой взгляд, и описал Дмитрий Ю. Карпов.


прошу прощения ... видимо я двусмысленно задал вопрос.
Меня интересует именно пользование всеми благами предоставляемыми ядром в том числе и bootsplash.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "Как сделать графический загрузчик"  
Сообщение от Андрей (??) on 05-Янв-06, 19:51 
>прошу прощения ... видимо я двусмысленно задал вопрос.
>Меня интересует именно пользование всеми благами предоставляемыми ядром в том числе и
>bootsplash.

я использую gentoo linux и поэтому знаю пару линков, как сделать графический загрузчик на gentoo
http://gentoo-wiki.com/HOWTO_fbsplash
http://gentoo-wiki.com/TIP_Design_your_own_Framebuffer_Splash

google может подсказать больше еслы вы его спросите

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "Как сделать графический загрузчик"  
Сообщение от greenetc (ok) on 05-Янв-06, 20:25 
>>прошу прощения ... видимо я двусмысленно задал вопрос.
>>Меня интересует именно пользование всеми благами предоставляемыми ядром в том числе и
>>bootsplash.
>
>я использую gentoo linux и поэтому знаю пару линков, как сделать графический
>загрузчик на gentoo
>http://gentoo-wiki.com/HOWTO_fbsplash
>http://gentoo-wiki.com/TIP_Design_your_own_Framebuffer_Splash
>
>google может подсказать больше еслы вы его спросите


спасибо. БУду пробывать .

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

8. "Как сделать графический загрузчик"  
Сообщение от scaldov on 20-Сен-06, 15:08 
>
>Казалось бы, если на видеокарте есть ПЗУ, то в это ПЗУ надо
>залить драйвер, который будет принимать от программ стандартные запросы (т.е одинаковые
>для всех видеокарт) и реализовывать их в зависимости от конкретных особенностей
>видеокарты (как это делают BIOS'ы на контроллерах жёстких дисков, особенно SCSI).
>Но VideoBIOS имеет всего две функции: "установить видеорежим" и "поставить точку
>в заданном месте". Но если рисовать рисунок поточечно, то при каждом
>вызове VideoBIOS будет проверять, не вышла ли точка за границы экрана,
>а это медленно; тогда как при рисовании отрезка достаточно проверить, не
>выходят ли за границу экрана его концы. Впрочем, для тебя это
>м.б. приемлимо.
>

Етить!!! Профанация какая-то. В VESA есть функция, которая создаёт структуру указателей на стандартные ф-ии ускореной 2D и 3D графики как для реального так и для защищенного режимов. В линуксе openGL на интеловских карточках именно так и работает.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру