; vesa.inc ; Author: Josh Holtrop ; Date: 01/04/05 ; Modified: 01/04/05 ; real mode vesa functions ; sample bochs VBE modes: ;0x000c6a86 : 0x0100 0x0101 0x0102 0x0103 0x0105 0x0110 0x0111 0x0112 ;0x000c6a96 : 0x0113 0x0114 0x0115 0x0116 0x0117 0x0118 0x0142 0x0143 ;0x000c6aa6 : 0x0144 0x0146 0xffff %define VESA_MODE_SUPPORTED 0x01 %define VESA_MODE_COLOR 0x08 %define VESA_MODE_GRAPHICS 0x10 %define VESA_MODE_LFB 0x80 vesa_return: dw 0 vesa_get_info: ;vesa_get_info(word seg, word offset) push bp mov bp, sp pusha push es push ds mov ax, [bp + 4] mov es, ax mov di, [bp + 6] mov ax, 0x4F00 int 0x10 sub ax, 0x004F mov [vesa_return], ax pop ds pop es popa pop bp mov ax, [vesa_return] ret vesa_get_mode_info: ;vesa_get_info(word seg, word offset, word mode) push bp mov bp, sp pusha push es push ds mov ax, [bp + 4] mov es, ax mov di, [bp + 6] mov cx, [bp + 8] mov ax, 0x4F01 int 0x10 sub ax, 0x004F mov [vesa_return], ax pop ds pop es popa pop bp mov ax, [vesa_return] ret vesa_set_mode: ;vesa_set_mode(word mode) push bp mov bp, sp pusha push es push ds mov bx, [bp + 4] mov ax, 0x4F02 int 0x10 sub ax, 0x004F mov [vesa_return], ax pop ds pop es popa pop bp mov ax, [vesa_return] ret