Reading EDID data please help - VideoPortInt10( )

S

sonal

Hi all,
please help me out in reading EDID data using VideoPortInt10.
I am using the function as follows:

unsigned char EdidBuffer[128];

biosArguments.Eax = 0x4f15;
biosArguments.Ebx = 0x1;
biosArguments.Ecx = 0x0;
biosArguments.Edx = 0x0;
biosArguments.Edi = EdidBuffer; //4'th param
VideoDebugPrint((0," EdidBuffer[0] %x\n",EdidBuffer[0]));

status =VideoPortInt10(HwDeviceExtension, &biosArguments);

if(status==NO_ERROR && (biosArguments.Eax == 0x004f) )
VideoDebugPrint((0," biosArguments.Ax %x\n",biosArguments.Eax));
else
VideoDebugPrint((0," biosArguments.Ax %x\n",biosArguments.Eax));

I am getting successful in Ax = 0x4f.
But I am not able to get any data in EdidBuffer..............

I had tried same function in DOS environment using Turbo c , which
returns correct data in the buffer.

unsined char buff[256];
in.x.ax=0x4f15
in.x.di=FP_OFF(buff);
segs.es=FP_SEG(buff);
int86x(0x10,&in,&out,&segs);


//return correct data in buff..........


Please let me know were exactlly am i going worng.........
regards
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top