VOGONS


CD audio command routing

Topic actions

First post, by Snover

User metadata
Rank l33t++
Rank
l33t++

You talked about GliDOS having some code that routed DOS CD audio commands to Windows CD audio commands (eg. in Tomb Raider 1). Any chance of releasing this code separately under GPL/BSD for integration with VDMSound (to fix problems like this)?

Yes, it’s my fault.

Reply 1 of 15, by Glidos

User metadata
Rank l33t
Rank
l33t

Yeh, no problem. If Vlad can make use of it, he's welcome. It is a very simplistic implementation, handling only the commands that TR uses, so it may leave a lot of work left to do.

Reply 2 of 15, by Snover

User metadata
Rank l33t++
Rank
l33t++

Old games that have redbook audio (CITY2000 and Return to Zork come to mind) use a small executable called "CDPLAY.EXE." I've uploaded it for your enjoyment.
Nothing complex about the way it does it. However, there are some other games (Jones in the Fast Lane comes to mind) that use some funky redbook audio scheming to have speech piped through CD audio instead of using samples.

Yes, it’s my fault.

Reply 3 of 15, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Another one to tinker with would be "LOOM" (the enhanced CD-ROM version). Basically, _all_ of the game audio was played straight from the CD. This was a little annoying when using the staff. You had to wait for the CD to find and play each note.

Reply 4 of 15, by Snover

User metadata
Rank l33t++
Rank
l33t++

That's what makes programs like Fantom CD so nice -- just make an ISO of the disc and then you don't have to wait for the laser to find and cue up the audio, since there IS no laser. (Mwahaha)

Yes, it’s my fault.

Reply 5 of 15, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t
Snover wrote:

That's what makes programs like Fantom CD so nice -- ...

I may go back and see if I can't just copy over the files and use a hex editor to redirect them to their new home on the Hard Drive. Hey, it worked for "Mario's Early Years CD".

Reply 6 of 15, by Snover

User metadata
Rank l33t++
Rank
l33t++

Redbook audio, friend? Uncompressed audio or not, you're still going to need an emulated CD.

Yes, it’s my fault.

Reply 7 of 15, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t
Snover wrote:

Redbook audio, ...

Do'h! Was thinking of the Mario EduGame. They streamed audio from the CD, but as a resource that was converted by the sound card.

Whereas LOOM doesn't even need a sound card, all the audio comes from the CD. So, yes, some kind of imaging is needed.

Reply 8 of 15, by Glidos

User metadata
Rank l33t
Rank
l33t

This Redbook support that you are thinking might go into VDMSound, wouldn't necessarily have to map the DOS side
Redbook commands to Windows CD playing commands. It could just as easily map them to WAV playing commands. In fact, trivially, because Windows gives WAV and CD a common API. So you *could* possibly run from disc instead of CD.

Reply 9 of 15, by Snover

User metadata
Rank l33t++
Rank
l33t++

An interesting idea, though I would forsee necessitating an OGG/MP3/Monkey's Audio decompression to keep filesize down when the game wasn't being run.

In any case, could you please post said mapping code here? 'preciate it.

Yes, it’s my fault.

Reply 10 of 15, by Glidos

User metadata
Rank l33t
Rank
l33t

Has anyone sounded out Vlad about this? Does he want to put Redbook support into VDMSound?

Reply 11 of 15, by Snover

User metadata
Rank l33t++
Rank
l33t++

Why not? I mean, it IS for DOS sound support, and CD audio IS a part of DOS sound. In any case, I know C++ now, so GIMME, BIAAAATCH! 😉 (Welcome to open source. Me am coder, me can change files. Mwah.)

Yes, it’s my fault.

Reply 12 of 15, by Glidos

User metadata
Rank l33t
Rank
l33t

Okay, I've put some stuff in the files area. It will be very difficult without Vlad's help. For one thing you need to hook the DOS interrupt 2fh, which I don't think you can do within a VDD, so there'll be a need for DOS side program. Then there's the question of how to invoke that. It may be better to make it a standalone thing like speedset. In fact it probably needs to be structured exactly like speedset.

Reply 13 of 15, by Snover

User metadata
Rank l33t++
Rank
l33t++

If Vlad will ever get on an IM client at night I can meet with him about it. Fat chance of that happening, though 😉

Yes, it’s my fault.