From nobody Thu Nov 04 14:55:01 2021 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 61EB5183B3D1; Thu, 4 Nov 2021 14:55:04 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4HlRWW44yTz4Y7V; Thu, 4 Nov 2021 14:55:03 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 1A4Et1FE029820; Thu, 4 Nov 2021 07:55:01 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 1A4Et1pX029819; Thu, 4 Nov 2021 07:55:01 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202111041455.1A4Et1pX029819@gndrsh.dnsmgr.net> Subject: Re: git: ba48d52ca6c8 - main - vt: Fix frequency calcuation for bell In-Reply-To: <202111032204.1A3M4K5R066389@gitrepo.freebsd.org> To: Warner Losh Date: Thu, 4 Nov 2021 07:55:01 -0700 (PDT) CC: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 4HlRWW44yTz4Y7V X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N Thank you Warner for all the legwork on tracking this down and getting a proper bell tone working on FreeBSD-Current. I do not see any MFC plans for this, can you please consider merging this to all supported releases? Oh and RELNOTES: YES? Thanks, Rod > The branch main has been updated by imp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=ba48d52ca6c867559156dd916631f9ac47abe80f > > commit ba48d52ca6c867559156dd916631f9ac47abe80f > Author: Warner Losh > AuthorDate: 2021-11-03 21:55:55 +0000 > Commit: Warner Losh > CommitDate: 2021-11-03 22:03:51 +0000 > > vt: Fix frequency calcuation for bell > > 386BSD provided a MD function sysbeep. This took two arguments (pitch > and period). Pitch was jammed into the PIT's divisor directly (which > means the argument was expected to sound a tone at '1193182 / pitch' > Hz). FreeBSD inherited this interface. > > In commit e46598588587 (svn 177642, Mar 26 2008), phk changed this > function to take a tone to sound in hz. He converted all in-tree > instances of 1193182 / hz to just hz (and kept the few misguided folks > that passed hz directly unchanged -- this was part of what motivated the > change). He converted the places where we pre-computed the 8254 divisor > from being pitch to 1193182 / pitch (since that converts the divisor to > the frequency and the interfaces that were exposed to userland exposed > it in these units in places, continuing the tradition inherited from SCO > System V/386 Unix in spots). > > In 2009, Ed Shouten was contracted by the FreeBSD Foundation to write / > finish newcons. This work was done in perforce and was imported into > subversion in user/ed/newcons in revision 199072 > (https://svnweb.freebsd.org/base?view=revision&revision=199072) which > was later imported into FreeBSD by ray@ (Aleksandr Rybalko). > > From that earliest import into svn import to this date, we ring the bell > with: > sysbeep(1193182 / VT_BELLPITCH, VT_BELLDURATION); > where VT_BELLPITCH was defined to be 800. This results in a bell > frequency of 1491Hz, more or less today. This is similar to the > frequency that syscons and pcvt used (1493Hz and 1500Hz respectively). > This in turn was inherited from 386BSD, it seems, which used the hard > coded value 0x31b which is 795 -> 1500Hz. > > This '800' was intended to be the bell tone (eg 800Hz) and this > interface was one that wasn't converted. The most common terminal prior > to the rise of PCs was the VT100, which had an approximately 800Hz > bell. Ed Shouten has confirmed that the original intent was 800Hz and > changing this was overlooked after the change to -current was made. > This restors that original intent and makes the bell less obnoxious in > the process. > > Reviewed by: des, adrian > Differential Revision: https://reviews.freebsd.org/D32594 > Sponsored by: Netflix > --- > sys/dev/vt/vt_core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c > index 38efd1e5501c..06f5827078ca 100644 > --- a/sys/dev/vt/vt_core.c > +++ b/sys/dev/vt/vt_core.c > @@ -121,7 +121,7 @@ const struct terminal_class vt_termclass = { > > /* Bell pitch/duration. */ > #define VT_BELLDURATION (SBT_1S / 20) > -#define VT_BELLPITCH (1193182 / 800) /* Approx 1491Hz */ > +#define VT_BELLPITCH 800 > > #define VT_UNIT(vw) ((vw)->vw_device->vd_unit * VT_MAXWINDOWS + \ > (vw)->vw_number) > -- Rod Grimes rgrimes@freebsd.org