Common searches

First post, by arromdee3

User metadata
Rank Newbie

I have a Waveblaster midi daughterboard on my soundcard. It's one of the last ISA SB-clones made, on one of the last consumer motherboards with an ISA slot made (which I got specifically so it would be easier to play DOS games directly). It works perfectly in Linux (Mandrake 10.1), and I can play midi files to it, to the OPL3, or through Timidity separately. DOSBOX is set up so that the MPU-401 goes to the Alsa port that goes to the Waveblaster.

Anyway, my problem is this:
-- The Waveblaster has some interference. However, if I just play a midi file the interference is no problem--it's too low to hear.
-- If I play a DOS game (Elder Scrolls: Arena) that uses MPU-401, in DOSBOX, the volume of the midi is much lower than when I play a midi file.
-- In fact, it's low enough that if I increase the volume enough to hear it well, I've also increased the volume of the interference enough that I can hear *it*. This happens whether I use the Alsa mixer volume control or the knob on my speakers. (The in-game control is already at 100%, I can't increase that.)

So what I want to do is to have DOSBOX make my MIDI louder, but to do so by increasing the volume of the MIDI that it passes through to the card, so that it's as loud as a MIDI file that I just play--not by using the Alsa mixer or speaker knob. (I don't even know if DOSBOX is decreasing the MIDI volume, or if the game is just playing it low to start with.) Any ideas?

Reply 1 of 5, by Qbix

User metadata
Rank DOSBox Author
DOSBox Author

dosbox doesn't touch the volume of the midi data. Maybe you can use some sort of timidity thing to act as a bridge that amplifies it ?

Water flows down the stream
How to ask questions the smart way!

Reply 3 of 5, by `Moe`

User metadata
Rank Oldbie

DOSBox doesn't process the volume instructions in the game's MIDI output at all, so there is no place where you could edit anything.

The real reason is probably that your Linux MIDI player sends a higher-volume instruction to the card than the game. Even though I do a little MIDI on Linux (in the "musician" way, not the "listen to music" way), I don't know an easy solution to your problem. Does running a Linux MIDI player right before starting DOSBox help?

Reply 5 of 5, by Srecko

User metadata
Rank Member

It't very simple (if you still need it). If first byte of a MIDI command is 0x90, which is a note on, edit the third byte and put whatever volume you l (it must be in decimal range 0-127).

->code is in midi.cpp