VesaSetup: pusha ;VESA: get all available vesa modes! mov ax,0 ; set target address in es:di (0:offset) mov es,ax mov di,VESA_MODES mov ax,0x4f00 ;vesa function: Get Controller Info int 0x10 ; call the interrupt to get the data from the bios! vesa_err: mov bx, VESA_CHECK1 call print_string cmp ax,0x004f je vesa_ok jmp vesa_err vesa_ok: ; ;VESA: get vesa info on mode of interest mov ax,0 ; set target address in es:di (0:offset) mov es,ax mov di,VESA_MODE_INFO mov ax,0x4f01 ;vesa function: Get Mode Info mov cx,VESA_MODE_SELECT int 0x10 ; call the interrupt to get the data from the bios! vesa_err2: mov bx, VESA_CHECK2 call print_string cmp ax,0x004f je vesa_ok2 jmp vesa_err2 vesa_ok2: ;VESA: finally switch to the mode of choice! mov ax,0x4f02 ;vesa function: Set Mode mov bx,VESA_MODE_SELECT int 0x10 vesa_err3: mov bx, VESA_CHECK3 call print_string cmp ax,0x004f je vesa_ok3 jmp vesa_err3 vesa_ok3: popa ret