Jump to content
DEATH

Enabling music & sound FX mixing within Jaguar Doom source.

Recommended Posts

Found this on Atari Jaguar Fans, Facebook

 

 

"Some of you might find this interesting. I figured out how to mix music and sound in Jaguar Doom, the results however are quite terrible. The music sounds quite scratchy and choppy but everything else runs fine.

Here is a better example, apologies for the poor camera work. I was trying to film and play at the same time.

It really seems like the id Software team almost had it but ran out of time, IMO."

 

https://www.youtube.com/watch?v=7N_OaU3R014&feature=youtu.be&fbclid=IwAR3duTZZKxmHACDko3FEeqBObqFkrzqSSnAZBKrteHYSq1hHOW4qz6Nkquc

 

 

Share this post


Link to post
Share on other sites

Hey thanks for sharing!  This was me just messing around with the source.  I'll record a better video soon so you can hear the music a bit better. 

 

Anyone care to speculate as to what is happening to the music to make it sound the way it does?  It's interesting that it works at all!

Share this post


Link to post
Share on other sites

All samples, both music and effects are played directly from cart. Probably killing the bus accessing it all.

Any mileage in reducing the sample rate to reduce the load?

Share this post


Link to post
Share on other sites

Any mileage in reducing the sample rate to reduce the load?


I was wondering the same thing. I've tried changing a couple references I found for sample rate but couldn't hear any appreciable difference but I'll keep digging.


-Chad

Share this post


Link to post
Share on other sites

I was wondering the same thing. I've tried changing a couple references I found for sample rate but couldn't hear any appreciable difference but I'll keep digging.


-Chad

Have you tried disabling the sound FX to see if that helps the music? Just as a test

Share this post


Link to post
Share on other sites

I have and the music plays perfect with sound FX disabled.


-Chad

 

Wouldn't mind taking a look at this, any chance of posting a buildable source?

Share this post


Link to post
Share on other sites

Here you go!

 

https://drive.google.com/file/d/1frvZZWOzosGtsqNyU6tHwOzfKEKWxaUY/view?usp=sharing

 

I've packaged it up where you can mount this folder as the c: drive in Dosbox.  I threw all the source code under Jaguar\bin.  You can run make to build a new doom.abs but I've left mine in there for now.

 

Now for the fun part, you want to navigate to the 2nd level and press the number 3 on the controller to fire up music and sound.  You can actually hear the mixing in the intro and menus though.

 

I will stay up all night if needed to provide whatever support you need!

Share this post


Link to post
Share on other sites

Some additional notes:

 

The main change I made was in "s_sound.c"  where it literally has a section commented for /* run the mixing in parallel on the dsp */ .  Just compare the original to mine, not a big change really.

 

I setup the number 3 to run "S_StartSong(mus_e1m2, 1);" in "p_user.c"

 

If you try pressing 3 on the first level the game will freeze because it's already still playing the intro. But you can reset it by pressing the "* #" combo on the controller.

 

If you happen to be playing with a Pro Controller, use the shoulder buttons to strafe, 10x more fun that way :)

 

Again you don't even have to start the game to hear the music struggling in the intro.

Edited by BeefMan

Share this post


Link to post
Share on other sites

Tried recording another video.  On my phone it sounds fairly loud so youtube must be lowering the volume.  Right about the time I fire the shotgun the song loops back to the beginning where it's fairly quiet.

 

https://www.youtube.com/watch?v=8NALMEslWq0

Edited by BeefMan

Share this post


Link to post
Share on other sites

Could be completely wrong here (20 minutes of looking)

 

but, in dspbase.gas:

ALT_SAMPLE_P (r21) is used as the sample pointer for the audio to play

 

r21 is set in both music.gas and sfx.gas

 

You'd need to re-code one of them to use another pointer, then modify the replayer in dspbase.gas to read and mix them into the output stream.

 

Code is a bag of snakes having an orgy. Might be easier to rip it all out and replace with u235, hack it into the sample player, and use modules.

Share this post


Link to post
Share on other sites

Could be completely wrong here (20 minutes of looking)
 
but, in dspbase.gas:
ALT_SAMPLE_P (r21) is used as the sample pointer for the audio to play
 
r21 is set in both music.gas and sfx.gas
 
You'd need to re-code one of them to use another pointer, then modify the replayer in dspbase.gas to read and mix them into the output stream.
 
Code is a bag of snakes having an orgy. Might be easier to rip it all out and replace with u235, hack it into the sample player, and use modules.

Thank you for taking a peak! I’m really lost when it comes to assembly but I’ll start reading up.

Do you think the soundFx data is basically corrupting the music data because they are sharing the same pointer?

It really seems like it might be possible to make this work, or am I being optimistic?

If so maybe we should consider setting up a bounty for someone to claim if they were to get it working. Not that it would be me lol.

We need a coding hero!

cf550d576f2af4f10cee9246a16de88a.jpg


-Chad Edited by BeefMan

Share this post


Link to post
Share on other sites
This would be cool. As far as Doom on consoles go, the Jaguar one is always rated the best, but always lowered because of the lack of music.

Share this post


Link to post
Share on other sites

Wasn't a custom C compiler used to program Doom for the Jag...? Every one and their mother was looking for the compiler at one time before they gave up.

Share this post


Link to post
Share on other sites

Wasn't a custom C compiler used to program Doom for the Jag...? Every one and their mother was looking for the compiler at one time before they gave up.


No.

Share this post


Link to post
Share on other sites

No.

 

Quote from John Carmack:

 

 

I actually dug up all my old jaguar development hardware to give to these

guys a year or two ago.
 
Unfortunately, it turned out that I had lost the C compiler that I had retargeted
to the jaguar RISC engines, so DOOM was no longer buildable.

Share this post


Link to post
Share on other sites
I'm sure he meant that about the initial state the makefile was in when he first dug everything out. Then later tweaked it before releasing so it would build.

I'm sure these guys are just kidding with you Phillip.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...