Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Dec 1998 17:00:56 -0500
From:      W Gerald Hicks <wghicks@bellsouth.net>
To:        FreeBSD-current@FreeBSD.ORG
Cc:        jkh@zippy.cdrom.com
Subject:   Re: How do I build an a.out kld?
Message-ID:  <36895118.E8C57354@bellsouth.net>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
[snips]
> /boot/boot.conf is supposed to contain any boot commands you'd like to
> have run (boot.conf is actually a bad name, now that I think about it,
> since it implies configuration variables rather than actions - boot.rc
> would have been better, oh well!).  After the forth system initializes,
> it also looks for a /boot/boot.4th which contains straight forth code
> to run.  Andrzej Bialecki has done some really neat stuff where this
> is concerned, giving the forth environment a screen emulator and
> standard ANSI graphics capability.  He shows it off in the example
> code, which you can enable by simply doing a:
> 
>       cp /usr/share/examples/bootforth/*.4th /boot
> 

We've been having loads of fun with BootForth too.  Thanks Andrzej!

I tried generating console beeps (7 emit) and noticed them going to the
screen.  Patch attached  :)

Cheers,

Jerry Hicks
wghicks@bellsouth.net
[-- Attachment #2 --]
Index: src/sys/boot/i386/libi386/vidconsole.c
===================================================================
RCS file: /home/ncvs/src/sys/boot/i386/libi386/vidconsole.c,v
retrieving revision 1.9
diff -u -r1.9 vidconsole.c
--- vidconsole.c	1998/12/22 11:51:25	1.9
+++ vidconsole.c	1998/12/29 21:37:31
@@ -119,7 +119,19 @@
     return(0);	/* XXX reinit? */
 }
 
+#ifdef TERM_EMU
 static void
+vidc_biosrawputchar(int c)
+{
+    v86.ctl = 0;
+    v86.addr = 0x10;
+    v86.eax = 0xe00 | c;
+    v86.ebx = 0x7;
+    v86int();
+}
+#endif
+
+static void
 vidc_rawputchar(int c)
 {
     int		i;
@@ -138,6 +150,9 @@
 #else
 	/* Emulate AH=0eh (teletype output) */
 	switch(c) {
+	case '\a':
+		vidc_biosrawputchar(c);
+		return;
 	case '\r':
 		curx=0;
 		curs_move(curx,cury);

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?36895118.E8C57354>