VOGONS


First post, by k4sp4r0v

User metadata
Rank Newbie
Rank
Newbie

I've been trying to get running old Tex Murphy games under DOSBox on my IBM laptop - Pentium Mobile IV 1.7 GHz, ATI mobility Radeon, 256 MB RAM, integrated SoundMAX soundcard - and the result is far better than I imagined. Thanks for developing such a good DOS emulator!

Now I have a couple of questions, hope you can find a minute or two for a reply.
In the first place, I can't understand why increasing the "CPU cycle" parameter I get a significant improvement in motion fluidity (I can push CPU usage up to 90% and XP remains very stable), but at the same time the MIDI audio tends to become choppy. Is it due to some hardware limitation, or the DOSBox audio emulation still not being optimized?

The other (newbie) question (I guess is strictly related to the 1st question) is about soundcard detection. Well, as we know many games have a soundcard "autodetect" feature. Coherently, it sounds too obvious even to me, one can set the sounblaster type from the DOSBox conf file. What I just can't figure out is why a SoundMAX soundcard should be "treated" as a SB 1.0 and not, say a SBpro1 or SBpro2 instead. I guess that a different (real) soundcard should be detected differently.
It's mere curiosity, but I wish I had some more details about the soundcard detection process.
Thank you very much.
Ops...
By the way, I'm running DOSBox 0.72

Reply 1 of 7, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

Your real sound card has nothing to do with the sound card games see in DOSBox. It's all emulated, which means games see a totally different (imaginary) sound card.

Regarding cycles: It is possible to "overcycle" DOSBox. When the sound emulation begins to have dropouts, you're using too much cycles. Basically, at that point DOSBox spends too much time running the program and doesn't have enough time generating the sound data. This is most noticeable with FM music (Adlib/SoundBlaster), which I guess you mean by "MIDI" (which it actually isn't, but that's a different story).

If you use "cycles=max", then DOSBox automatically determines how fast it can go without dropping sound.

Reply 2 of 7, by k4sp4r0v

User metadata
Rank Newbie
Rank
Newbie

First let me thank you for your answer, Moe.

`Moe` wrote:

Your real sound card has nothing to do with the sound card games see in DOSBox. It's all emulated, which means games see a totally different (imaginary) sound card.

Just as I suspected. So why the game seems to prefer a specific SB card? If I set something different, it won't work. I tried any other SB soundcard supported by DOSBox.

`Moe` wrote:

This is most noticeable with FM music (Adlib/SoundBlaster), which I guess you mean by "MIDI" (which it actually isn't, but that's a different story).

Well, I'm pretty sure I refer to MIDI audio because SB 1.0 is detected both as digital audio device and MIDI device in the game setup. As far as I know, the former is the "speech" part of the output, the latter is the "soundtrack" of the game (MIDI format).

`Moe` wrote:

If you use "cycles=max", then DOSBox automatically determines how fast it can go without dropping sound.

Sure. Or I can use F11/F12 keys to get the best results, which actually is the method I used. Over 15000-16000 cycles the sound begins to dropout, as you said. Then I get PERFECT audio at 14000, but motion is slightly choppy, which has a negative impact on gameplay.
Maybe all I need is just a faster CPU...

Reply 3 of 7, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

It depends on what cards the game was programmed wth/for. Perhaps the game was developed before the SB16 was sold? Then the game wouldn't know how to deal with and SB16.

Or it could be a problem with DOSBox 🙁

You could try increasing the frameskip. Means DOSBox will not re-create all the graphics, saving cycles without you noticing it.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 4 of 7, by k4sp4r0v

User metadata
Rank Newbie
Rank
Newbie
MiniMax wrote:

It depends on what cards the game was programmed wth/for. Perhaps the game was developed before the SB16 was sold? Then the game wouldn't know how to deal with and SB16.

I don't think. The game is Pandora Directive (1996) and there are several SB options, SB16 included. Autodetection clearly states that "my soundcard" is a SB 1.0 and that's how I got the sound working.

Or it could be a problem with DOSBox 🙁

Nothing comes perfect, though DOSBox appears to be very close 😀

You could try increasing the frameskip. Means DOSBox will not re-create all the graphics, saving cycles without you noticing it.

The magic F8 key... actually, I noticed some little improvement. A frameskip value of 1 or 2 seems acceptable, higher values would produce a sort of graphical artifacts (horizontal lines). Thanks for the tip!
I wonder how the game would run on a faster machine.

Reply 5 of 7, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

Twice as fast. Tests indicate that the Pentium IV family (and I assume the mobile variants behave similar) are dog slow. Often, a modern Core 2 (not even using dual core) is twice as fast at the same MHz, at least in real-world applications. Of course, I'd always recommend an AMD CPU because of better "bang for your buck" ratio, but then again, I'm an AMD fanboi. Just mind: If it's got "Pentium" in it's name, stay clear.

Oh, and you could use a lot more RAM as well. New machines shouldn't have less than 2GB.

To get some more out of your machine, try reducing sound rates to 32000 or 22050 (or even lower, if you can bear it - set all to the same value). I assume you already set core=dynamic. cycles=max should take care of maximum speed then, since maximum possible cycles can vary during the game.

Reply 7 of 7, by J.B.

User metadata
Rank Newbie
Rank
Newbie
k4sp4r0v wrote:

I wonder how the game would run on a faster machine.

For the Tex Murphy games a faster CPU is what you want. My AMD X2 @ 2.7 Ghz runs Pandora at 70000 cycles compared to your 15000 which means the game is smoother than probably any real DOS PC was ever capable of.