summaryrefslogtreecommitdiff
path: root/core/plaincon.inc
blob: c41629d0df06258b1a5d23c343aab63b9078fd2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
;
; writechr:	Write a single character in AL to the console without
;		mangling any registers; handle video pages correctly.
;
		section .text16

writechr:
		call write_serial	; write to serial port if needed
		pushfd
		test byte [cs:UsingVGA], 08h
		jz .videook
		call vgaclearmode
.videook:
		test byte [cs:DisplayCon], 01h
		jz .nothing
		pushad
		mov ah,0Eh
		mov bl,07h		; attribute
		mov bh,[cs:BIOS_page]	; current page
		int 10h
		popad
.nothing:
		popfd
		ret