First post, by 95DosBox
Thanks to Sergm for the first compiled MUNT for Windows 98 testing.
Munt 98 Filename:
Here are my test results and what needs to be improved if possible.
The goal I hope if this 9X ME project succeeds there could be a later port to use directly under Real DOS in the future not requiring any Windows.
I sorted through at least 50 game demos testing which ones could work to test MT-32 emulation some wouldn't work unless specifically run in DOSBOX. I picked the best due to the use of the MT-32 and the quality of the MIDI.
In Windows Vista 64-bit and later issues:
Requires Coolsoft's MIDI Mapper to select the MUNT device or it defaults to the Microsoft Roland GS Wavetable SW Synth. Thanks to Coolsoft for making this for those using newer Windows such as Vista and later.
Version 1.0rc1 attachment linked by Hunterz here:
Re: WARNING: Currently impossible to change default midi device in Win8
There is no MIDI Mapper issue In Windows XP and Munt will run under the "Command Prompt".
DOSBOX is not required for testing as MUNT XP does the MIDI interception and emulation without a problem seamlessly for these sound test demos. Make sure in Sounds and Audio Device Properties that the MT-32 Synth Emulator is chosen for the MIDI music playback Default Device with the check box for use only default devices checked.
Police Quest 3
Xmas 1990 Demo
DOSBOX.Conf settings needed:
# mpu401 -- Type of MPU-401 to emulate: none, uart or intelligent.
# device -- Device that will receive the MIDI data from MPU-401.
# This can be default,alsa,oss,win32,coreaudio,none.
# config -- Special configuration options for the device. In Windows put
# the id of the device you want to use. See README for details.
#midiconfig=1 for MUNT MIDI
In Windows 98 testing:
In Windows 98 Munt will run under the "Command Prompt". DOSBOX is not required for testing when using the native Microsoft Roland GS Wavetable SW Synth and does the MIDI interception and emulation without a problem seamlessly however the effects are awful most of the time due to mismatched instruments.
The problem is for MUNT98 it does not detect or work outside of a DOSBOX session whereas in XP it can operate and intercept MIDI messages. Sergm can this be fixed for Munt 98?
Adding these 16 Instruments as MIDI Yoke Junction 1-16 as the MUNT Scheme under Multimedia Properties, Custom configuration MIDI Scheme. (tedious work)
Dune 2 - will not work using the DOS Prompt due to insufficient memory issue.
Police Quest 3 - will work intercepting the MS Roland GS Wavetable SW Synth
Warcraft 1 - will work intercepting the MS Roland GS Wavetable SW Synth
Xmas 1990 Demo - will work intercepting the MS Roland GS Wavetable SW Synth
Installing the MidiYoke Junction v1.63 driver manually.
Changing the Ports from default of 3 to 16.
Even after testing MidiYoke Junction v1.63 and setting up 16 Ports
MidiIn0-15 (16 Ports) MIDI Yoke Junction 1-16 added.
Launching Munt98 console
Adding each MidiYoke instrument 1-16 individually.
Munt98 forgets previously added instruments in the console after exiting and there is no way to select with Ctrl or Shift to select all from the list to add all 16 instruments together every time MUNT is reloaded. I'm not sure why it has to be added manually into Munt98's console as MuntXP doesn't require this.
There should be a way to map all 16 instruments grouped as one instrument similar to the MS Roland GS Wavetable SW Synth to simplify the workload in the MIDI selection / configuration process.
Is there a way to overwrite the MS Roland GS Wavetable SW Synth or duplicate this MIDI Synth and then overwrite the instruments on the duplicate MIDI Synth? The MS Roland GS Wavetable Synth barefully consumes any CPU resources even running on 800 MHz it doesn't blink. This might be a way to simplify the MUNT98 program avoiding the need for the MidiYoke or the 16 channel configuration procedure.
Launching the DOSBOX session to test MUNT98 Emulation speed testing results:
2.0 GHz 1 core
PQ3 - adequate
Xmas - adequate
Dune 2 - adequate
Warcraft - barely
Warcraft 2 - sluggish
2.5 GHz 1 core
PQ3 - smooth
Xmas - smooth
Dune 2 - smooth
Warcraft 2 adequate
3.0 GHz 1 core
PQ3 - smooth
Xmas - smooth
Dune 2 - smooth
Warcraft 1 - smooth
Warcraft 2 - smooth
I am attaching my Demo MUNT and DOSBOX sound test programs for others to verify MUNT or DOSBOX is working properly.
PQ3 - Makes excellent use of the MT-32. The Woman Screaming. The Police Sirens.
Xmas - Makes excellent use of the MT-32 instruments. When the people are shot by the Arrows you will hear Thuds.
Dune 2 - In the Intro Title during the text "Land of Sand." You will hear two off key instruments playing if not using MUNT emulation. Other Synthesizers you will notice this issue. I have specially modified this Dune 2 Demo so it exits after the intro sequence make it a great test tool for MUNT and DOSBOX sound authenticity testing.
Warcraft 1 - Has a good use of General MIDI in the introduction and in game.
After extraction you will find:
You can click these files directly and this will automatically run these programs in XP using the "Command Prompt" but can also be run slower in DOSBOX emulation. These programs have been defaulted to work with MT-32 and General MIDI for Warcraft 1 so no configuration is necessary.
I've included SB and MT32 configuration options by clicking
SB or MT32 if you wish to test DOSBOX for Sound Blaster or MUNT for MT-32.
The Dune 2 will require running the DUNE2.EXE file for choosing the appropriate sound option but if run from the "Command Prompt" my MT32 and MT32LOOP files will work automatically. DOSBOX must use the DUNE2 file to select the audio since it can't be automated.
Other issues or possible new features to be addressed to improve MUNT:
Its own Mixer Volume Control for the MUNT in 98, XP, and VISTA+. Checkbox option in the MUNT console to choose whether to use its own Volume Control in the Mixer or if unchecked to be combined with the WAVE like it currently is behaving.
It was a requested feature in a much older thread over a decade ago but being able to isolate the MT-32 from the Sound Blaster effects would mimic the real hardware when using the Master Volume Knob on the unit. Or when playing MIDI files you might want to turn down the Wave control but keep the MUNT Synth control up to isolate it.
Can one be added to the Volume Control Mixer called "MUNT Synth"?
An option for defaulting the Munt Console to "Test MIDI Driver" setting instead of a Blank empty MUNT console screen.
The possibility to add 3rd Party Skin (someone could cut a real Roland MT-32 skin for separate downloading) to surround the MT-32 LED Display Panel so no infringement.
A way to do an overlay of the Roland MT-32 LED Display Panel over the DOSBOX in game session which you can specify the coordinates of where it will be placed in game read from the dosbox.conf file setting but ignored by DOSBOX.
DOSBOX.Conf settings read by MUNT or MUNT's own Munt.Cfg file.
MuntDisplayDimensions=X,Y (Pixel Size of the actual Display)
MuntDisplayLocation=X,Y (Location of where the Console Display is on screen)
MuntDisplayTransparency=0-100 (0 = No Transparency, 50=Semi Transparent, 100=Not visible)
MuntDisplayTimeOutFade=X ms (After X milliseconds of no MT32 signal activity the Display will disappear until a new signal reactives it.)
MuntDisplayMessageTimeOutFade=X ms (After a deliberate "Message" not an instrument update.
200 Pixels across, 100 Pixels vertical height.
Would place it at the Bottom Left Corner
Visible but transparent see through so you can see under it.
After 250ms or 1/4 second of no activity the MuntDisplay clears away and doesn't obstruct the screen with an overlay but will return once Munt activity is detected.
This example would be 5000ms = 5.0 seconds.
When receiving special hidden messages the Munt Display will not fade right away if the MuntDisplayTimeOutFade is less than the MuntDisplayMessageTimeOutFade. So sometimes a special message is shown on the MT-32 display panel that can be read on the real hardware but when in a DOSBOX session you can't see it so it would be nice to have this Munt Display overlay show you the message while in a Full Screen DOSBOX session.