PUBLIC _enableUnchainedVGAMode PUBLIC _enableTextMode DISPLAY_MODE_VGA equ 13h DISPLAY_MODE_TEXT equ 03h VGA_SEQUENCE_CONTROLLER_INDEX equ 0x3c4 VGA_SEQUENCE_CONTROLLER_DATA equ 0x3c5h VGA_SEQUENCE_CONTROLLER_MEMORY_MODE equ 0x04 VGA_CRT_CONTROLLER_INDEX equ 0x03d4 VGA_CRT_CONTROLLER_DATA equ 0x03d5 VGA_CRT_CONTROLLER_UNDERLINE_LOC equ 0x14 VGA_CRT_CONTROLLER_MODE_CONTROL equ 0x17 .386 .model flat,c .CODE _enableUnchainedVGAMode: mov ax,0x0013; int 0x10 mov dx, VGA_SEQUENCE_CONTROLLER_INDEX mov al, VGA_SEQUENCE_CONTROLLER_MEMORY_MODE mov ah, 0x06 out dx, ax mov dx, VGA_CRT_CONTROLLER_INDEX mov al, VGA_CRT_CONTROLLER_MODE_CONTROL mov ah, 0xe3 out dx, ax mov dx, VGA_CRT_CONTROLLER_INDEX mov al, VGA_CRT_CONTROLLER_UNDERLINE_LOC mov ah, 0x00 out dx, ax ret _enableTextMode: mov ah,0h mov al,DISPLAY_MODE_TEXT int 10h ret end