Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вс июл 23, 2017 9:42 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 8 сообщений ] 
Автор Сообщение
 Заголовок сообщения: VGA
СообщениеДобавлено: Пн июн 27, 2005 5:48 pm 
кто-нибудь знает, что означает сообщение Bochs'a вида

Код:
00000931306p[CLVGA] >>PANIC<< mem_write: graphics: mapping = 0


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

может знает кто, что такое mapping? :?:


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 29, 2005 6:15 pm 
да...забыл сказать, что BIOS 4fxx я не использовал. граический режим работает, но память недоступна :(


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Сб сен 09, 2006 9:54 am 
Не в сети
Аватара пользователя

Зарегистрирован: Сб мар 04, 2006 12:53 am
Сообщения: 221
я незнаю, может будет кому полезно
[url]h-fovorit.narod.ru/all/video.zip[/url] - дока по видеорежимам. Я в этом не шарю, но мож кому пригодится.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Сб сен 09, 2006 9:58 am 
Не в сети
Аватара пользователя

Зарегистрирован: Сб мар 04, 2006 12:53 am
Сообщения: 221
http://www.h-favorit.narod.ru/all/video.zip - выше неправильно!!!


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Сб сен 09, 2006 11:35 am 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
Зачем запускать систему в Bochs ?

Если хочеш поэкспериментировать с ядром,то нужно запускать Колибри как основную операционную систему,тогда проблем с доступом к видеопамяти не будет.

Я вообще виртуальным машинам не доверяю.Всё проверяю на реальной системе.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Сб сен 09, 2006 4:37 pm 
cyberGnom
См. исходники bochs, файл vga.cc. У тебя почему-то включен alpha-режим, но при этом видеопамять находится по адресам 0xA0000-0xBFFFF. Либо ты сделал что-то не то, либо bochs не поддерживает такой режим.


Вернуться к началу
   
 Заголовок сообщения: Re: VGA
СообщениеДобавлено: Вс окт 23, 2016 12:45 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 929
Хотел спросить, вот в режиме "VGA 16 colors" чему bpp равен, 32?
У меня так показывает
Спойлер: Показать
Изображение

Вот исходник
Спойлер: Показать
Код:
Unit Unit1;
(* -------------------------------------------------------- *)
Interface
(* -------------------------------------------------------- *)
Type

  Dword = Cardinal;
 
  Size = Record
    Height: Word;
    Width : Word;
  End;

Var
  hConsole: Pointer;
  ConsoleInit:       Procedure(WndWidth, WndHeight, ScrWidth, ScrHeight: Dword; Caption: PChar); StdCall;
  ConsoleExit:       Procedure(bCloseWindow: Cardinal); StdCall;
  printf:            Function(Const Format: PChar): Integer; CDecl VarArgs;
(* -------------------------------------------------------- *)
  Procedure Main; Forward;
  Procedure ThreadTerminate; Forward;
  Function  LoadLibrary(Path: PChar): Pointer; StdCall; Forward;
  Function  GetProcAddress(hLib: Pointer; ProcName: PChar): Pointer; StdCall; Forward;
  Function  GetScreenSize: Size; Forward;
  Function  GetScreenBitsPerPixel: Cardinal; Forward;
  Function  GetScreenBytesPerScanLine: Cardinal; Forward;
(* -------------------------------------------------------- *)
Implementation
(* -------------------------------------------------------- *)
Procedure Main();
Var
   Screen: Size;   
Begin

   hConsole          := LoadLibrary('/sys/lib/console.obj');
   ConsoleInit       := GetProcAddress(hConsole, 'con_init');
   ConsoleExit       := GetProcAddress(hConsole, 'con_exit');
   printf            := GetProcAddress(hConsole, 'con_printf');

   ConsoleInit($FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, 'Test');
   
   Screen := GetScreenSize();
   
   printf('Screen                 = %dx%d'#10, Screen.Width, Screen.Height);
   printf('ScreenBitsPerPixel     = %d'#10, GetScreenBitsPerPixel);
   printf('ScreenBytesPerScanLine = %d'#10, GetScreenBytesPerScanLine);

   ConsoleExit(0);
   ThreadTerminate;
End;
(* -------------------------------------------------------- *)
Function  GetScreenSize: Size;
Asm
        push   ebx
        mov    eax, 61
        mov    ebx, 1
        int    64
        pop    ebx
End;
(* -------------------------------------------------------- *)
Function  GetScreenBitsPerPixel: Cardinal;
Asm
        push   ebx
        mov    eax, 61
        mov    ebx, 2
        int    64
        pop    ebx
End;
(* -------------------------------------------------------- *)
Function  GetScreenBytesPerScanLine: Cardinal;
Asm
        push   ebx
        mov    eax, 61
        mov    ebx, 3
        int    64
        pop    ebx
End;
(* -------------------------------------------------------- *)
Procedure ThreadTerminate();
Asm
        mov    eax, $FFFFFFFF
        int    64
End;
(* -------------------------------------------------------- *)
Function GetProcAddress(hLib: Pointer; ProcName: PChar): Pointer;
Asm
        push   esi
        push   edi
        push   ebx
        mov    edx, hLib
        xor    eax, eax
        test   edx, edx
        jz     @end
        mov    edi, ProcName
        mov    ecx, $FFFFFFFF
        repne scasb
        mov    ebx, ecx
        not    ebx
@next:
        mov    esi, [edx]
        test   esi, esi
        jz     @end
        mov    ecx, ebx
        mov    edi, ProcName
        add    edx, 8
        repe cmpsb
        jne    @next
        mov    eax, [edx - 4]
@end:
        pop    ebx
        pop    edi
        pop    esi
End;
(* -------------------------------------------------------- *)
Function LoadLibrary(Path: PChar): Pointer;
Asm
        push   ebx
        mov    eax, 68
        mov    ebx, 19
        mov    ecx, Path
        int    64
        pop    ebx
End;
(* -------------------------------------------------------- *)
End.


Вернуться к началу
 Заголовок сообщения: Re: VGA
СообщениеДобавлено: Вт окт 25, 2016 5:58 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
Да. Там виртуальный фреймбуфер 32bpp.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 8 сообщений ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB