On Fri, Feb 21, 2020 at 12:30 PM Programmingkid <address@hidden
> On Feb 21, 2020, at 4:13 AM, Howard Spoelstra <address@hidden> wrote:
> It might be worth mentioning that any testing of your screamer implementation with MacOS/OSX guests on the mac99 machine needs a custom-built openbios.
> Where possible I'll compare your screamer with the current screamer implementation built from:
> git clone -b screamer https://github.com/mcayland/qemu
> All tests on OSX Sierra host with system sounds and MP3 playback through latest QuickTime and iTunes available for the guest. Host is Intel i7-4770K at 3.50Ghz. 32Gb memory. Audio device is an USB headset.
> Overall very subjective impression is that sound problems seem to arise quicker with strong changes in volume in the stream. Silence is produced perfectly...
> I should note that I also tested earlier with a windows build and that I had to re-install Mac OS on three occasions to get sound going with your screamer. Whether that was caused by a faulty installation or your screamer is unclear to me.
> There we go:
> Mac OS 9.0.4: mac99,via=cuda
> Apple audio extension often fails to load. (Not restricted to your screamer. This is a longstanding issue.) See at bottom for OSX crash report.
> Your screamer: shows only CD in Sound CP Input panel. Play sound through output device is selected.
> Current screamer: shows CD + External Mic. Play sound through output device is selected.
> Mac OS 9.1: mac99,via=cuda
> Your screamer: No Input selection in the Sound CP.
> Current screamer: Has External Mic (but no CD) in Sound CP. Play sound through output device is not selected.
> Mac OS 9.2: mac99,via=pmu
> Your screamer: mp3 through iTunes and QuickTime OK. System sounds OK.
> Current screamer: Has considerably more problems playing two streams simultaneously. (mp3 through both QuickTime and iTunes.)
> Mac OS X 10.0: mac99,via=cuda
> Your screamer: setting the sound balance from middle position to the left seems to control volume.
> Current screamer: Serious number of drop-outs when playing MP3 through QuickTime. Not when using iTunes. Has issues when moving the sound balance.
> Mac OS X 10.1: mac99,via=cuda
> Off-topic: Interestingly, when booting with via=pmu, the same error occurs as reported above.
> Your screamer: QuickTime: drop-outs. iTunes OK, even with playing system sounds through the stream. Balance has same problem as above.
> Current screamer: Serious drop-outs through both QuickTime and iTunes when playing MP3. Balance sync gets completely lost after moving slider. More lag in response to clicking system sounds.
> Mac OSX 10.2: no test due to longstanding video issue with opening folders.
> Mac OSX 10.3: mac99,via=pmu
> Your screamer: drop-outs with QuickTime and iTunes. But not the clicks heard as mentioned below. Opening the Sound preferences when playing MP3 is OK. System sounds playing through the stream produce crackling sound. systems sounds stop playing after several clicks on different ones. I hear parts of earlier clicked sound when new one clicked.
> Current screamer: intermittent clicks (0.5 seconds) when playing MP3 with QuickTime and iTunes. But QuickTime much better compared to 10.1. Currently playing mp3 gets completely distorted (doubled?) when opening Sound preferences.
> Mac OSX 10.4: mac99,via=pmu
> Off-topic: From 10.4 onward, Internet radio works in iTunes. Channel update is very slow in 10.4...
> Your screamer: drop-outs with QuickTime. Sounds comparable to current screamer. Opening Sound preferences is OK, but can make stream spiral out of control with an echo. Seems to happen quicker when playing sound with strong stereo effects. But always quickly recovers, unlike current screamer. iTunes also produces drop-outs. Also with internet stream, but is almost listenable.
> Current screamer: drop-outs with QuickTime. Sounds like stream is not always in correct order. Sound crackles. iTunes almost OK. I can hear one or two clicks after stopping audio. Opening Sound preferences makes stream spiral out of control with an echo.
> Mac OSX 10.5: mac99,via=pmu
> Your screamer: Drop-outs with QuickTime. A bit less-so with iTunes. Opening Sound preferences provides same experience as with 10.4. Internet stream almost listenable.
> Current screamer: QuickTime produces drop-outs. Sound control panel spirals out of control. Small audio parts still played when stopping QuickTime. iTunes almost OK with MP3 playback, only small drop-outs. Same with Internet radio.
> For good measure I also tested 10.5 with your screamer and the recent hardfloat patches which improve fpu performance from 9% to 11% of a real G4 1Ghz ;-)
> I did not experience a considerable improvement in sound quality.
> OSX host Crash report when audio extension fails:
> Crashed Thread: 2
> Exception Type: EXC_BAD_ACCESS (SIGSEGV)
> Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000008
> Exception Note: EXC_CORPSE_NOTIFY
> Termination Signal: Segmentation fault: 11
> Termination Reason: Namespace SIGNAL, Code 0xb
> Terminating Process: exc handler 
> VM Regions Near 0x8:
> __TEXT 00000001087b0000-0000000108f7f000 [ 7996K] r-x/rwx SM=COW /Users/USER/*
> Thread 2 Crashed:
> 0 qemu-system-ppc-screamer 0x0000000108c5b9ed timer_del + 13
> 1 qemu-system-ppc-screamer 0x000000010898bc1f audio_reset_timer + 319
> 2 qemu-system-ppc-screamer 0x00000001089807b6 vm_state_notify + 262
> 3 qemu-system-ppc-screamer 0x0000000108800b5f do_vm_stop + 47
> 4 qemu-system-ppc-screamer 0x0000000108985277 qemu_main + 16775
> 5 qemu-system-ppc-screamer 0x0000000108b46e86 call_qemu_main + 38
> 6 qemu-system-ppc-screamer 0x0000000108c6071e qemu_thread_start + 126
> 7 libsystem_pthread.dylib 0x00007fffb627093b _pthread_body + 180
> 8 libsystem_pthread.dylib 0x00007fffb6270887 _pthread_start + 286
> 9 libsystem_pthread.dylib 0x00007fffb627008d thread_start + 13
Thank you for such a detailed testing of my screamer patch. Your tests show it is an improvement over the older screamer implementation :)
I'm hoping the maintainer will review my patch soon. I haven't heard a thing from him since late December. I thinking either he does not have the time to review my patch or he does not want to see his patch be replaced with mine.
For the binaries of QEMU you provide on emaculation.net, would you say it is time to replace the old screamer builds with this patch?
As you see from testing, there are reasons why the patches from Mark's screamer branch are not in master yet, and these have not all been addressed. There still needs to be testing on Linux and certainly on Windows builds, and from what I mentioned above that might not be plain sailing.
I guess I'll wait with providing new builds when the patches for both openbios and qemu are reviewed and in some repo from which I can build easily.