Pages: [1]
|
|
|
Author
|
Topic: Star Control 1 PC Speaker issue on DOSBox (Read 4101 times)
|
psydev
*Many bubbles*
Offline
Gender:
Posts: 136
Why don't all races have point defense lasers?
|
Has anyone tried playing Star Control 1 on DOSBox? I really dont like the adlib/midi/whatever sound effects, I much prefer the PC Speaker ones. I haven't been able to get the PC Speaker to work, though. When I run starcon.exe /s:internal , it just gives me a constant buzz as soon as a sound is played. Does anyone have any experience with DOSBox and pc speaker or with Starcon1?
|
|
|
Logged
|
|
|
|
CelticMinstrel
Enlightened
Offline
Posts: 522
|
I've played it on DOSBox. I have no idea what you're asking, though...
|
|
|
Logged
|
|
|
|
Novus
Enlightened
Offline
Gender:
Posts: 1938
Fot or not?
|
I can replicate this issue on DOSBox 0.73 on Linux, so at least I know what the problem is. I hadn't noticed this, since I usually use Adlib sound.
The best I can suggest right now (I need sleep now) is trying an older version of DOSBox; there have been some changes to the internal speaker emulation. I'd try 0.71, 0.7, 0.62 and 0.61.
|
|
|
Logged
|
|
|
|
|
Novus
Enlightened
Offline
Gender:
Posts: 1938
Fot or not?
|
Further investigation shows that the constant buzzing is there in at least 0.72, 0.65, 0.62, 0.61and 0.56. DOSBox 0.55 and 0.5 produce an out-of-tune squawk instead of the correct sound, but at least vaguely resemble the correct output. The only way I've got SC1 to play sound correctly so far is to run it in DOS.
|
|
|
Logged
|
|
|
|
psydev
*Many bubbles*
Offline
Gender:
Posts: 136
Why don't all races have point defense lasers?
|
For what it's worth, I'm asking about this on the DOSBox forums.
If you care about SC1 at all, it sounds much better with MT32 instead of the default settings (adlib, soundblaster, whatever). The music is much better but the sound effects are still "tones", generated from the midi device, I think, instead of the PC Speaker's genuine sound effects that actually sound like something (e.g. Earthling's missile firing actually sounds like a missile instead of a beep.) You need a plugin to get MT32 working properly, I believe.
I will post if I find a solution to this. Not that anyone plays Star Control 1 anyway...
|
|
|
Logged
|
|
|
|
CelticMinstrel
Enlightened
Offline
Posts: 522
|
I do, occasionally. Though I think I played it without sound.
|
|
|
Logged
|
|
|
|
Novus
Enlightened
Offline
Gender:
Posts: 1938
Fot or not?
|
If you care about SC1 at all, it sounds much better with MT32 instead of the default settings (adlib, soundblaster, whatever). The music is much better but the sound effects are still "tones", generated from the midi device, I think, instead of the PC Speaker's genuine sound effects that actually sound like something (e.g. Earthling's missile firing actually sounds like a missile instead of a beep.) You need a plugin to get MT32 working properly, I believe.
If you have a MIDI device (and DOSBox normally emulates one), SC1 will, in my experience, default to playing the MT-32 sound through your system's MIDI output, which is almost certainly General MIDI on most systems since 1992 or so. The mismatch between MT-32 and General MIDI instruments (and the inability to reprogram instruments in General MIDI) leads to both music and sound effects sounding strange (inappropriate musical instruments). If you set up an MT-32 (real or emulated) as a MIDI device or use a modified DOSBox with MT-32 emulation built in, the MT-32 sound in SC1 should work fine (how accurate the emulator is and how good the MT-32 sound effects are is another question).
Part of what is making this conversation (here and at VOGONS) a bit hard on everyone is that you don't seem to be quite sure which sound device is which. In particular, it would be helpful if you could confirm my theory that the default sound you've been hearing is MT-32 being played through General MIDI. There are three ways of confirming this. Some of us can tell the difference by ear pretty quickly, but, since that doesn't seem to be working for you, there are two left: one is to check which command-line parameter results in the same sound and the other is to adjust e.g. volume for the different sound output devices (either in the DOSBox mixer or that of the underlying MIDI hardware or software) and see which changes have an effect on the output.
|
|
|
Logged
|
|
|
|
|
Novus
Enlightened
Offline
Gender:
Posts: 1938
Fot or not?
|
I have only been using the command line paramters to do testing. /s:MT32 sounds much better in music than /s:adlib. When I used to play in DOS, I would do /s:blaster and it sounded the same as /s:adlib. I turned off midi while using DOSBox and while using /s:MT32 and got no sound, so I assume it's a midi device that's being used by MT32 (could it be any other way?). I think when you run Starcon with no command line paramters, if it detects a soundblaster, it doesn't use MT32 by default, just MIDI (i.e. sounds the same as running /s:adlib).
I think I see where all the confusion is coming from. An Adlib (or the equivalent part of a Sound Blaster) is not a MIDI card, in the sense that it does not communicate using MIDI messages ("Play a Middle C on instrument 21 at maximum volume"). The General MIDI specification defines (roughly) what each instrument is (for example, 21 is an accordion) and how many notes can be played at once; pretty much any decent MIDI synth since the standard appeared has been General MIDI compatible. The MT-32 synthesiser predates this standard and has a completely different set of instruments (21 is "Clavinet 3", assuming you haven't redefined it). An Adlib card has much fewer channels than either General MIDI requires or an MT-32 has.
More relevantly, for this discussion, the different synthesisers are connected to a PC differently and, hence, used completely differently in a DOS environment. MIDI synths are typically (for the DOS era, at least) connected through an MPU-401 interface, which is what all these DOS games send General MIDI and MT-32 music to as MIDI messages. DOSBox emulates this by passing the MIDI messages through to a MIDI driver provided by the operating system, or (with a modified DOSBox with a built-in MT-32 emulator) emulates the actual synth itself and passes the resulting waveform to the OS. The Adlib synth is used by directly manipulating parameters of its FM synthesis ("produce a sine wave on channel 1 with amplitude-modulated harmonics one octave higher at frequency 0x2AE"). As you can guess, the General MIDI standard is less flexible in terms of the different instruments a musician can access, but allows for the synthesis technology to be improved while retaining compatibility. The important point here is that, in terms of DOS programming and DOSBox, Adlib has nothing to do with MIDI (unless you are storing your music as MIDI and have a library or driver that does a poor impression of General MIDI to handle playback if you only have an Adlib or basic SB, which actually became quite common later on).
Anyway the root problem is just that I want to use the PC Speaker still.
There seems to be a bug or limitation in the PC Speaker or timer emulation in DOSBox that prevents it from producing correct sound output in SC1. Diagnosing this is likely to be difficult and fixing it may require extensive changes to the speaker or timer emulation (which could easily break something else). Hence, the DOSBox guys want to be sure you know what you want and what you're getting before spending a few days or worse trying to fix things.
|
|
|
Logged
|
|
|
|
Pages: [1]
|
|
|
|
|