VOGONS


Windows driver release

Topic actions

First post, by canadacow

User metadata
Rank Member
Rank
Member

Greetings. I've completed a Windows driver of my MT-32 emulator. Finally, the code is completely separate from DosBox. Though now interestingly, DosBox can't seem to find it by default, though everything else, like Media Player, and the like, don't seem to have any problems. There's more information on my page at http://www.artworxinn.com/alex . I'd write more but its late and my Labour Day holiday is over. Sorry.. 😁 Anyway... I'm still aware that there are some instruments out of tune and I'll continue to finetune them as I get time. Let me know if anything seriously out order happens either with my driver or my emulation. Take care and have fun!

Oh.. just a side note. Compared to the previous DosBox-only emulation, there are several serious emulation improvements beyond simply the fact that its in a driver now (Like operation at 44100hz, 16bit stereo, etc.)

Reply 2 of 40, by canadacow

User metadata
Rank Member
Rank
Member

Weird... then its just something I'm doing on my PC. As for the stuttering, that's in the works for the next release (no, not more stuttering). I'm working on a control panel property sheet for the driver. From there one will be able to set the sampling rate, mixing format, any custom sysex patches that need to be loaded at startup, etc. If one goes to the properties of the MT-32 in the Driver Manager and selects the properties of the MIDI devices, one should see a window that I've begun to work on with regard to configuration options.

Reply 5 of 40, by canadacow

User metadata
Rank Member
Rank
Member
khalek wrote:

And where is the source? A reply to my previous comment in the "MT32 midifiles ripping..." thread would be nice as well 😀

Sorry... I was spending too much time responding to your email in my source code and not online. As for the MT-32 emulation code, I have more or less encapsulated it into uniform meaningful class object. As for the rest of the code, I'm not quite sure how to handle it portability-wise. There are several classes and routines I had to write simply to support the Windows Driver Model. Fortunately, the driver code itself is a user-mode level driver and not a kernel-mode driver. If I had ended up writing a kernel-mode driver, the initialization code for the MT-32 would have had to change as it uses several non-kernal safe ANSI C procedures like fopen and malloc. This still doesn't resolve the issue of portability. Compiling the source code at the moment requires Visual C++ and the Windows Driver Development Kit, which is only available through a CD purchase from Microsoft (itself free, but $15 S&H). As such, the only real code in that will be in common between Linux and Windows will be the MT-32 core. Either way, when I get a chance later tonight I'll post the source and let you have a look at it so you can make suggestions. I'll then prepare the code to your specifications and we should be set to make this into an ALSA client. In any event, expect the code to be posted by the end of the day today (here in Eastern US, of course 😁 )

Reply 6 of 40, by hally

User metadata
Rank Newbie
Rank
Newbie

Hello,

My Add Hardware Wizard in the Control Panel doesn't detect waveforms.raw at all...

Patchlog.cfg was also not detected, but it was accepted when I changed the extension to .cf.

system: Windows 98SE (japanese edition).

Reply 8 of 40, by Schadenfreude

User metadata
Rank Member
Rank
Member
hally wrote:
Hello, […]
Show full quote

Hello,

My Add Hardware Wizard in the Control Panel doesn't detect waveforms.raw at all...

Patchlog.cfg was also not detected, but it was accepted when I changed the extension to .cf.

system: Windows 98SE (japanese edition).

Wow, it's DJ Hally of VORC.org!

Hally, Stiletto says hi...
(See: showgroups.php?s=)

Reply 9 of 40, by canadacow

User metadata
Rank Member
Rank
Member

Interesting. Ok, I'll be sure to run more test installs on other versions of Windows than I did. I promise the next version out should install correctly on Windows 98SE. (Atleast I hope)

Reply 10 of 40, by LinkDragon

User metadata
Rank Newbie
Rank
Newbie

I'm just making a wild guess..
but when I clicked the details button
for when it could not find waveforms.raw,
it said the destination was "C:\WINDOWS\SYSTEM\waveforms.raw=waveforms.raw".
I tested something by extracting only oemsetup.inf and mt32emu.dll into their own directory.
Whenever I checked the details of the other missing files,
they showed as "C:\WINDOWS\SYSTEM\DRUMPAT.ROM=drumpat.rom" and etc.
Is it possible that because the first part of the path including the file name isn't capitalized is part of the problem?
Just a wild guess on my part, but it just seemed odd to me.

Reply 12 of 40, by tordeck

User metadata
Rank Newbie
Rank
Newbie

Why is it that the driver didn't show in the midi properties page of WIN98SE after I have installed it? I also installed it in WINXP then selecting it in the sound property sheet in the sounds and audio devices control panel. When I try to play a midi file no sound is produced. Have I done something wrong? Pls help.

Reply 14 of 40, by canadacow

User metadata
Rank Member
Rank
Member
tordeck wrote:

Why is it that the driver didn't show in the midi properties page of WIN98SE after I have installed it? I also installed it in WINXP then selecting it in the sound property sheet in the sounds and audio devices control panel. When I try to play a midi file no sound is produced. Have I done something wrong? Pls help.

It seems my driver isn't very Win98 compatible after all. I should have tested it more on that platform. I'm a little confused though, were you able to get the MIDI to play under Windows XP? Or did you just get silence under WinXP as well?

Reply 15 of 40, by Kaminari

User metadata
Rank Oldbie
Rank
Oldbie

It works fine on my Win2K SP4 setup as well. The sound's extremely choppy on my P3@667, but I guess it's normal. At least it can give you an idea of the current minimum requirements 😀

Reply 16 of 40, by tordeck

User metadata
Rank Newbie
Rank
Newbie
canadacow wrote:

It seems my driver isn't very Win98 compatible after all. I should have tested it more on that platform. I'm a little confused though, were you able to get the MIDI to play under Windows XP? Or did you just get silence under WinXP as well?

Sorry for the late reply. The midi plays fine when I select sblive's synth driver. There is sound. When I use the mt32 driver the midi plays also but I get silence. I tried to use different midi players and still no sound is produced. Then I tried dxdiag and on the music tab I selected the mt32 driver then I pressed the test button and the test went okay I heard the test midi. Why do you think dxdiag can play its test midi and produces sound while winxp cannot do the same thing?

Reply 18 of 40, by canadacow

User metadata
Rank Member
Rank
Member
Fop wrote:

Wow... I don't know why, but everything seems to sound better on the win driver. I haven't even noticed anything being out of tune.

Thanks for compliment but sure there's still some stuff out of tune. I've also noticed that sometimes channels go missing (apparently windows doesn't think the driver can handle it). But what you may be hearing is that I have it mixing at 44100hz where as in DosBox it was mixing at 32000hz. Right now I'm working on a properties page so people can adjust the sampling rate for CPU consumption purposes.

Reply 19 of 40, by canadacow

User metadata
Rank Member
Rank
Member
Kaminari wrote:

It works fine on my Win2K SP4 setup as well. The sound's extremely choppy on my P3@667, but I guess it's normal. At least it can give you an idea of the current minimum requirements 😀

No problem.. I'm working now on making the sampling rate configurable so you'll be able to listen to it without choppiness.