Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audio pitch instability with PC Speaker Game on Apple Silicon #23

Open
schmingy opened this issue Feb 17, 2021 · 4 comments
Open

Audio pitch instability with PC Speaker Game on Apple Silicon #23

schmingy opened this issue Feb 17, 2021 · 4 comments

Comments

@schmingy
Copy link

Mac mini, 16 GB Ram, 1 TB SSD, Big Sur 11.1/2

After installing the Boxer binary build, we fired up some old games to give them a try. Games, such as Tank Wars, that ramp up and down the pitch on the PC Speaker during game play experience strange behavior of what I can only think to describe as wow and flutter like old cassettes.

Prior builds on an Intel machine did not have this behavior and performed the operation without problem. We've tried speeding up and slowing down the VM, optimizing for new games, and the like. It seems that the game actually slows down while trying to play the audio because the game play slows with the pitches warbling.

@kcgen
Copy link

kcgen commented Feb 17, 2021

@schmingy ,

If you set pcrate in your conf to match your [mixer] rate (typically 48000 or 44100):

[speaker]
pcrate = 44100

Does that help?

@schmingy
Copy link
Author

schmingy commented Feb 17, 2021

@kcgen , I tried both 48000 and 44100. I found no difference; however, I noticed that [mixer] wasn't defined in the Dosbox conf that boxer creates inside the package it makes for the dos games.

Maybe I'm still missing something.

@kcgen
Copy link

kcgen commented Feb 17, 2021

Thanks @schmingy,
It was just a hunch if you were hearing harmonics between the PC rate versus mixer rate (which can happen); but I guess isn't.

If your window reports cycles 100% or max this could be interplay between your machine's dynamic clock spooling up and down. You could try setting a fixed number of cycles:

cycles = 3000 (which should be fine for a ~1990 game and minimally tax your system)

@schmingy
Copy link
Author

Thanks @kcgen, I had been increasing the cycles from the starting point of 3000 to 6000 to see if any of that made a difference. The game is particular sensitive to CPU cycles as it gets too fast to play as the cycles get too high in that the controls become quite twitchy; however the audio and the tracking of the shots, for the particular game in example, all continues to do the same weird audio glitches. Is it possible something is strange with the way Apple Silicon runs the x86 core VM causing this behavior?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants