12 int main(int argc
, char *argv
[])
14 struct uvesafb_task tsk
;
21 tsk
.regs
.eax
= 0x4f00;
23 tsk
.buf_len
= sizeof(ib
);
24 strncpy(&ib
.vbe_signature
, "VBE2", 4);
30 printf("VBE Version: %x\n", ib
.vbe_version
);
31 printf("OEM String: %s\n", ib
.oem_string_ptr
+ t
);
32 printf("OEM Vendor Name: %s\n", ib
.oem_vendor_name_ptr
+ t
);
33 printf("OEM Prod. Name: %s\n", ib
.oem_product_name_ptr
+ t
);
34 printf("OEM Prod. Rev: %s\n", ib
.oem_product_rev_ptr
+ t
);
36 for (s
= ib
.mode_list_ptr
+ t
; *s
!= 0xffff; s
++) {
37 struct vbe_mode_ib mib
;
39 tsk
.regs
.eax
= 0x4f01;
41 tsk
.flags
= TF_BUF_RET
| TF_BUF_ESDI
;
42 tsk
.buf_len
= sizeof(mib
);
46 printf("%6.4x %6.4x %dx%d-%d\n", *s
, mib
.mode_attr
,
47 mib
.x_res
, mib
.y_res
, mib
.bits_per_pixel
);
50 /* tsk.regs.eax = 0x4f02;
51 tsk.regs.ebx = 0xc161;
57 printf("got eax = %x\n", tsk.regs.eax);