Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Aug 17, 2019 8:33 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 8 posts ] 
Author Message
 Post subject: VGA
PostPosted: Mon Jun 27, 2005 5:48 pm 
кто-нибудь знает, что означает сообщение Bochs'a вида

Code:
00000931306p[CLVGA] >>PANIC<< mem_write: graphics: mapping = 0


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

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


Top
   
 Post subject:
PostPosted: Wed Jun 29, 2005 6:15 pm 
да...забыл сказать, что BIOS 4fxx я не использовал. граический режим работает, но память недоступна :(


Top
   
 Post subject:
PostPosted: Sat Sep 09, 2006 9:54 am 
Offline
User avatar

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


Top
   
 Post subject:
PostPosted: Sat Sep 09, 2006 9:58 am 
Offline
User avatar

Joined: Sat Mar 04, 2006 12:53 am
Posts: 221
http://www.h-favorit.narod.ru/all/video.zip - выше неправильно!!!


Top
   
 Post subject:
PostPosted: Sat Sep 09, 2006 11:35 am 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Зачем запускать систему в Bochs ?

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

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


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


Top
   
 Post subject: Re: VGA
PostPosted: Sun Oct 23, 2016 12:45 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Хотел спросить, вот в режиме "VGA 16 colors" чему bpp равен, 32?
У меня так показывает
Spoiler: Show
Image

Вот исходник
Spoiler: Show
Code:
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.


Top
   
 Post subject: Re: VGA
PostPosted: Tue Oct 25, 2016 5:58 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Да. Там виртуальный фреймбуфер 32bpp.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 8 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 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:  
cron
Powered by phpBB® Forum Software © phpBB Limited