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