From: "Marcus" Newsgroups: comp.os.msdos.djgpp Subject: Get video modes Date: Tue, 15 Feb 2000 00:11:19 +0100 Organization: Telenordia Lines: 38 Message-ID: <88a255$dhi$1@cubacola.tninet.se> NNTP-Posting-Host: cns2-210-200.cm.starport.se X-Trace: cubacola.tninet.se 950569957 13874 193.150.210.200 (14 Feb 2000 23:12:37 GMT) X-Complaints-To: abuse AT algo DOT net NNTP-Posting-Date: 14 Feb 2000 23:12:37 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hi! Could anyone see what's wrong with this code? I get the information correct but it's something wrong and I don't know what. Here's the code: unsigned short modes[100]; getmodes(vbeinfo.videomodeptr, modes, 200); void* getmodes(unsigned int modeptr, void* dest, int maxlength) { int offset = (modeptr>>12 & 0xFFFF0) + (modeptr & 0xFFFF); dosmemget(offset, maxlength, dest); return dest; } And the struct: struct VBEINFO { char vbesignature[4]; // VBE Signature unsigned short vbeversion; // VBE Version unsigned int oemstringptr; // Pointer to OEM String unsigned char capabilities[4]; // Capabilities of graphics cont. unsigned int videomodeptr; // Pointer to Video Mode List unsigned short totalmemory; // number of 64Kb memory blocks unsigned short oemsoftwarerev; // VBE implementation Software revision unsigned int oemvendornameptr; // Pointer to Vendor Name String unsigned int oemproductnameptr; // Pointer to Product Name String unsigned int oemproductrevptr; // Pointer to Product Revision String char reserved[222]; // Reserved for VBE implementation scratch area char oemdata[256]; // Data Area for OEM Strings }; Thanks for all help! -- /regards Marcus