qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4] Implement the Screamer sound chip for the mac99 machine t


From: Howard Spoelstra
Subject: Re: [PATCH v4] Implement the Screamer sound chip for the mac99 machine type
Date: Fri, 21 Feb 2020 10:13:06 +0100

Hi,

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.

Best,
Howard

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 [0]

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]