Ïðîãðàììèðîâàíèå âèäåîàäàïòåðîâ




Ïîëó÷èòü èíôîðìàöèþ î ðåæèìå âèäåîàäàïòåðà - ÷àñòü 4


               

fprintf(file, "Íàçâàíèå âèäåîàäàïòåðà: '%s'\n",

                               

vesaInfo.fpOEMProductName);

 

}

 

// Òåïåðü ïîëó÷àåì èíôîðìàöèþ äëÿ êàæäîãî äîñòóïíîãî

 

// ðåæèìà VESA

 

for( i=0; i<50; i++ )             {

               

// Ïîëó÷àåì î÷åðåäíîé íîìåð ðåæèìà VESA

               

if(vesaInfo.fpModeTable[i] == 0xFFFF)           break;

               

fprintf(file,  "\n\nÐåæèì %Xh \n",

                               

vesaInfo.fpModeTable[i] );

               

// Ïîëó÷àåì èíôîðìàöèþ î ðåæèìå vesaInfo.fpModeTable[i]

               

regs.h.ah = 0x4f;

               

regs.h.al = 0x01;

               

regs.x.cx = vesaInfo.fpModeTable[i];

               

segregs.es = FP_SEG((void far *)&modeInfo);

               

regs.x.di = FP_OFF((void far *)&modeInfo);

               

int86x(0x10, &regs, &regs, &segregs);

               

// Ïðîâåðÿåì ðåçóëüòàò âûçîâà ôóíêöèè VBE

               

iResult = AnalyseResult(regs);

               

if(iResult != 0) return -1;

               

// Çàïèñûâàåì â ôàéë èíôîðìàöèþ èç ñòðóêòóðû modeInfo

               

fprintf(file, "Àòðèáóòû ðåæèìà: %04Xh \n",

                               

modeInfo.usModeAttr);

               

fprintf(file, "Àòðèáóòû îêíà: A %02Xh \n",

                               

modeInfo.ucWinAAttr);

               

fprintf(file, "Àòðèáóòû îêíà: B %02Xh \n",

                               

modeInfo.ucWinBAttr);

               

fprintf(file, "Øàã ïîçèöèîíèðîâàíèÿ îêíà: %d Êáàéò \n",

                               

modeInfo.usWinGranularity);

               

fprintf(file, "Ðàçìåð îêíà, Êáàéò: %d  \n",

                               

modeInfo.usWinSize );

               

fprintf(file, "Íà÷àëî ñåãìåíòà îêíà A: %04Xh \n",

                               

modeInfo.usBegSegA );

               

fprintf(file, "Íà÷àëî ñåãìåíòà îêíà B: %04Xh \n",

                               

modeInfo.usBegSegB );




Ñîäåðæàíèå  Íàçàä  Âïåðåä