Guest User

Untitled

a guest
Dec 11th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.51 KB | None | 0 0
  1. int vbe_get_mode_info(unsigned short mode, vbe_mode_info_t *vmi_p) {
  2.  
  3.     struct reg86u registries;
  4.     mmap_t address;
  5.  
  6.     lm_init();
  7.  
  8.     lm_alloc(VBE_MODE_INFO_BLOCK_SIZE, &address);
  9.  
  10.     registries.u.b.ah = 0x4F;
  11.     registries.u.b.al = 0x01;
  12.  
  13.     registries.u.w.es = PB2BASE(address.phys);
  14.     registries.u.w.di = PB2OFF(address.phys);
  15.  
  16.     registries.u.b.intno = 0x10;
  17.     registries.u.w.cx = 1 << 14 | mode;
  18.  
  19.     sys_int86(&registries);
  20.  
  21.     vbe_unpack_mode_info(address.virtual, vmi_p);
  22.  
  23.     lm_free(&address);
  24.  
  25.  
  26.   return 1;
  27. }
Add Comment
Please, Sign In to add comment