From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1BZwgQ-0001h8-Ta for qemu-devel@nongnu.org; Mon, 14 Jun 2004 14:59:50 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1BZwgP-0001ga-1c for qemu-devel@nongnu.org; Mon, 14 Jun 2004 14:59:50 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1BZwgO-0001gX-Uc for qemu-devel@nongnu.org; Mon, 14 Jun 2004 14:59:48 -0400 Received: from [193.252.22.30] (helo=mwinf0104.wanadoo.fr) by monty-python.gnu.org with esmtp (Exim 4.34) id 1BZwfO-0006fu-PJ for qemu-devel@nongnu.org; Mon, 14 Jun 2004 14:58:47 -0400 Received: from bellard.org (ATuileries-112-1-1-74.w80-11.abo.wanadoo.fr [80.11.167.74]) by mwinf0104.wanadoo.fr (SMTP Server) with ESMTP id 1B0571BCA10A for ; Mon, 14 Jun 2004 20:58:45 +0200 (CEST) Message-ID: <40CDF5FC.40707@bellard.org> Date: Mon, 14 Jun 2004 21:01:16 +0200 From: Fabrice Bellard MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: OSS audio debugging References: <000d01c451e5$36a1a3a0$0401a8c0@putte2k> In-Reply-To: <000d01c451e5$36a1a3a0$0401a8c0@putte2k> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Mike Nordell wrote: > DOOM Shareware - this one needs no introduction. > Crashes, hangs and plays really "choppy" sound. > The crashes and hangs (depending on moon-phase) seems to be due to > incomplete detection of self-modifying code. When it does run for more than > 1 second, the choppy sound I suspect might be, as for many cases here, due > to timing or incorrect SB16, PIC or DMA emulation. That it also run as in > molasses (the seconds I got it to run) further strengthen my suspicions of > timing or PIC - even that it could be a large amount of self-modifying code > invalidating the TB all the time too. I haven't dug deeper into it. It should work now. The problem was linked to self modifying code and cpu interrupts. DOOM is a rather pathological case for self-modifying code and it slows QEMU a lot (although DOOM remains fully playable on my PC). Since only some instruction constants are modified in the code, I could optimize this case specifically in the dynamic compiler. Fabrice.