From owner-freebsd-bugs Mon Mar 19 22:47:59 2001 Delivered-To: freebsd-bugs@freebsd.org Received: from home.turtle.pangeatech.com (turtle.pangeatech.com [65.192.22.128]) by hub.freebsd.org (Postfix) with ESMTP id 3FF1D37B736 for ; Mon, 19 Mar 2001 22:47:56 -0800 (PST) (envelope-from bt@turtle.pangeatech.com) Received: from turtle.pangeatech.com (localhost [127.0.0.1]) by home.turtle.pangeatech.com (8.9.3/8.9.3) with ESMTP id WAA56529 for ; Mon, 19 Mar 2001 22:47:53 -0800 (PST) (envelope-from bt@turtle.pangeatech.com) Message-ID: <3AB6FD19.66F795A0@turtle.pangeatech.com> Date: Mon, 19 Mar 2001 22:47:53 -0800 From: Igor Serikov Organization: Private Person X-Mailer: Mozilla 4.75 [en] (X11; U; FreeBSD 4.0-RELEASE i386) X-Accept-Language: ru, en MIME-Version: 1.0 To: freebsd-bugs@FreeBSD.ORG Subject: doscmd Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 7bit Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hello, I do not know were to put this... There is a problem with doscmd that comes with FreeBSD 4.0. It seems like nobody updates BIOS time (BIOSDATA[0x6c]). It is a BUG. This causes MultiEdit to hang under DOS 5.0. Adding the following code to timer.c corrects the problem: static void int08(regcontext_t *REGS) { /* similar to what is done in bios.c) */ struct timeval tv; time_t tv_sec; struct timezone tz; struct tm tm; gettimeofday(&tv, &tz); tv_sec = tv.tv_sec; tm = *localtime(&tv_sec); *(u_long *)&BIOSDATA[0x6c] = (((tm.tm_hour * 60 + tm.tm_min) * 60) + tm.tm_sec) * 182 / 10; /* end */ softint(0x1c); } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message