Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Mattfrie1

Dissecting Sega Saturn Doom

Recommended Posts

On 12/4/2023 at 5:30 PM, Dimon12321 said:

Did anyone manage to extract the WAD file from Saturn's game image?

 

As far as i remember the data structure on the saturn version is different from the pc version. There is a wad for the ressources, and every map has its own wad file.

Share this post


Link to post
1 hour ago, cybdmn said:

 

As far as i remember the data structure on the saturn version is different from the pc version. There is a wad for the ressources, and every map has its own wad file.

This is how the PS1 version works too, so nothing unusual.

Share this post


Link to post

Submitted a fix patch for the Japanese version of Doom for the Segaxtreme Saturn annual game competition.

It includes a number of fixes for sound, a palette change for the nightmare spectres, and a small performance improvement.

The submission : https://segaxtreme.net/threads/sega-saturn-29th-anniversary-game-competition.25411/post-185179

The ressource that goes in greater details about the patch, with links to a memory map and to the patch changes https://segaxtreme.net/resources/doom-fix-patch.287/

Have to keep the myth alive that the Japanese release is the better Saturn version ;-) 

 

@ludicrous_peridot The sampling frequency of the sound effects is hardcoded with a MIDI note value of 0x17 in the program, which translate to 5203 Hz.

I am 100% sure that this value is one tone too low and that, to match the PSX version pitch, the sound effects are meant to be played back with a sampling frequency of 5512 Hz (corresponds to MIDI note 0x18), exactly half that of the PSX version samples. That's one of the fixes in the patch.

 

Share this post


Link to post

Is this track made exclusively for the beta version of Saturn port? I've never heard it anywhere else

Spoiler



 

 

Share this post


Link to post
1 hour ago, Dark Pulse said:

No, it was in the PS1 version as well.

 

 

I wish Aubrey Hodges had more chances to do CD-quality ambient tracks like this, this is great. Having to do sequenced tracks definitely imposed major limitations on him and unfortunately I don't like a lot of the PS1 Doom soundtrack as a result (Doom 64 is pretty good though - I guess the software synthesised audio gave him more opportunities than the fixed limits of the PS1's hardware-based audio)

Share this post


Link to post
20 hours ago, Individualised said:

I wish Aubrey Hodges had more chances to do CD-quality ambient tracks like this, this is great. Having to do sequenced tracks definitely imposed major limitations on him and unfortunately I don't like a lot of the PS1 Doom soundtrack as a result (Doom 64 is pretty good though - I guess the software synthesised audio gave him more opportunities than the fixed limits of the PS1's hardware-based audio)

 

 

I don't quite understand what you mean, PSX Doom uses CD quality ambient tracks. I might just be misreading your post.

Share this post


Link to post
38 minutes ago, aboyes1989 said:

 

 

I don't quite understand what you mean, PSX Doom uses CD quality ambient tracks. I might just be misreading your post.

It does not. You will not find the main music tracks in the CD audio data. They are tracker modules. The Sega Saturn version uses recordings of those tracks as CD audio tracks, that is why you may be confused.

Share this post


Link to post
3 hours ago, aboyes1989 said:

I don't quite understand what you mean, PSX Doom uses CD quality ambient tracks. I might just be misreading your post.

Some tracks are CD audio (title screen, menu, intermission, Club Doom once you enter the club, etc.) but most tracks in the game are very much sequenced music similar to MIDI or tracker modules.

Share this post


Link to post
9 hours ago, Individualised said:

It does not. You will not find the main music tracks in the CD audio data. They are tracker modules. The Sega Saturn version uses recordings of those tracks as CD audio tracks, that is why you may be confused.

 

Wow, honestly I had no idea, and I have been listening to these tracks for like 20 years. I figured that, as they weren't accessible through a CD player like the other tracks, that it was some proprietary file type that compressed the tracks, uncompressing them in game.

 

Off topic somewhat, but would this be the same as say GTA 2 on the PS1? That has tonnes of radio soundtrack that isn't accessible through a CD player, unlike GTA 1 which has a smaller soundtrack but can be listened to on a regular player. 

 

Thank you for the info. Much appreciated.

Share this post


Link to post
1 hour ago, aboyes1989 said:

 

Wow, honestly I had no idea, and I have been listening to these tracks for like 20 years. I figured that, as they weren't accessible through a CD player like the other tracks, that it was some proprietary file type that compressed the tracks, uncompressing them in game.

 

Off topic somewhat, but would this be the same as say GTA 2 on the PS1? That has tonnes of radio soundtrack that isn't accessible through a CD player, unlike GTA 1 which has a smaller soundtrack but can be listened to on a regular player. 

 

Thank you for the info. Much appreciated.

Tracker/sequenced music takes much less space than CD audio. It's why the Saturn version of Doom has less tracks - they had to fit them all onto the CD as Redbook audio tracks, and those take up much more space as instead of holding samples and then instructions to play those samples back, they store one long sample.

Share this post


Link to post
16 hours ago, aboyes1989 said:

Off topic somewhat, but would this be the same as say GTA 2 on the PS1? That has tonnes of radio soundtrack that isn't accessible through a CD player, unlike GTA 1 which has a smaller soundtrack but can be listened to on a regular player. 

 

Thank you for the info. Much appreciated.

GTA2 on PS1 is XA Audio, which is a very common type of streaming audio that tons of later games used. It's easily rippable via a tool like jPSXdec. (I even remember Lunar 2: Eternal Blue having a secret audio track that was by the game's final boss pointing out that you were ripping the XA Audio so you could hear the voice actor interviews before you finished the game - and he liked that you were cheating.)

 

So no, not the same. PSX Doom is very definitely sequenced music and is much more like Tracker Modules - it's got sound samples that are told to play at certain keys and pitches as a sequence of notes. It's more like how the SNES does music (the PS1's SPU is in fact an evolution of the SNES' SPC700).

Edited by Dark Pulse

Share this post


Link to post

XA is super interesting because even though "just put a bunch of files on a disc, lol" is obvious, there was no standard way of storing data on a disc in the beginning. The format had been designed for audio, not files. XA is a format developed by Philips for the CD-i to solve the problem of how do you play audio but also read data with a 1x CD drive? You can't just have separate files, the seeking between would be too slow to keep up! XA interleaves standard CD-audio and data allowing for low-overhead streaming of audio (can be done entirely within the CD-ROM drive!) whilst also getting data -- CPUs and disc-drives were simply not fast enough in the early 90s! Of course, CD-ROM eventually overtook as CD-drives and CPUs got faster and "just a bunch of files on a disc" proved more pragmatic to developers (and users!)

Share this post


Link to post

Thanks for the responses everyone. I'm familiar with sequencers, samplers and all that kinda stuff through producing my own music, so I was surprised to hear that's how Doom's soundtrack was created.

 

I knew this was the case with Aubrey's N64 tracks, simply due to the storage medium of the games, and the bottlenecks when dealing with the consoles RAM. However, it does make sense for Doom on PSX to use it, given the genre of music, and the lower workload to implement it.

Share this post


Link to post
22 minutes ago, aboyes1989 said:

Thanks for the responses everyone. I'm familiar with sequencers, samplers and all that kinda stuff through producing my own music, so I was surprised to hear that's how Doom's soundtrack was created.

 

I knew this was the case with Aubrey's N64 tracks, simply due to the storage medium of the games, and the bottlenecks when dealing with the consoles RAM. However, it does make sense for Doom on PSX to use it, given the genre of music, and the lower workload to implement it.

Not just that, but the limited RAM. The SPU had 512 KB of its own RAM, but all sound effects, sound samples, and so on had to fit in there.

 

So basically, you either made things that way, or you streamed audio. PS1 Doom is early enough that CD Audio was still widely used, but had it come out later, there's no doubt it would've been XA Audio. The game data itself only takes up about 100 MB or so if memory serves; the rest is the CD Audio.

Share this post


Link to post
On 1/22/2024 at 1:36 AM, fafling said:

Submitted a fix patch for the Japanese version of Doom for the Segaxtreme Saturn annual game competition.

It includes a number of fixes for sound, a palette change for the nightmare spectres, and a small performance improvement.

The submission : https://segaxtreme.net/threads/sega-saturn-29th-anniversary-game-competition.25411/post-185179

The ressource that goes in greater details about the patch, with links to a memory map and to the patch changes https://segaxtreme.net/resources/doom-fix-patch.287/

Have to keep the myth alive that the Japanese release is the better Saturn version ;-) 

 

@ludicrous_peridot The sampling frequency of the sound effects is hardcoded with a MIDI note value of 0x17 in the program, which translate to 5203 Hz.

I am 100% sure that this value is one tone too low and that, to match the PSX version pitch, the sound effects are meant to be played back with a sampling frequency of 5512 Hz (corresponds to MIDI note 0x18), exactly half that of the PSX version samples. That's one of the fixes in the patch.

 

This is quite a game changer! Who would've thought the original-quality sound effects can be brought back to the Saturn port? My only complaint is that a few sound effects have their pitch slightly far higher than the PSX/D64 equivalent ones, but otherwise largely unnoticeable to others. Also, the zombie enemies have two unused sounds, one each for the wake up state and dead state. You might want to bring those back, but most people I know are indifferent to them.

 

The slightly increased framerate is rather subtle, but at least it's not all slideshow fest now, and that matters too (especially since this is intended for the Japanese release, which used to have a persistent urban myth that has just now come true!). After 32X Resurrection and the (still upcoming) Slayer Edition for Atari Jaguar, I can safely say we're entering a Console (Classic) Doom renaissance right now!

Share this post


Link to post
4 hours ago, taufan99 said:

Who would've thought the original-quality sound effects can be brought back to the Saturn port?

 

The slightly increased framerate is rather subtle, but at least it's not all slideshow fest now, and that matters too

I might have misread the changelog, but the sound effects seem to be the same. They are still sorta compressed comparing to PSX version.

 

I didn't notice much of a difference during normal play. However, now it feels more rapid when you run into corners.

Share this post


Link to post
16 hours ago, taufan99 said:

This is quite a game changer! Who would've thought the original-quality sound effects can be brought back to the Saturn port? My only complaint is that a few sound effects have their pitch slightly far higher than the PSX/D64 equivalent ones, but otherwise largely unnoticeable to others. Also, the zombie enemies have two unused sounds, one each for the wake up state and dead state. You might want to bring those back, but most people I know are indifferent to them.

 

Do you have an example of a sound effect with with higher pitch than on PSX ? Those that I checked were correct.

You may be mistaking a pitch difference with the metallic tone of certain sound effects on Saturn that is due to the lower sampling rate / lower bit depth. That metallic tone can be more perceptible now that the sound effects are less muffled. I think the gain in clarity obtained by the pitch fix greatly offsets that downside.

 

The info on the unused sounds for the zombies is interesting, I didn't know that. I see a difference in A_Look and A_Scream functions between PSX and PC versions. When choosing pseudo-randomly between the 3 possible sounds :

  • PC does "P_Random() % 3", which gives 0, 1 or 2 that is added to the base sound number, allowing to alternate between the 3 sounds.
  • PSX does "P_Random() & 1", which gives 0 or 1 that is added to the base sound number, alternating only between the first 2 sounds.

I've found a match for that PSX code in the Saturn version, so it has the same problem. The fix isn't going to be easy as I'll have to make room to add a few instructions that would allow to alternate between the 3 sounds.

 

14 hours ago, Dimon12321 said:

I might have misread the changelog, but the sound effects seem to be the same. They are still sorta compressed comparing to PSX version.

 

I confirm that I haven't changed the sound effects data itself, and I don't intend to do that.

Share this post


Link to post
3 hours ago, fafling said:

Do you have an example of a sound effect with with higher pitch than on PSX ? Those that I checked were correct.

You may be mistaking a pitch difference with the metallic tone of certain sound effects on Saturn that is due to the lower sampling rate / lower bit depth. That metallic tone can be more perceptible now that the sound effects are less muffled. I think the gain in clarity obtained by the pitch fix greatly offsets that downside.

I stand corrected. Maybe I'm just far too used to the Saturn port's metallic tone that I've come to perceive them beyond consciousness 🤣

3 hours ago, fafling said:

The info on the unused sounds for the zombies is interesting, I didn't know that.

The voice effects in question for those curious:

Spoiler

 

 

3 hours ago, fafling said:
17 hours ago, Dimon12321 said:

I might have misread the changelog, but the sound effects seem to be the same. They are still sorta compressed comparing to PSX version.

I confirm that I haven't changed the sound effects data itself, and I don't intend to do that.

Different pitching really does magic, huh. Enabling random sound pitching on pre-v1.2 vanilla Doom kinda gives off this chaotic humorous feel, almost akin to those 21st century humor memes.

 

Also, while we're at it, would setting the height at which Doomguy's grunt sound plays if he falls down be possible? I've noticed that the Saturn port has him make that sound no matter the height at which he falls down, whereas on any other ports (even vanilla) he only does so if a certain height is met.

Edited by taufan99

Share this post


Link to post
On 2/7/2024 at 5:01 AM, taufan99 said:

Also, while we're at it, would setting the height at which Doomguy's grunt sound plays if he falls down be possible? I've noticed that the Saturn port has him make that sound no matter the height at which he falls down, whereas on any other ports (even vanilla) he only does so if a certain height is met.

 

Honestly I had gotten used to these grunts and I didn't noticed them anymore !

 

So it's possible to fix that, but it's more complicated than just setting a height, because it's at the same time a bug and a symptom that the gameplay has been optimized for low framerate.

Like in the PSX version (I've spotted the P_PlayerZMovement function on Saturn), the gravity depends of the framerate, because a constant amount is applied once per game frame contrary to the PC where it's applied once per tick.

It means that the lower the framerate, the lower the gravity, the further you can jump.

Since the framerate is much lower in the Saturn version than on PSX, the amount of gravity applied each frame after the 1st during a jump has been sharply increased to keep it about consistent with the PSX : it's GRAVITY*2 instead of GRAVITY/2 (4 times as much !).

What causes the player's grunt each time he even takes a small step down is that the threshold of accumulated gravity where this grunt is emitted has been left unchanged (GRAVITY*2), while gravity accumulated much faster. So a fall during just 2 frames is enough to trigger it.

The easy way out is to increase the threshold, but it's like continuing to optimize for low framerate which I'd rather not.

Instead, I'll try to make gravity accumulation independent of the framerate and roughly align it on the PC values, which should match the PSX behavior at 15 fps.

Hopefully this won't break the demo playback, since there's very little height change during them.

Share this post


Link to post
On 1/21/2024 at 8:36 PM, fafling said:

Submitted a fix patch for the Japanese version of Doom for the Segaxtreme Saturn annual game competition.

It includes a number of fixes for sound, a palette change for the nightmare spectres, and a small performance improvement.

The submission : https://segaxtreme.net/threads/sega-saturn-29th-anniversary-game-competition.25411/post-185179

The ressource that goes in greater details about the patch, with links to a memory map and to the patch changes https://segaxtreme.net/resources/doom-fix-patch.287/

Have to keep the myth alive that the Japanese release is the better Saturn version ;-) 

I was disappointed that no videos of this fix patch exist. Even Segaxtreme's 29th anniversary showreel showed like all submissions, except yours.
I decided to fix this, and blow the dust off my 4-year old Saturn walkthroughs.
 

Spoiler

 

 

Share this post


Link to post
4 hours ago, Dimon12321 said:

I was disappointed that no videos of this fix patch exist. Even Segaxtreme's 29th anniversary showreel showed like all submissions, except yours.
I decided to fix this, and blow the dust off my 4-year old Saturn walkthroughs.

Thanks a lot! I can use this vid for my upcoming Wadazine article now.

Share this post


Link to post
5 hours ago, Dimon12321 said:

I was disappointed that no videos of this fix patch exist. Even Segaxtreme's 29th anniversary showreel showed like all submissions, except yours.
I decided to fix this, and blow the dust off my 4-year old Saturn walkthroughs.

 

You did an impressive video !

There's no official competition showreel yet, but there's an unofficial one that showed the patch (though it had a contrast issue that makes the game overly dark) :

 

Share this post


Link to post
12 hours ago, taufan99 said:

Thanks a lot! I can use this vid for my upcoming Wadazine article now.

The only nuance is, I haven't shown the unused burning sky since Doom 2 maps don't use it.
You may find this password useful: Mt. Erebus, I'm a wimp - 5dgh3bgzwv.

Share this post


Link to post
19 minutes ago, Dimon12321 said:

The only nuance is, I haven't shown the unused burning sky since Doom 2 maps don't use it.
You may find this password useful: Mt. Erebus, I'm a wimp - 5dgh3bgzwv.

I've captured one such screenshot on my emulator for that, which features both that and the nightmare spectre's new palette on Pandemonium.

Edited by taufan99

Share this post


Link to post

I didn't intend to release any more Action Replay codes for fixes, but there's a bunch of Saturn games that output CD audio in mono instead of stereo like Doom does, and it's possible to use the same codes to fix almost all of them including Doom :

https://segaxtreme.net/threads/generic-action-replay-codes-to-force-stereo-and-volume-on-cdda-tracks.25543/

 

Of course, this isn't needed if you can use the fix patch.

Share this post


Link to post
On 1/21/2024 at 8:36 PM, fafling said:

Submitted a fix patch for the Japanese version of Doom for the Segaxtreme Saturn annual game competition.

It includes a number of fixes for sound, a palette change for the nightmare spectres, and a small performance improvement.

The submission : https://segaxtreme.net/threads/sega-saturn-29th-anniversary-game-competition.25411/post-185179

Hello, fafling! Are you working on the next version of the fix? Is there anything else to fix the way you did it?

Share this post


Link to post

Yes I am working on the next version. I'm currently trying to reduce the startup time.

Share this post


Link to post
On 5/13/2024 at 6:01 AM, fafling said:

Yes I am working on the next version. I'm currently trying to reduce the startup time.

Glad to hear that! Any other addition(s)/fix(es)?

Share this post


Link to post

Some stuff related to the startup optimization :

  • I intend to make the logos skippable which would gain a lot of time.
  • If they can be skipped, I'll add the unused ID Software high res logo (https://www.doomworld.com/forum/post/2190091).
  • I've also eliminated a function that unnecessarily ramped the CD audio volume down for several frames and paused the CD drive before certain loadings and menus (including levels and intermission screen).

I've also made the D-pad right button skip to the next step of the demo loop. That will allow me to check faster any change on the demos, which I record to measure performance gain.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×