libretro / vice-libretro

Versatile Commodore 8-bit Emulator
GNU General Public License v2.0
40 stars 70 forks source link

Autoload Warp Drive/Tape Sounds #423

Closed zzedmore closed 2 years ago

zzedmore commented 2 years ago

When I have Autoload Warp ON running .TAPs it now seems to crash Retroarch. It used to work (I think), not sure what happened. Log attached.

retroarch.log

Also, when running the attached tape without Autoload Warp it says 'Remove all peripherals, and reload' ? It works on Windows Retroarch.

World Series Baseball (Ocean) [Freeload].zip

zzedmore commented 2 years ago

It doesn't seem to crash now when using the new 'Ignore audio' option but... The detect audio version doesn't seem to autowarp if the 'audio leak' and 'tape sound' is on. It must be detecting it?

Edit - More Info -

Tape sound ON, Audio leak ON = No autowarp Audio Leak ON = No autowarp Tape sound ON = Partly autowarps even if the 'AutoLoad Warp' is set to ON (rather than 'ignore audio')

Audio options OFF autowarps fine and stops warping when loading music plays.

sonninnos commented 2 years ago

Yes, they output to the same audio buffer, so they count as sound being produced.

"Ignore audio" is the previous behavior, so there should be no difference in regards of crashing, but then again I can't trigger any crash.

zzedmore commented 2 years ago

Yes, they output to the same audio buffer, so they count as sound being produced.

So we can only use the autoload warp (sound detected) if we turn off the audio leak and tape sound ? (And probably drive sound for disks?) OK, thanks.

Still not sure why that 'World baseball' asked me to turn off peripherals. It also happened with another game but cant recall the name, but works on Windows, weird.

sonninnos commented 2 years ago

Yep. Drive sound is already muted when autowarp is enabled, so might as well mute tape automatically too. But leak gets trickier..

zzedmore commented 2 years ago

I'm fine without the audio leak to be honest. You have to turn it up quite loud to even hear a difference anyway. Maybe just put a note on the Audio Leak option to say that it effects the AutoLoad Warp.

zzedmore commented 2 years ago

That 'Autoload Warp' crash also happened on Raspberry Pi. I booted my Pi up which had Vice x64 f290934 and it crashed when the autoload warp kicked in. Currently updating to latest build. EDIT - Latest build has no crash on Pi with AutoloadWarp.

That 'World Series Baseball' thing about the peripherals also happens on Rpi ! What's that all about ? What peripherals ? It works on Windows Retroarch but not on Pi or Android.

sonninnos commented 2 years ago

I have no idea what "peripherals" is referring to. Where/when is it seen and can you show a log from it happening?

zzedmore commented 2 years ago

It happens during the loading sequence, before the picture and music start -

World Series Baseball (Imagine)  Freeload -211126-152824

Not sure if a log will pick anything up, here's Android's - retroarch.log

sonninnos commented 2 years ago

Oh, well that sure is weird, since it is platform specific even though the settings are the same..?! Indeed no hints in the log.

You do have vice_sid_extra enabled for some unknown reason, but that does not cause it.

The only thing I can think of is the printer, which so far hasn't needed to have a core option, as in it is always enabled. But surely it should act the same always still..

sonninnos commented 2 years ago

I pushed some changes, so please test to see if something is still off. Nothing regarding peripherals though, but muting of sounds that scramble the audio detection.

zzedmore commented 2 years ago

Seems to work great now. I used to be able to hear the cassette sound while the loading music was playing ? It doesn't do that now when autowarp stops (and the loading music is playing). But that's OK, you can hear the music better.

I'll close this and maybe at a later date i'll open a separate issue about the peripherals thing. Cheers. :thumbsup:

zzedmore commented 2 years ago

Yeah, it seems like the Tape sounds and the Drive sounds never return after the AutoLoad Warp.

sonninnos commented 2 years ago

And they are not going to return if the default mode (not ignore audio) is used, which tries to detect SID audio for stopping warp.

How and why are you expecting them to "return"?

zzedmore commented 2 years ago

I see your point. :) I thought it might return if it continues loading while the music is playing (Tape loading music, streaming Demos).

sonninnos commented 2 years ago

For consistency I decided to mute them all when they are getting in the way. If tape sound is enabled, it would be counted as music, and there is no sound while warping (which is wanted when music is not playing while loading) anyway, so I have no idea what to do here..

zzedmore commented 2 years ago

OK, it's great as it is. I only mentioned it in case it was something you missed. No worries ! I'll close this 😄