Page 1 of 1

SB16 MIDI in Windows ME

Posted: Fri 16 Feb, 2018 6:41 pm
by Shoegazer
Hello, I've encountered some weirdness with the Sound Blaster 16 in Windows ME. Specifically, games such as DOS Prince of Persia will not play any MIDI music (such as the intro theme) no matter how PCem is configured. I've also tried changing the WinME "MIDI Music Playback Device" setting, changing the "SET BLASTER" environment variable to different ports and IRQs, but no matter what I do, I get no MIDI music even though the digital effects play. However, Windows 98SE will play MIDI AND digital just fine. I'm not quite sure if this is due to PCem or Windows itself, but I'm curious if anyone here can confirm that such an issue exists on real WinME?


Re: SB16 MIDI in Windows ME

Posted: Fri 16 Feb, 2018 6:59 pm
by grommit2007
Windows ME's support for DOS applications is rather shaky compared to Windows 95 or 98 (and it does not have support for Real Mode DOS), so I would recommend you use either Windows 95 or 98 for using DOS applications, as they both have support for Real Mode DOS and DOS box support.

Re: SB16 MIDI in Windows ME

Posted: Fri 16 Feb, 2018 11:00 pm
by Shoegazer
Yes I realize that, however I don't think WinME's poor DOS support goes much further than its lack of Real Mode DOS. In other words, I don't believe running DOS games inside Win98 or WinME would be much different. Of course, you might be right and I may be completely off base with my theory - so I'm asking anyone with the means to confirm this particular issue I encountered is due to WinME itself or otherwise something with PCem. It's easy enough to test.

Re: SB16 MIDI in Windows ME

Posted: Tue 20 Feb, 2018 10:55 pm
by Shoegazer
Okay, I've done some more testing with this. I looked at the default BLASTER environment variables for Win98 vs. WinME, and here's what I saw:

Win98SE: BLASTER=A220 I7 D1 H5 P330 T6
WinME: BLASTER=A220 I5 D1 T4 P330

I then noticed no BLASTER line in WinME's autoexec.bat (so where was it being set, I still wonder?). So I added a BLASTER line to match Win98's, and rebooted. Strangely, Prince of Persia music started playing, but this time the sound effects did not play in their digital form (they were likely MIDI sounds playing) despite the fact that the sound effects play digitally if I do not set a BLASTER line.

This does seem to be an issue with WinME after all since the game plays both MIDI and digital effects just fine with the same BLASTER setting on Win98. Again though, I could be wrong. Can anyone add their two cents to this, hopefully backed by a bit of testing? If this really IS an OS issue, could there be a better BLASTER setting to use with WinME?

There are some features of WinME I like, so I'd rather use that OS vs. Win98 if this sound issue could only be worked out. Thanks!

Update: I also noticed that when there's no BLASTER line in WinME's autoexec.bat (from a default WinME install), POP music does not play, but digital effects do. However, if I type "set" I notice there IS a BLASTER variable there, as noted above. If I then manually add the BLASTER line into autoexec.bat and reboot, I get no sound OR music. Anyone have a clue what's causing this problem? It's very odd, and again I'm back to thinking this is a PCem issue.

Re: SB16 MIDI in Windows ME

Posted: Wed 21 Feb, 2018 2:25 am
by leilei
WinME always ate the autoexec.bat in a desperate attempt to remove all real-mode drivers and enforce WDM. This also affects SB16 emulation TSRs on the SB Live for example
I believe environment variables are set elsewhere iirc (msconfig?)

Re: SB16 MIDI in Windows ME

Posted: Wed 21 Feb, 2018 2:32 am
by Shoegazer
Thanks for your reply. You reminded me to check into something else: In WinME I went to device manager > SB16 > resources and noticed that the IRQ was set to 7, even though the BLASTER variable as noted above sets the IRQ to 5 by default! So it can't be taking environment variables from there - so hmmm yes, elsewhere indeed... but where? And what's up with the conflict?