I guess my test is run differently. Test table being Whirlwind and this is what I'm seeing.
Load the table with any of the new dll 100% clean and it seems ok. Stop the game, press start and you will have distortion and "echo" of some of the sound, mainly side effect and not main tune.
Obviously, at some time I fiddled around with vpinmame.dll in april. Have a "backup" - named 20200426 (probably the date I made a copy to try a new one). Running the same test, play a couple of balls, exit and press play without 100% exit of VPX, not being able to reproduce the distortion and echo.
Rom used : whirl_l3
I've jumped a few times between the good and the newest and this seem to be reproducible.
I'll see if I can get some builds from Carny' thread to when this starts to happen. Very hard to say, but, might it be that the sound from the old is even slightly clearer ? Don't put to much into that though. Like yourself, I don't trust my hearing all the time. Tinnitus :\
From now on. I won't help anyone here at VPF. Please ask Noah why that is.
Load the table with any of the new dll 100% clean and it seems ok. Stop the game, press start and you will have distortion and "echo" of some of the sound, mainly side effect and not main tune.
Have a feeling that stems from the fact that during table exit, vpinmame is not actually exiting
only when you terminate VPX does it really exit
In the process, on these later beta builds, something must be...
Well, i am not sure, perhaps duplicating itself, or increasing itself?
When the table is relaunched
Like, and this is just an example to explain what i mean, if vpinmame was originally initialized during the 1st table launch with an amplification value
of X, and since it did not actually exit (DLL was still active) when exiting the table, instead of re-initializing from scratch, it did present amplification value + the value it would have initialized with.
Again, just trying to explain what i mean, not suggesting that it is literally that value or something, just that maybe, instead of resetting the entire process
it is adding to or adjusting over the top of what is already initialized.
Like thalamus, i am finding initial launch is good
but exit the table and relaunch it a number of times.
Granted, for a cabinet user in a cabinet environment, that would be a non issue as they always exit VPX fully between tables
but for a table author, they may launch and exit a table a dozen times.
And a desktop player may not even use a front end and just play everything from VPX, never exiting between plays.
One other thing i have noticed outside of VPinMAME 3.2, in the beta versions.
Pressing F3 to reload PinMAME, seems to be more apt to just leave you with a non functional existence of PinMAME
Possibly for same reason? Not actually fully exiting and reinitializing itself?
Example
Open firepower table, wait for ROM to finish booting
Now hit F3
Wait for ROM to finish rebooting
Now try to actually start the table.
ROM will not begin play, have to exit VPX and reopen
Maybe different symptoms of same root cause?
If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways
One other thing i have noticed outside of VPinMAME 3.2, in the beta versions.
Pressing F3 to reload PinMAME, seems to be more apt to just leave you with a non functional existence of PinMAME
Possibly for same reason? Not actually fully exiting and reinitializing itself?
F3 will 'just' reset the machine itself, so like what would happen if one does the same on a real machine. Some machines will not properly reset due to bugs in the emulation. :/
Ah, okay, misinterpreted that. Wiesshund, same for you??
Yes.
Same as thalamus, if clean exit of VPX, seems ok
If VPX has been ran once, on a PinMAME table
ANY PinMAME table
then subsequent launches result in bad audio, even if it is a different table it does seem.
I did about 20 relaunches of firepower, which i know is a silly amount generally, and it actually got worse at the end
audio began to clip out entirely on the peaks.
exit VPX cleanly and relaunch and all was right again.
Will try the 2nd pack of test builds in a bit
Again, this may very well go un-noticed by a typical cabinet user
it would be an author or desktop user that runs from vpx directly that would most likely notice it
(or someone going through the list of tables to test)
EDIT
Wanted to clarify what i meant by clip out entirely.
You know what audio does in mame on a CPU that is just too slow to keep the audio emulation running?
How the audio will become terribly choppy and cut out all together when it can not keep up?
Ok take that, and add a high level of distortion to it.
Edited by wiesshund, 14 December 2020 - 10:20 PM.
If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways
The Black Hole issue is a known one. Due to the change of Votrax emulation, all games that use this sound chip improved, BUT Black Hole, which now has exactly the issues you pointed out. :/
So this is independent of the issue we're investigating now. But thanks for helping!
Will wait for your tests, Thalamus and Wiesshund then. Thanks!!
Ups. Didn't see that you created new test builds - Ok, for me at least, it seems to start from 5214, 5213 is OK, at least for me.
use very high precision timer resolution (if possible 0.5ms)
also kick out stoneold timing methods (QueryPerformanceXXX is always supported nowadays)
and thus also disable the then useless rdtsc and high priority options
Seems to be my issue.
Edited by Thalamus, 15 December 2020 - 09:01 AM.
From now on. I won't help anyone here at VPF. Please ask Noah why that is.
The Black Hole issue is a known one. Due to the change of Votrax emulation, all games that use this sound chip improved, BUT Black Hole, which now has exactly the issues you pointed out. :/
So this is independent of the issue we're investigating now. But thanks for helping!
Will wait for your tests, Thalamus and Wiesshund then. Thanks!!
Black Hole is it's own blackhole LOL
It is perfect all the way through, on the 1st game, it is when it plays the game over sound, that it kills everything for subsequent games
on the votrax chip.
But it does that in vpm 3.2 even i am pretty sure, but will retest it.
As for current
VPinMAME5223.dll:
3rd restart of table, without exiting vpx
audio began to break up and distort
not all of the audio, "fire power" seemed normal
but the hit targets on right side, and the bonus count down when losing the ball were breaking up and clipping
4th restart
Not as bad, but still present and would have little bursts of worse audio breakup than the 3rd restart, but the majority was better
From there it was kind of random as to how bad it was going to be
VPinMAME5222.dll:
Pretty much the same symptoms, no noticeable difference
I used in ear headphones, good ones, so that i could hear the ROM audio very closely
and i am almost sure that i heard the tiniest hint of distortion, but with out the audio breaking up, on the 2nd restart
not enough for anyone to pay much attention to, but i am sure it was there.
VPinMAME5214.dll:
I kept the ball out long enough on the 2nd restart, to run the bonus lights up a few times, because i was sure i heard a bit of raspyness
when the table started on the 2nd relaunch
Then i let the ball hit the drain (Well i didn't let it, it just did)
And there was definite non normal distortion going on, just not to the point of the audio cutting out
By the 3rd restart and it did the same as the previous ones
The others were the same, sos did not seem to be a point in listing them all redundantly
Now if you kill VPX, which you have to do to swap pinmame dlls anyway, and get it's process unloaded
then all is fine, and you can sit and run that table as many games as you want.
It is only when exiting back to the editor, and then relaunching.
You can even close the table, reopen it, and the audio will still be messed up.
You can open a different table, and it will just inherit the issue already in progress.
This is what happens after you quit and relaunch the table about 20 or so times
by then Pinmame begins to have some issues beyond audio though, watch the lights.
And listen to the bonus level sound drop pitch for no reason.
Not that i have any clue, but i feel like Pinmame is not getting a clean chance at life when VPX is not fully exited
Like every time you quit and relaunch, instead of getting a nice clean reset and restart, it is just getting more info shoved at it
when it has kind of already established itself a certain way, and adding to or corrupting when it set up on the first launch.
If that makes any sense?
Edited by wiesshund, 15 December 2020 - 09:52 AM.
If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways