Mail Archives: djgpp/1997/03/10/09:16:18
Niklas wrote:
>
> > [Snip]
> >
> > >
> > > int mode = 0x4101;
> > >
> > > VBE_getmodeinfo(mode, &modeinfo);
> > > if(modeinfo.ModeAttributes & 0x8)
> > > printf("Linear frame buffer found\n");
> > > else {
> > > printf("Linear frame buffer not found\n");
> > > exit(1);
> > > }
> > >
> >
> > [Snip]
>
8<------------------CLIPPED--------------------8<
The videomode 0x4101 isn't defined according to the SciTech vbe2.0 Core
infofile, because VESA videomodes are only 14 bits wide:
".....the optional VBE mode numbers are 14 bits wide. To initialize a
VBE mode, the mode number is passed in the BX register to VBE Function
02h (Set VBE mode)."
So what you have to do is to SET the mode 0x0101 with bit 14 enabled
(that is BX=0x4101), and SEARCH after the mode 0x0101 in the
VideoModeList.
Some VESA TSR's are actually storing both 0x0101 and the 0x4101 "mode"
in the VideoModeList, but according to the (unofficial) specs from
SciTech, 0x4101 isn't a VideoMode so it should't be located in the
VideModeList.
Hope this solved the problem.
Regards,
LoveDoorFoxor /Talent
http://www.idb.hist.no/~jans
- Raw text -