VOGONS


First post, by PCGamingTimeMachine

User metadata
Rank Newbie
Rank
Newbie

Hi everyone, I've been working on adding CD audio support to the excellent VSBHDA, SHSUCDX and SHSUCDHD programs for a couple of months. Before I go ahead, I'd like to give a disclaimer + assurance:

AI help was used for bootstrap code for some functionalities, debugging and code cleanup/formatting. However I did manually verify everything and manually built on top of initial bootstrap code blocks if AI was used. I think it's fair since a large chunk of the effort was manual and I tried my best to review everything. Plus without AI help with debugging this project would've taken much longer.

I also acknowledge I'm nowhere nearly as good or experienced of a DOS programmer as the original authors of VSBHDA (and every other software it's based on) and authors of SHSUCD. So I'd be very grateful for any feedback, suggestions or comments from the more experienced DOS/system programmers. The code is very likely far from perfect.

With that said, I'm at the stage where the modified programs work and I'm comfortable releasing this as a pre-alpha.

Links:
- https://github.com/PCGamingTimeMachine/VSBHDA … s/tag/Pre-alpha
- https://github.com/PCGamingTimeMachine/shsucd … s/tag/Pre-alpha

Modified SHSUCDX + VSBHDA allow you to run games with Red Book / mixed-mode CDs, and get fully working in-game and CD audio. Please go through README.txt in the modded shsucd and VSBHDARB.txt in the modded VSBHDA packages, respectively.

Quick usage guide if you have a physical CD drive:
1. Load the CD driver in config.sys. What works well for me: DEVICEHIGH=UIDE.SYS /D:MSCD001 /N1 /UX
2. Run modified SHSUCDX via: SHSUCDX /D:MSCD001 /A:1
3. Run vsbhdarb.exe via: VSBHDARB /CDA

You can also get such games working without a CD drive if you additionally use the modded SHSUCDHD program. Basically in that case you'll have to convert a .bin/.cue image set for a Red Book game to a CD metadata (.CDM) + consolidated BIN format (I've included instructions for that in the modded SHSUCD release's README.txt). Then you will need to run:
1. SHSUCDHD /F:<path to CDM file>
2. SHSUCDX /D:SHSU-CDH /A:1
3. VSBHDARB /CDA

I'll edit this post with more details and instructions later on, but I hope this is sufficient info for you to get started. Please back up your DOS partition before trying it in a bare-metal DOS machine - I've not faced any issues so far on my own PC or 86Box VMs, but it's not possible for me to test it on all possible hardware configurations. So just to be safe, please back up.

Please let me know if you have any questions and I'll try my best to answer.

Demo for physical CD + modded SHSUCDX + modded VSBHDA: https://youtu.be/QUDK3KzQmc8

Limitations (as far as I'm aware of)
- The CPU does quite a bit of heavy-lifting in not just running the game and emulating digital audio, but also doing raw reads from the game CD and mixing that into the regular audio stream, so this probably won't work well on older computers with period-accurate processors
- Raw read speed also depends on the CD drive's speed, so performance may vary from one CD drive to another. e.g. in my case a SATA CD/DVD drive performed better than an IDE CD drive
- Modified SHSUCDX works with UIDE, UIDEJR and GCDROM drivers, but may not necessarily give CD audio functionality (even if invoked via appropriate flag during SHSUCDX initialization) with some other CD drivers. I'm not sure why that is but I'll try to figure it out eventually

Reply 1 of 19, by PCGamingTimeMachine

User metadata
Rank Newbie
Rank
Newbie

I'm unable to edit my original post, so I'll put any additions here:

Acknowledgements
Thanks to Japheth for VSBHDA and authors of all programs that VSBHDA is based on or uses - SBEMU (crazii), VSBHDASF (Cacodemon345), DosBox, MpxPlay, TinySoundFont, etc. Thanks also to Jason Hood and John McCoy for their amazing work on the shsucd suite.

Also thanks a lot to @wierd_w for his insights on how digital CD audio could be achieved. His ideas formed the skeleton of this project.

Reply 2 of 19, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

As I said then, Ideas are free, implementations are not.

This is an implementation, and I am *VERY* happy to see it. 😁

I do question why you are gobbling this much XMS though. The idea with using a much smaller dual buffer would let you get away with maybe 1 or 2mb of XMS used. Just enough for a few seconds of redbook audio each, with them cycling regularly.

Was this a performance ceiling issue?

Reply 3 of 19, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

I have played with this today.

It seems that shsucdhd is not freeing XMS memory when it unloads.

Some ugliness with quake not being able to run a second time after exiting, with cdda support enabled, without fully unloading then reloading the audio stack.

But, it works quite well on my asus otherwise!

Reply 4 of 19, by jh80

User metadata
Rank Newbie
Rank
Newbie

Very interesting. I wonder how much CPU overhead there is. Could a Pentium MMX 200 handle it for games that typically ran fine on something like a 486-66, or are we talking much more CPU required?

Reply 5 of 19, by NeoG_

User metadata
Rank Oldbie
Rank
Oldbie
jh80 wrote on 2026-04-27, 01:49:

Very interesting. I wonder how much CPU overhead there is. Could a Pentium MMX 200 handle it for games that typically ran fine on something like a 486-66, or are we talking much more CPU required?

There’s basically no performance metrics at the moment, some members of the community will need to test it on various systems

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 6 of 19, by PCGamingTimeMachine

User metadata
Rank Newbie
Rank
Newbie
wierd_w wrote on 2026-04-26, 22:31:
I have played with this today. […]
Show full quote

I have played with this today.

It seems that shsucdhd is not freeing XMS memory when it unloads.

Some ugliness with quake not being able to run a second time after exiting, with cdda support enabled, without fully unloading then reloading the audio stack.

But, it works quite well on my asus otherwise!

Thank you for testing! And yeah there are rough edges - I'll only remove that "pre-alpha" tag after a bit more polishing. You're right - before relaunching the game (or launching a new game), it's generally better to unload VSBHDARB, then shsucdx, then shsucdhd, and then re-load shsucdhd, then shsucdx, then VSBHDARB. It's a pain but users need to bear with this for a while.

Glad to hear it's working well apart from the above though!

Reply 7 of 19, by PCGamingTimeMachine

User metadata
Rank Newbie
Rank
Newbie
jh80 wrote on 2026-04-27, 01:49:

Very interesting. I wonder how much CPU overhead there is. Could a Pentium MMX 200 handle it for games that typically ran fine on something like a 486-66, or are we talking much more CPU required?

Currently I estimate it will not run smoothly on older systems at all (i.e. the sound/music will play in a slow motion way) because the CPU is doing a bunch of heavy lifting - emulating in-game digital audio (VSBHDA's vanilla functionality), running the game, making data reads from image/CD drive, making raw reads from XMS, and mixing the audio streams.

My rationale was: generally the older vintage systems could anyways support full game audio since they could use sound cards with native DOS support - either ISA sound cards or PCI cards connected to PC-PCI header on motherboard. My idea was to make this primarily targetted to more modern systems since PCI cards generally don't have native DOS drivers, so even with an analog connection between CD drive and sound card, it's still not possible to get CD audio on the modern systems. And even more modern systems may not even have PCI slots, but if they have onboard audio with VSBHDA support, then this set of modified programs would be useful to get that full DOS audio.

It's not to say that I don't want this to be usable in older systems at all, but it will still require optimization or code refactoring, which I want to keep as a secondary objective. My primary objective with this is to get it in a good enough shape for bare metal "modern" or semi-modern systems, so that I can remove the pre-alpha status of this. And then I'll shift focus to getting this working (or maybe a separate version) on older systems (e.g, testing with 86Box). Hope that makes sense.

Reply 8 of 19, by AaronS

User metadata
Rank Member
Rank
Member

Amazing work! Was easier to setup than I expected, made a quick DOS 6.22 USB with 2 batch files. Never used mounting software under DOS but yeah, got it all working with Tomb Raider within minutes.

https://youtu.be/meIQmcPcfHY

I then tried Star Wars Dark Forces because I wanted to play this for May 4th (I know its not using red book), it sort of works but the installer / setup will lockup if I run VSBHDARB first, I have to install it and configure soundblaster etc. first, then run VSBHDARB and then DARK.EXE. This might just be a SHSU general thing though.

Thank you very much, I only last night was wondering about mounting CDs under DOS because I don't have a CD drive in this PC and this thread popped up.

Reply 9 of 19, by PCGamingTimeMachine

User metadata
Rank Newbie
Rank
Newbie
AaronS wrote on 2026-05-02, 19:07:
Amazing work! Was easier to setup than I expected, made a quick DOS 6.22 USB with 2 batch files. Never used mounting software un […]
Show full quote

Amazing work! Was easier to setup than I expected, made a quick DOS 6.22 USB with 2 batch files. Never used mounting software under DOS but yeah, got it all working with Tomb Raider within minutes.

https://youtu.be/meIQmcPcfHY

I then tried Star Wars Dark Forces because I wanted to play this for May 4th (I know its not using red book), it sort of works but the installer / setup will lockup if I run VSBHDARB first, I have to install it and configure soundblaster etc. first, then run VSBHDARB and then DARK.EXE. This might just be a SHSU general thing though.

Thank you very much, I only last night was wondering about mounting CDs under DOS because I don't have a CD drive in this PC and this thread popped up.

Thanks a lot for trying it out and glad that Tomb Raider works for you! About Dark Forces - yeah games can be a bit finicky about setting up sound correctly (especially with sound blaster emulators like SBEMU/VSBHDA). For example, on my PC if I run Tomb Raider (in which I already configured a sound card), and then I try to run it without running VSBHDA first, it will lock up. So generally the sound config (or lack of any sound) should match what a game expects based on its audio config.

I'm in the process of testing the image-based CD audio a bit more and will release the next version soon with a few bug fixes.

Reply 10 of 19, by veelstekel

User metadata
Rank Newbie
Rank
Newbie

The ultimate test would be to use the CD Version of Loom. It contained all the (speech) samples on a special CD Audio Track so you didn't require an audio card to play it with speech 😉.
I can still hear the "PLEASE CHOOSE YOUR SKILL LEVEL", in my dreams 😉

Or "Look out! The guild is under" (<Loading> <Loading> of CD Drive on an original system) "Attack!"

Reply 11 of 19, by AaronS

User metadata
Rank Member
Rank
Member

For Dark Forces its recommended to use the "DeHacker" patch: https://github.com/drivelling-spinel/VSBCMI/b … /games-howto.md

This fixes a problem with iMuse.exe which has trouble setting General Midi under VSBHDA, also conveniently removes the CD check. But I was still able to install the game using SHSU so it still helped.

Sounds good, I'll definitely test more games and report any issues but so far its working great.

veelstekel wrote on 2026-05-04, 15:01:

The ultimate test would be to use the CD Version of Loom. It contained all the (speech) samples on a special CD Audio Track so you didn't require an audio card to play it with speech 😉.

Interesting they didn't do this for the Monkey Island CD release although there's the "Ultimate Talkie" project thanks to the Special Editions finally having voice acting, and that works the same way I guess, just not needing a CD obviously. I can try Loom though, see if it works.

Reply 12 of 19, by PCGamingTimeMachine

User metadata
Rank Newbie
Rank
Newbie
veelstekel wrote on 2026-05-04, 15:01:

The ultimate test would be to use the CD Version of Loom. It contained all the (speech) samples on a special CD Audio Track so you didn't require an audio card to play it with speech 😉.
I can still hear the "PLEASE CHOOSE YOUR SKILL LEVEL", in my dreams 😉

Or "Look out! The guild is under" (<Loading> <Loading> of CD Drive on an original system) "Attack!"

I tried it and Loom works for me. The version I tried was the one with voice acting. I believe there's also the FM Towns version, which I'll test out and let you know

Reply 13 of 19, by AaronS

User metadata
Rank Member
Rank
Member

Had some spare time to test a bunch of games. All of the following were tested with mounting the images in SHSU.

Alien Trilogy - Unknown (Crashes after initial FMVs have played)
Big Red Racing - Works
Blood - Doesn't Work (crashes when starting new game, works when launched without the disc mounted and using SB or GM for Music) Not sure if this helps identify what's wrong
Carmageddon - Works
Descent - Works (not red book)
Descent II - Works
Destruction Derby - Works
Destruction Derby 2 - Unknown (Crashes on "exiting program...." after initial FMV has played)
Duke Nukem 3D: Atomic Edition - Works
GTA - Works
Loom - Works
NitroRacers - Works
Screamer - Works
Screamer Rally - Works
SuperKarts - Works
Tomb Raider - Works
Toonstruck - Works (not red book)
Wipeout (non ATI Rage version) - Works
Worms - Unknown (Crashes after initial FMVs have played)

Alien Trilogy and NitroRacers I had to install in DosBox and move the folders over, Alien Trilogy complained about not enough ram (needing 8MB), I saw there was a patch released that apparently addresses the issue but I couldn't get it to work.

The games I can't test likely do work but need some compatibility flag in VSBHDA, or need an older video card to display whatever VESA mode they're trying to use (I'm using a GTX 980 HDMI out). Otherwise it works very well.

Last edited by AaronS on 2026-05-12, 01:36. Edited 1 time in total.

Reply 14 of 19, by PCGamingTimeMachine

User metadata
Rank Newbie
Rank
Newbie
AaronS wrote on 2026-05-08, 18:35:
Had some spare time to test a bunch of games. All of the following were tested with mounting the images in SHSU. […]
Show full quote

Had some spare time to test a bunch of games. All of the following were tested with mounting the images in SHSU.

Alien Trilogy - Unknown (Crashes after initial FMVs have played)
Big Red Racing - Works
Blood - Doesn't Work (crashes when starting new game, works when launched without the disc mounted and using SB or GM for Music) Not sure if this helps identify what's wrong
Carmageddon - Works
Descent - Works (not red book)
Descent II - Works
Destruction Derby - Works
Destruction Derby 2 - Unknown (Crashes on "exiting program...." after initial FMV has played)
GTA - Works
Loom - Works
NitroRacers - Works
Screamer - Works
Screamer Rally - Works
SuperKarts - Works
Tomb Raider - Works
Toonstruck - Works (not red book)
Wipeout (non ATI Rage version) - Works
Worms - Unknown (Crashes after initial FMVs have played)

Alien Trilogy and NitroRacers I had to install in DosBox and move the folders over, Alien Trilogy complained about not enough ram (needing 8MB), I saw there was a patch released that apparently addresses the issue but I couldn't get it to work.

The games I can't test likely do work but need some compatibility flag in VSBHDA, or need an older video card to display whatever VESA mode they're trying to use (I'm using a GTX 980 HDMI out). Otherwise it works very well.

Thanks a lot Aaron, that's extremely helpful and I'll have a look at some of these. For the ones that crash after an FMV (e.g. Worms or Destruction Derby 2 or Alien Trilogy), have you tried them with regular VSBHDA and regular SHSUCDX? If there's a crash even with vanilla VSBHDA and SHSUCDX, then there might be something specific to these games. For example, Rayman was a particularly problematic game that needs a few tricks to play even with vanilla VSBHDA/SHSUCDX.

Reply 15 of 19, by AaronS

User metadata
Rank Member
Rank
Member

Apologies I should have tried that, which I did for Blood. So for these previously "unknown" games;

Alien Trilogy
Destruction Derby 2

Work and don't crash after their initial FMVs have played if you don't initialise the CD audio (removing /CDA from cdstart.bat), you will of course only have SFX and FMV audio playing. This is with VSBHDARB and SHSUCDRB, so it's something to do with VSBHDA, I'll keep testing.

Worms - still crashes without the CD audio initialised and even not installing VSBHDA/RB at all, I then converted the game to ISO and tested it with VSBHDA/RB (crash), then without VSBHDA/RB and it worked, still using SHSUCDRB., but of course no sound at all now. I know Superfrog is on the list of games not working with VSBHDA, another Team17 game, so maybe similar problem with this game.

Reply 16 of 19, by PCGamingTimeMachine

User metadata
Rank Newbie
Rank
Newbie
AaronS wrote on 2026-05-11, 22:40:
Apologies I should have tried that, which I did for Blood. So for these previously "unknown" games; […]
Show full quote

Apologies I should have tried that, which I did for Blood. So for these previously "unknown" games;

Alien Trilogy
Destruction Derby 2

Work and don't crash after their initial FMVs have played if you don't initialise the CD audio (removing /CDA from cdstart.bat), you will of course only have SFX and FMV audio playing. This is with VSBHDARB and SHSUCDRB, so it's something to do with VSBHDA, I'll keep testing.

Worms - still crashes without the CD audio initialised and even not installing VSBHDA/RB at all, I then converted the game to ISO and tested it with VSBHDA/RB (crash), then without VSBHDA/RB and it worked, still using SHSUCDRB., but of course no sound at all now. I know Superfrog is on the list of games not working with VSBHDA, another Team17 game, so maybe similar problem with this game.

I added compatibility for Blood, hopefully it should work. I've renamed the shsu tools with permission from the current maintainer of shsucd to keep them separate from shsucdhd and shsucdx (to avoid any merging related headaches later on).

Now they're called shsurbx and shsurbhd (rb for red book). You should use the /A:2 flag with shsurbx. So the commands would be "shsurbhd /F:BLOOD.CDM", "shsurbx /D:SHSU-CDH /A:2" and the usual vsbhdarb command

Reply 17 of 19, by AaronS

User metadata
Rank Member
Rank
Member

Hello, yep that fixed Blood, awesome! Does the /A:2 flag work universally or should we change it back to /A:1 for everything else?

Reply 18 of 19, by PCGamingTimeMachine

User metadata
Rank Newbie
Rank
Newbie
AaronS wrote on 2026-05-16, 15:51:

Hello, yep that fixed Blood, awesome! Does the /A:2 flag work universally or should we change it back to /A:1 for everything else?

You can try with /A:1 too - I think it should work. I'll fix up the flag values later. I'd be grateful, in case you have cdm files for alien trilogy / destruction derby 2, if you could try those out too. If they still don't work, I'll have a look at those when I get some time. I'm trying to target the most common/popular games first, so that's why I had a look at Blood on priority

Reply 19 of 19, by AaronS

User metadata
Rank Member
Rank
Member

Yeah that makes sense, I backed all the CDM files up so I can retest anytime.

Okay some interesting results with Alien Trilogy, DD2 and Worms: they all half work IF you turn off SB/SFX (sound setup for each game and select "No Digital Audio" = no SFX and no audio for FMVs), the games all get passed the intro FMVs and you can play the games with redbook music playing, no problems at all. Still crashing after FMVs if SB is set. Worms now works with CDM and not just ISO too.