Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Nov 12, 2019 11:41 am

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: Re: Eee PC 701
PostPosted: Mon Apr 13, 2009 11:11 pm 
Offline
User avatar

Joined: Thu Mar 29, 2007 3:02 am
Posts: 249
Работай, пока ноут не вырубится... или две сопли в батарейный отсек, и на них тестер китайский, в качестве вольтметра...:)

_________________
*****:
;дух машины, мой бубен сильнее твоей тупости

*****:


Top
   
 Post subject: Re: Eee PC 701
PostPosted: Sun Jul 19, 2009 1:54 pm 
Offline

Joined: Sun Feb 17, 2008 2:52 am
Posts: 16
Прочитал и непонял. Разрешение в Kolibri 1024х600 поддерживается или нет? Хотел её ставить на нетбук.


Top
   
 Post subject: Re: Eee PC 701
PostPosted: Sun Jul 19, 2009 2:10 pm 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1071
Именно такое разрешение - вряд ли, другое дело, что можно подобрать другое - стандартное, которое на конкретной модели нетбука будет смотреться более-менее приемлемо (с натяжкой, конечно).


Top
   
 Post subject: Re: Eee PC 701
PostPosted: Sun Jul 19, 2009 2:21 pm 
Offline

Joined: Sun Feb 17, 2008 2:52 am
Posts: 16
Спасибо! Буду думать.


Top
   
 Post subject: Re: Eee PC 701
PostPosted: Sun Jul 19, 2009 3:32 pm 
Assembler
У меня субноут RoverBook NEO U800 (описание тут и тут) и для Vesa поддерживается только 800*600. Хотя режим и устанавливается, но монитор аппаратно отображает только 800*480. Я вышел из такой ситуации программно ограничив область отрисовки экрана. Включив в код ядра следующий кусок:
Code:
   movzx eax,word [BOOT_VAR+0x900C]  ; Y max
;start fix for U800L
   cmp   eax,600
   jne   @f
   mov   eax,480
@@:
;end fix for U800L
   dec   eax
   mov   [Screen_Max_Y],eax

Этот код вставлен в файл ядра kernel.asm начинеся со строки номер 356.
Соответсвенно если у тебя в синем экране загрузки Колибри показывается выбор разрешения 1024*768, то применив фикс ты сможешь получить искомое 1024х600. В твоем случае код будет такой:
Code:
   movzx eax,word [BOOT_VAR+0x900C]  ; Y max
;start fix for U800L
   cmp   eax,768
   jne   @f
   mov   eax,600
@@:
;end fix for U800L
   dec   eax
   mov   [Screen_Max_Y],eax

Разумеется все это актуально, только если в Vesa есть режим 1024*768.


Top
   
 Post subject: Re: Eee PC 701
PostPosted: Sun Jul 19, 2009 7:50 pm 
Offline

Joined: Sun Feb 17, 2008 2:52 am
Posts: 16
Спасибо за обзор нетбука!
В Vesa есть режим 1024х768. Приведённый твой код мне понятен. То есть тогда у меня будет идти обрезание 768 до 600, или это просто будет реальные 600, на которые система будет расчитывать, при выводе остального на экран. Непонимаю.
Только перед твоим постом уже отказался от покупки нетбука, теперь передумал опять :).
Вот только с кодом чуть разберусь, и можно попробывать под нетбучное разрешение сделать :).


Top
   
 Post subject: Re: Eee PC 701
PostPosted: Sun Jul 19, 2009 7:59 pm 
Assembler
Видеокарта устанавливает режим 1024*768, и Flat Panel (экран субноута) его понимает, но отображает из него только верхние 600 строк. Код который я привел просто устанавливает ограничение для Колибри - ниже 600-й строки не отрисовывать, потому что их все равно не видно.
Тебе нужно взять исходники ядра http://kolibrios.org/?p=Download
Вставить этот кусок кода. Скомпилировать ядро в Fasm. И заменить файл kernel.mnt в образе Kolibri.img
Под виндой есть программа WinImage, под Linux образ можно смонтировать в файловую систему.
Если не хватает места (оригинальное ядро сжато программой kerpack), то удали в Games или Demos что-нибудь ненужное.


Top
   
 Post subject: Re: Eee PC 701
PostPosted: Mon Jul 20, 2009 10:58 am 
Offline

Joined: Sun Feb 17, 2008 2:52 am
Posts: 16
Ага, но ведь на нижней строке находится панель задач, "я имел ввиду как у виндовс", то получается она тоже будет отрезана. И как тогда системой управлять. Да, задачка однако.


Top
   
 Post subject: Re: Eee PC 701
PostPosted: Mon Jul 20, 2009 11:32 am 
Mario wrote:
Код который я привел просто устанавливает ограничение для Колибри - ниже 600-й строки не отрисовывать, потому что их все равно не видно.

Все будет как надо, в том числе и панель задач. Операциооная ситема ниже 600-й строки рисовать не будет - Ничего! Не будет рисовать даже фоновую картинку ниже 600-й строки. Потому что все что ниже, все равно не видно пользователю.

З.Ы. Если тебя напрягает самого сделать могу скидать сам, только ты сначала субноут купи.


Last edited by Mario on Mon Jul 20, 2009 11:35 am, edited 1 time in total.

Top
   
 Post subject: Re: Eee PC 701
PostPosted: Mon Jul 20, 2009 11:33 am 
Offline
Kernel Optimizer
User avatar

Joined: Mon Jan 16, 2006 7:58 pm
Posts: 657
Код, приведенный выше для "обрезки" экрана, не приведет к не отображению панели задач. Т.к. это код говорит ОС Колибри, что бы использовать для формирования рабочей области только 600 строк.


Top
   
 Post subject: Re: Eee PC 701
PostPosted: Mon Jul 20, 2009 11:40 am 
Offline

Joined: Sun Feb 17, 2008 2:52 am
Posts: 16
Вот теперь понятно. Будет просто масштабирование экрана до разрешения 1024х600. Что меня вполне устраивает.Теперь осталось нетбук купить. Спасибо Вам!


Top
   
 Post subject: Re: Eee PC 701
PostPosted: Mon Jul 20, 2009 12:07 pm 
Ты так и не понял. Это не масштабирование!
При масштабировании берется вся картинка 1024*768 и конвертируется в 1024*600. при этом будут искажения в изоражении.
Данный кусок кода просто приводит к урезанию используемой область экрана, раз ее все равно не видно. Если такое ядро запустить на обычном компьютере, где отображается 1024*768, то нижние 168 строк просто будут черные, потому что туда отрисовка производиться не будет вообще. Только в верхние 600 строк.


Top
   
 Post subject: Re: Eee PC 701
PostPosted: Mon Jul 20, 2009 6:27 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
продолжу мысль Mario..
..и панель задач (та что с Пуском) будет над этой чернотой

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
 Post subject: Re: Eee PC 701
PostPosted: Mon Jul 20, 2009 8:32 pm 
Offline

Joined: Sun Feb 17, 2008 2:52 am
Posts: 16
У меня это неукладывается в голове. А к чему тогда эта "панель задач" привязывается? Не, надо мне тогда разбираться с кодом. Приведённый пример кода мне понятен. Буду учиться тогда дальше. Ещё раз Спасибо Всем!


Top
   
 Post subject: Re: Eee PC 701
PostPosted: Mon Jul 20, 2009 10:14 pm 
Assembler
Панель вызывает функцию:
Code:
   mcall   14
   mov   [screen_size],eax

Описание:
Quote:
Функция 14 - получить размеры экрана.
Параметры:
eax = 14 - номер функции
Возвращаемое значение:
eax = [xsize]*65536 + [ysize], где
xsize = x-координата правого нижнего угла экрана = размер по горизонтали - 1
ysize = y-координата правого нижнего угла экрана = размер по вертикали - 1

Вычитает свою высоту из ysize и задает соответсвующие начальные координаты и размеры своего собственного окна в котором и отрисовывается.


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 2 guests


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:  
Powered by phpBB® Forum Software © phpBB Limited