summaryrefslogtreecommitdiffstats
path: root/sys/boot/pc98/kgzldr
diff options
context:
space:
mode:
authornyan <nyan@FreeBSD.org>2009-12-21 14:59:23 +0000
committernyan <nyan@FreeBSD.org>2009-12-21 14:59:23 +0000
commit238c8f3f56f49562c89db28c96274a8e2ae8d8b4 (patch)
tree94c2d82826c356bd33eeaac377229b34563066f7 /sys/boot/pc98/kgzldr
parente81b89619bf77cd5706b78e01c14338c1fd77aec (diff)
downloadFreeBSD-src-238c8f3f56f49562c89db28c96274a8e2ae8d8b4.zip
FreeBSD-src-238c8f3f56f49562c89db28c96274a8e2ae8d8b4.tar.gz
Move cursor position after putting a character.
MFC after: 1 week
Diffstat (limited to 'sys/boot/pc98/kgzldr')
-rw-r--r--sys/boot/pc98/kgzldr/crt.s10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/boot/pc98/kgzldr/crt.s b/sys/boot/pc98/kgzldr/crt.s
index e028bc8..35c1fc2 100644
--- a/sys/boot/pc98/kgzldr/crt.s
+++ b/sys/boot/pc98/kgzldr/crt.s
@@ -75,5 +75,15 @@ crt_putchr.3: cmpw $SCR_ROW*SCR_COL*2,%dx
stosw # line
movw $(SCR_ROW-1)*SCR_COL*2,%dx
crt_putchr.4: movw %dx,(%ebx) # Update position
+ shrw $1,%dx
+crt_putchr.5: inb $0x60,%al # Move cursor
+ testb $0x04,%al
+ jz crt_putchr.5
+ movb $0x49,%al
+ outb %al,$0x62
+ movb %dl,%al
+ outb %al,$0x60
+ movb %dh,%al
+ outb %al,$0x60
popa # Restore
ret # To caller
OpenPOWER on IntegriCloud