Xref: news-dnh.mv.net comp.os.msdos.djgpp:2885 Path: news-dnh.mv.net!mv!news.sprintlink.net!usenet.kornet.nm.kr!agate!howland.reston.ans.net!newsfeed.internetmci.com!news.fyionline.com!op.net!en.com!not-for-mail From: dpsm AT en DOT com (Dale P. Smith) Newsgroups: comp.os.msdos.djgpp Subject: Re: That rings a bell!! Date: 26 Oct 1995 18:58:50 -0400 Organization: Exchange Network Services, Inc. Lines: 27 References: Nntp-Posting-Host: en.com To: djgpp AT sun DOT soe DOT clarkson DOT edu Dj-Gateway: from newsgroup comp.os.msdos.djgpp In article , Eli Zaretskii wrote: > >On Thu, 26 Oct 1995, A.Appleyard wrote: > >> > ... Int21h/AH=2 works in [Gnu] Emacs also [as a way of making a beep], but >> > if I try Int 21h/AH=40h, either by calling write() or directly with int86() >> > or _go32_dpmi_sinulate_int(), I [get extra characters on the screen]. >> >> Because AH=40h int21h "to file/device with handle BX, write CX bytes from >> [DS:DX] etseq. AX:=nbytes actually written" likely writes via a DOS buffer. > >Indeed. However, that shouldn't be a Bad Thing, because the beep is >indeed produced. The problem is, it somehow disrupts the operation of >Int 16 BIOS functions, which screws up Emacs keyboard queue. Use: sound(freq); delay(n); nosound(); to get beeps without screwing up the queue. I have NEVER had the keyboard go goofy in emacs doing this. You can make the shorter too. Dale -- Dale P. Smith "They don't call me 'Dale Smith' for nothin you know!" dpsm AT en DOT com home -- Dale P. Smith dpsm AT lubrizol DOT com work http://www.en.com/users/dpsm/