Date: Tue, 22 Oct 1996 13:32:07 -0300 Message-Id: <1.5.4.16.19961022112854.348f28d0@dmeasc.rc.ipt.br> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: mohan AT stealth DOT net (Mohan Khurana), djgpp AT delorie DOT com From: Cesar Scarpini Rabak Subject: Re: VESA Programming -- oh boy. At 02:14 22/10/96 GMT, Mohan Khurana wrote: >I have a structure, which is the VbeInfoBlock structure that contains >the VESA spec version, memory, etc. > >I make a structure like this: > >struct VbeInfoBlock vesastruct; > >Then I go through the normal procedure for getting a pointer to the >structure, using dpmi functions. > >If I print the version number, defined in the struct as: > >short VbeVersion PACKED; > > I will get a successful and expected result of 200, here is the line >I used: > >print("%x", vesastruct->VbeVersion); > >Inside this structure there is a pointer called "OemStringPtr" defined >in the struct statement as: > >char *OemStringPtr PACKED; > >If I try to print this pointer to a null terminated string, using the >following line: > >printf("%s", vesastruct->OemStringPtr); > >I get the following error: > >Exiting due to signal SIGSEGV >General Protection Fault at eip=00004a5a >eax=00000000 ebx=00000000 ecx=ffffffff edx=00000025 esi=c00074ac >edi=c00074ac >ebp=00047624 esp=0004626c cs=00a7 ds=00af es=00af fs=0087 gs=00c7 >ss=00af >Call frame traceback EIPs: > 0x00004a5a > 0x00001fc1 > 0x000015c1 > 0x000015f5 > 0x00001b33 > >The specs say that OemStringPtr is a real mode far pointer in >protected mode. How do I access it? > >Please help. I have been trying to figure this out for a while now. > > In the grx20 package there is a programa called vesainfo there. You can look a its sources. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Cesar Scarpini Rabak E-mail: csrabak AT ipt DOT br DME/ASC Phone: 55-11-268-35221Ext.350 IPT - Instituto de Pesquisas Tecnologicas Fax: 55-11-268-5996 Av. Prof. Almeida Prado, 532. Sao Paulo - SP 05508-901 BRAZIL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~