49 lines
881 B
NASM
49 lines
881 B
NASM
|
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
|