summaryrefslogtreecommitdiffstats
path: root/sys/boot
diff options
context:
space:
mode:
authornyan <nyan@FreeBSD.org>1999-12-03 13:20:55 +0000
committernyan <nyan@FreeBSD.org>1999-12-03 13:20:55 +0000
commite5fba3d4781608f46c55fa4e7e98340473ff4ae7 (patch)
tree77c056afda46fb19c1ddd35e3bc5d0bb94af8d17 /sys/boot
parenta9faa48e79740db3fc41086994094fc7b5470be1 (diff)
downloadFreeBSD-src-e5fba3d4781608f46c55fa4e7e98340473ff4ae7.zip
FreeBSD-src-e5fba3d4781608f46c55fa4e7e98340473ff4ae7.tar.gz
Supported to sound beep.
Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
Diffstat (limited to 'sys/boot')
-rw-r--r--sys/boot/pc98/libpc98/vidconsole.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/sys/boot/pc98/libpc98/vidconsole.c b/sys/boot/pc98/libpc98/vidconsole.c
index 71b9d5c..d2b1987 100644
--- a/sys/boot/pc98/libpc98/vidconsole.c
+++ b/sys/boot/pc98/libpc98/vidconsole.c
@@ -144,6 +144,17 @@ vidc_init(int arg)
return(0); /* XXX reinit? */
}
+#ifdef PC98
+static void
+beep(void)
+{
+ outb(0x37, 6);
+ delay(40000);
+ outb(0x37, 7);
+}
+#endif
+
+#if 0
static void
vidc_biosputchar(int c)
{
@@ -196,6 +207,7 @@ vidc_biosputchar(int c)
v86int();
#endif
}
+#endif
static void
vidc_rawputchar(int c)
@@ -207,13 +219,17 @@ vidc_rawputchar(int c)
for (i = 0; i < 8; i++)
vidc_rawputchar(' ');
else {
-#ifndef TERM_EMU
+#if !defined(TERM_EMU) && !defined(PC98)
vidc_biosputchar(c);
#else
/* Emulate AH=0eh (teletype output) */
switch(c) {
case '\a':
+#ifdef PC98
+ beep();
+#else
vidc_biosputchar(c);
+#endif
return;
case '\r':
curx=0;
OpenPOWER on IntegriCloud