Anonymous user
VESA Video Modes: Difference between revisions
m
Convert to standard ISO data types
[unchecked revision] | [unchecked revision] |
m (→VESA Functions: 0x400 is bit 10, which is reserved. should be bit 14 (hence 0x4000) instead.) |
m (Convert to standard ISO data types) |
||
Line 8:
struct VbeInfoBlock {
char VbeSignature[4]; // == "VESA"
};
Line 25:
<source lang="c">
struct ModeInfoBlock {
VBE_FAR(realFctPtr);
};
</source>
Line 63:
<source lang="c">
{
struct VbeInfoBlock *ctrl = (VbeInfoBlock *)0x2000;
struct ModeInfoBlock *inf = (ModeInfoBlock *)0x3000;
int i;
int pixdiff, bestpixdiff = DIFF(320 * 200, x * y);
int depthdiff, bestdepthdiff = 8 >= d ? 8 - d : (d - 8) * 2;
Line 75:
strncpy(ctrl->VbeSignature, "VBE2", 4);
intV86(0x10, "ax,es:di", 0x4F00, 0, ctrl); // Get Controller Info
if ( (
modes = (
for ( i = 0 ; modes[i] != 0xFFFF ; ++i ) {
intV86(0x10, "ax,cx,es:di", 0x4F01, modes[i], 0, inf); // Get Mode Info
if ( (
// Check if this is a graphics mode with linear frame buffer support
|