Sound in PS2Doom closer than ever

Sound support for Lukasz’s Doom port is closer than ever!

I decided to drop the use of  SDL for audio. I took the sources of ps2doom and injected my own sound mixing engine, which is still being developed and improved.

Actually, I started from Lukasz sources and adapted Jason’s sound functions from his own port, which makes use of SDLmixer. However, for some unknown reason, this didn’t worked.

Jason’s functions seemed better than the other present at Lukasz sources so I started from this Lukasz/Jason combined work and replaced SDLmixer call to my own mixer functions.

Sound is currently shitty. It needs proper tunning of the cooperative multitask of the sound mixer thread.

Just for a tease, I leave you two alpha previews:

does minimal task switching, just to get some time slice for the sound mixing but not enough to avoid the run out of the sound buffers. So the laggy “echo” effect.

has perfect sound yet performance drags. It does excessive task switching for every ‘while’ loop over the source code. So basically shows that there are some critical loops over the game code shouldn’t be interrupted by the sound mixing routines. A wise selection must be made. The optimal is therefore between the two versions.

Volume and panning isn’t impremented yet, so the sound comes at full volume, even if the sound sources are far away.

How to try it?

Just copy it to a USB pen along with doom1.wad or doom.wad (not included) and run it with uLaunchELF. It only loads the first wad it finds, so put doom1.wad or doom.wad into the pen drive, not the both at once.

Currently, doom2.wad isn’t working.

Get it from the rapid share link before it expires 😉

Tags: , ,

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: