VOGONS


First post, by s0ren

User metadata
Rank Member
Rank
Member

Is it possible to emulate an optical drive with an audio CD without using ISO images?

Im thinking something like a virtual optical drive, that when accessed on-the-fly will convert MP3/OGG to CD data or simply play back MP3/OGG when asked to play an audio CD track.

The purpose would be to enable CD music without inserting the actual CD or storing and mounting an ISO image (useful for many using laptops, thin clients, etc without optical drives). In my case i would like to play the game Ignition (does not require the CD to play) with the music, without having to store a huge ISO image of my original disc. It would also become possible to substitute and extend game soundtracks this way.

I do not know if software like this exists already but i have not found anything. If i was better at C++ i would give it a try myself. If someone can make the virtual drive + relevant hooks (or what ever approach is feasible), i could write a media player for it though.

Reply 1 of 11, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie

?
There are .ccd/.img/.sub, .cue/.bin and .mds/.mdf formats. All support mixed-mode CDs correctly.
About the VCD software - well, Alcohol 120% FE works ok in WinXpSp3 (except several games with "multithreaded" MCI but this is the incompatibility of WinXp itself). I will test WinME + Daemon Tools 3.47 later but AFAIR it works ok too.

Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).

Reply 2 of 11, by s0ren

User metadata
Rank Member
Rank
Member

I do not want to use CD images. I want my MP3s and OGG files to play instead of the audio CD. When the game attempts to play a CD audio track, i want it to play my MP3 file. I know its possible with CD images, but ISOs take up too much space and cant be modified easily to change songs.

Reply 3 of 11, by dr_st

User metadata
Rank l33t
Rank
l33t

I believe you should be able to make a "pure audio CD" just from a .CUE file and a collection of .OGG, then using IMGMOUNT in DOSBox (or the equivalent in whatever environment you want to use). Then there is no space wasted, although changing tracks is not easy, since the offsets would need to be recalculated.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 4 of 11, by Myloch

User metadata
Rank Oldbie
Rank
Oldbie
s0ren wrote:

Is it possible to emulate an optical drive with an audio CD without using ISO images?

Nope, not possible. But I wonder what's the problem with cd images, do you consider 600-700mb huge nowadays? 🤣
If you want to minimize used hd space (and offsets/pauses between tracks are not important), you can always create bin+cue image and use ripped audio tracks (in mp3 format) in the cuesheet.
I remember some virtual drive utilities supported that but don't expect it to be widely supported: I'm pretty sure software like Daemon tools explicitly forbid cuesheets w/ mp3s.

Last edited by Myloch on 2016-09-22, 13:32. Edited 2 times in total.

"Gamer & collector for passion, I firmly believe in the preservation and the diffusion of old/rare software, against all personal egoisms"

Reply 5 of 11, by s0ren

User metadata
Rank Member
Rank
Member
dr_st wrote:

I believe you should be able to make a "pure audio CD" just from a .CUE file and a collection of .OGG, then using IMGMOUNT in DOSBox (or the equivalent in whatever environment you want to use). Then there is no space wasted, although changing tracks is not easy, since the offsets would need to be recalculated.

Very interesting. Maybe i can use IMGMOUNT.COM outside of dosbox? Or perhaps modify it to work in regular MSDOS 6 or 7. I will look into it!

For older computers with <16GB hard drives, storing ISOs is not a viable solution.

Reply 6 of 11, by ZellSF

User metadata
Rank l33t
Rank
l33t
s0ren wrote:

I do not want to use CD images. I want my MP3s and OGG files to play instead of the audio CD. When the game attempts to play a CD audio track, i want it to play my MP3 file. I know its possible with CD images, but ISOs take up too much space and cant be modified easily to change songs.

Two options, first we have ogg-winmm, which is what GoG uses:
https://github.com/hifi-unmaintained/ogg-winmm/
You can find a compiled build included with GoG CDDA games, it requires a folder named MUSIC in the game directory containing track01.ogg, track02.ogg etc. There's also a build available here.

Second we have _inmm
http://www.geocities.co.jp/Playtown-Domino/8282/
Not actively maintained and a bit annoying to work with. There's a tutorial here:
https://www.play-old-pc-games.com/compatibili … m-dll-tutorial/

This is just for Windows software that plays back audio through winmm, and has a lot of compatibility problems.

Reply 7 of 11, by Myloch

User metadata
Rank Oldbie
Rank
Oldbie
ZellSF wrote:

Second we have _inmm

This is just for Windows software that plays back audio through winmm, and has a lot of compatibility problems.

Yeah _inmm...I forgot about that 🤣
It literally saved my ass when dealing with some obscure/old japanese games with redbook tracks that refused to work correctly on modern Os (muted music). Nice tutorial, yeah, that's a bit annoying to understand how to use it correctly, and if I correctly remember, there are some problems with mp3s, vbr ones at least.

"Gamer & collector for passion, I firmly believe in the preservation and the diffusion of old/rare software, against all personal egoisms"

Reply 8 of 11, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
s0ren wrote:

Very interesting. Maybe i can use IMGMOUNT.COM outside of dosbox? Or perhaps modify it to work in regular MSDOS 6 or 7. I will look into it!

Not going to happen. There is in fact a tool for mounting .ISO images in MS-DOS, namely SHSUCDHD, but it does not work with CD audio.

Consider that CD audio is trivial to implement in a program – all it has to do command the CD-ROM drive to start playing a track, and the drive sends the audio data directly to a sound card which takes care of all the mixing independently of anything else that is running. To do the same with a CD image would require a program to read the data from the hard drive and somehow "manually" mix it with any other sounds that are already playing. This just isn't feasible outside of a multitasking environment – by the time you wrote something with that sort of capability, you would have practically created a whole new operating system.

Reply 9 of 11, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie

Well, it only needs the CD emulation driver to forward audio playing commands through some media (network, nullmodem) to another device (PC, raspberry pi) that can receive the commands and play corresponding mp3/ogg files.

Reply 10 of 11, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
Jepael wrote:

Well, it only needs the CD emulation driver to forward audio playing commands through some media (network, nullmodem) to another device (PC, raspberry pi) that can receive the commands and play corresponding mp3/ogg files.

An interesting idea – but of course you'd need to connect the other device to the sound card of the first PC, or connect both the first PC and the other device to some sort of external mixer. And DOS ethernet drivers are nasty memory-hogging things, so you probably wouldn't want to do things that way.

Reply 11 of 11, by s0ren

User metadata
Rank Member
Rank
Member

Thank you everyone for the help and suggestions.

_inmm + SCMPX did the trick! Ignition now working with MP3 music instead of CD audio 😀 Will try others later

Btw what an absolute gem of a game Ignition is. Great game play, graphics, sound FX, music, and execution. I wonder why they never made a second instalment.