VOGONS


First post, by Smiling Spectre

User metadata
Rank Newbie
Rank
Newbie

Hello!

I download DosBox 0.65. Run Day of the Tentacle. There is no Midi! %(
I solve this (and I will say about it in the another thread). But found somewhat bug in Dosbox.

When I try to use in dosbox.conf any Sound Blaster, except default Sb16, and then use SB for midi, there is no signal in left channel. Only right speaker sounds. Sb16 works as expected - with two channels.

P.S. Sorry for bad English - I am Russian.
P.P.S. I have Athlon 2000+ and Win98 SE installed.

Reply 2 of 10, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Works fine in dosbox as well (available for free, too).

Check the balance settings of the sound mixer, maybe the midi is
shifted to one side only. And try some other midi stuff (media player
with .mid files or so) to see if it's working in windows at least.

Reply 3 of 10, by Smiling Spectre

User metadata
Rank Newbie
Rank
Newbie

It's definitely not hardware (or system software) error, because, I repeat, I still _can_ receive normal midi, even in Dosbox - if Dosbox's midi device in config file is SB16. If I use any other SB in the config for midi - sb1,sb2,sbpro1,sbpro2 - in that cases I have "right" midi.

Maybe I must talk clearer, so I repeat problem description.

1. I have DOSBox 0.65 and Windows 98SE.
2. I use any device for SB except SB16, placing needed value in conf file. No other config values was touched.
3. I setup game (any game) under DOSBox to use Sound Blaster for Midi - it can be any Sound Blaster, at least I tried SB, SB2 and SBPro.
4. I receive normal in-game midi, except described error - signal presents only on right channel.

If on step 2 I use SB16, on step 4 I have "stereo" midi.

Reply 4 of 10, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

SB sound is FM, it is not MIDI.

Many games use FM technology to play music and also have the ability to play real MIDI through a Roland MT-32 or a general MIDI synthesizer. It works completely differently.

The standard MIDI output is passed on directly to Windows' MIDI mapper.

My site: Ramblings on mostly tech stuff.

Reply 6 of 10, by Smiling Spectre

User metadata
Rank Newbie
Rank
Newbie

Kippesoep, I don't understand you.
1. I think, SB (real SB) have possibility to play MIDI with internal sound fonts to speakers or through it's midi port.
2. Games, that I tested (Heretic 2, Day of the Tentacle for example) gives you possibility to use SB for playing midi. On the Windows it requires "general midi" as devise, though, but under DosBox (and under DOS, of course) I can select SB as midi device and receive sound. And it's definitely midi, because I can record it with DosBox's build-in midi-recorder. 😀

So what means your words? 😀 DosBox not plays Midi, it's Windows fault? DosBox plays midi for SB some different way than for SB16? Or what? I really don't understand.

swaaye, regretfully, you are not right. ScummVM is attempt to make _modern copy_ of native interpreter, not native interpreter itself. More or less successfull attempt.
At fact, I _tries_ ScummVM for DoTT. 😀 It makes several annoying errors (and "speedspeech" is biggest of it - voice accelerates randomily in the some of the replies). So I revert to DosBox and ends game with it - without any errors. 😀

Reply 7 of 10, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

The Sound Blaster has an FM synthesizer (an OPL2 or OPL3, depending on the version), which simply generates tones. Games must program this directly. at it doesn't understand MIDI data. (The game must convert the MIDI data to OPL command codes). DOSBox emulates the FM synthesizer, attempting to make sure it sounds like a real Sound Blaster. In dosbox.conf, this is the "sbtype" setting. You can record the OPL commands in DOSBox by pressing Ctrl-Alt-F7 (but you'll find those unusable) or the generated sound by pressing Ctrl-F6 (which creates a .WAV file).

The Sound Blaster also has an on-board MPU-401 (or compatible) chip. This does understand MIDI data, but doesn't do anything with it. It simply passes it on to a device connected to the external MIDI/joystick port (or a daughterboard connected to the card). That will in turn convert the MIDI data into sound. That is often of a much higher quality than FM synthesis. DOSBox, in its default setting, passes the MIDI data on to Windows. In DOSbox, this is the "mpu401" and "device" settings. You can record the MIDI commands by pressing Ctrl-Alt-F8. This creates a .MID file.

So: if your game uses FM synthesis (usually the "AdLib", "Sound Blaster", "Sound Blaster Pro" or "Sound Blaster 16" setting) and you get no sound, it may be DOSBox' fault.

If your game uses MIDI (usually the "Roland MT-32", "Roland LAPC-1", "Roland Sound Canvas" or "General MIDI" setting) and you get no sound, it's more likely to be Windows' settings.

DOSBox itself does not play MIDI and doesn't really do anything with it. It simply passes it on to Windows' MIDI handler. It can (and does) emulate the FM synthesis on a Sound Blaster, but that is not MIDI. If you get music on only one channel, then I think one of the following things may be happening:

- DOTT is set to OPL2 FM output (Sound Blaster) while you might be forcing an OPL3 (Sound Blaster Pro) or dual OPL2 (check the "oplmode" setting in DOSBox.conf, it should be "auto")
- DOTT may be doing something strange to DOSBox' SB mixer (never happened to me)
- DOTT is set to General MIDI output and there is something wrong with your Windows settings
- There is something wrong with your Windows settings (balance settings, driver problem etc)

My site: Ramblings on mostly tech stuff.

Reply 8 of 10, by Smiling Spectre

User metadata
Rank Newbie
Rank
Newbie

First at all, thank you, Kippesoep, for your very descriptive answer.

I have many questions arisen, but I'll try to find answers myself. Beginning from torturing DoTT in DosBox. 😀 Then I'll continue... 😀

Reply 9 of 10, by Srecko

User metadata
Rank Member
Rank
Member

It mixer is the issue, it might work better with mixer=false in sblaster section of dosbox.conf (as this ignores any mixer changing from game).

Sb and Sb2 settings should produce same sound on both channels (mono) as they had single opl2 chip (AFAIK), but be sure to set game music to Sblaster FM or Adlib. SbPro had dual op2, sbpro2 and sb16 had opl3, but set opl type to auto anyway.