summaryrefslogtreecommitdiffstats
path: root/contrib/syslinux-4.02/core/plaincon.inc
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/syslinux-4.02/core/plaincon.inc')
-rw-r--r--contrib/syslinux-4.02/core/plaincon.inc24
1 files changed, 24 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/core/plaincon.inc b/contrib/syslinux-4.02/core/plaincon.inc
new file mode 100644
index 0000000..c41629d
--- /dev/null
+++ b/contrib/syslinux-4.02/core/plaincon.inc
@@ -0,0 +1,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