View Single Post
Old 17 November 2012, 22:42   #13
Nut
Registered User
 
Join Date: Feb 2010
Location: Helsinki, Finland
Posts: 36
Quote:
Originally Posted by Toni Wilen View Post
If it works in cycle-exact mode (and possibly aproximate speed mode): everything fine.
It does not always work in any mode. Depends on execution of the tests (random behaviour), WinUAE mode, automatic switching etc. The problems are always the same. Crackle in the audio. Random "white noise" hissing. This can happen in any mode including cycle-exact. So it's not a mode-specific problem, but a fundamental emulation problem. This might even happen in dma-audio but since I don't use it, I don't know. Also I don't know the cause of the problem. I'm only guessing. Might be a sync problem, might be a DAT or PER latch problem, might be sound buffer boundary problem, might be resampling / rendering problem or something else. There's probably multiple issues.


Quote:
Working in any faster mode is only accidental and not a bug, and it never can work in JIT modes without sync issues.
I don't buy this. Why could it not work? It already does work in v240. I get perfect signal in copper audio tests and fastest mode and those can last forever = 30 minutes I've tested and the signal was still playing perfect. I've done a lot of testing. OK, if you changed how fastest mode works, then maybe it doesn't work anymore, but that's another thing. JIT modes work too just fine on v240. Well, not every single mode work perfect but many do depending what test you use.


Quote:
EDIT: I never recompile or change any tests programs. All test programs must be in confirmed working condition originally!
That's fine because the tests are working, emulation is not I just pointed out a funny detail that shouldn't matter at all, but it does matter for the emulator. On real Amigas writing PERs after DATs make no difference what so ever. PERs should be written before DATs (logically, in practise makes no difference) and that's exactly what the tests do.


Quote:
Copper audio technically should work in all CPU modes.
It doesn't. Let's clear the vocabulary : not working = crackle in the sound but you can hear the signal. Working = no crackle.


Here's a funny detail. 250beta25 ... test2 interrupt-audio interlace. Execute this test multiple times. You can hear a perfect signal for half a second. Then the crackle will appear in the sound. I recorded this to disk, and analyzed in Sound Forge. Perfect signal for half a second, then brokes. It's almost like two layers of sound. Perfect sinewave signal in the background, like it should be - and a second layer, a crackling / hissing sound. So the intact signal is there. In every mode you can hear intact sinewave test sound and correct pitch. It's just that the signal breaks and crackle appears.

I already like this 250beta25, as you always hear a signal in any mode and any test. It's just the crackling noise that appears. Interesting thing is that the crackling / hissing is different in every test and about every mode. So you have the signal, but for some reason also crackling. There's nothing in the code that would logically cause this. The code just waits and then pushes new audio words for all 4 channels at once to AUDxDATs. Then waits again until next time. So please, don't doubt that there is a problem in the emulation. I've listened the broken audio for years


Thanks for any fixes you might come up with. I'll be testing them.


Yes, period 60 limit would be a huge problem for non-dma too.
Nut is offline  
 
Page generated in 0.05570 seconds with 11 queries