• Please review our updated Terms and Rules here

Windows 3.1 drivers for newer hardware

I remember the Ensoniq AudioPCI having a TSR that made it (mostly) work in DOS, though I haven't seen one in years, so my memory is faulty.

As for Windows 3.1 itself, as far as I know it doesn't have any timing-related issues (like Windows 95 does), and it doesn't make any unusual demands on the hardware like OS/2 2.0/Warp did. It should run just fine even on a fairly new Core i processor (I have a Sandy Bridge laptop here I can try it on, just to be sure), but the real problem will be getting the video going. Most of the vendors that supported Windows 3.1 stopped doing so after Windows 95 came out, and many of the ones that supported it back in the day (such as S3, Video 7, Cirrus, etc) are either gone or no longer making video ICs. (ATI is still around, but a modern Radeon is'nt going to be much help on a system that supported the early Mach64 chips at most.)

I seem to remember there being a generic VESA driver for WIndows 98, for use in VirtualBox and other situations where card-specific Windows drivers weren't available. I don't know if anything like that existed for Windows 3.1.
 
I remember the Ensoniq AudioPCI having a TSR that made it (mostly) work in DOS, though I haven't seen one in years, so my memory is faulty.
Yep, we had one in our first PC (a PII-233 running Windows 95.) For the most part it did work, though compatibility was iffy on some of the more tricksy games, and the OPL2 emulation was laughably wretched...
 
Glad to hear that you still have a sense of Adventure, Chuck(G).
I wish you luck with your programming projects.

Lee4hmz, These are [drivers] wave. Special video drivers are not required.
Media Player 5.2 beta,MOD4WIN 2.40,or Winplay3 might be of more help.

As far as I know, Windows 3.1 lacks a universal VESA (4-F flat footed) driver.
I have written no display drivers. If you find any new ones,please let me know.
 
No luck with the HD Audio driver on a Dell Inspiron e1705 with Intel ICH7. No EMM386 and HIMEMX loaded with more than 65MB.

Any reason these are written in Pascal? The driver source is.... interesting to say the least. Whats all the DPMI stuff about?
 
Thank you for testing the high definition audio driver, njroadfan.
Sorry, none of my DELL HDA boards are working either. (E310,E510,570,etc...)
Does MPXPLAY DOS or JUDAS work on that Dell Inspiron e1705?

The HDA driver was created on an emachines W3644 (MCP61);
Two of my other motherboards(the Sabertooth X58(ICH10) and the NFORCE4 (AMD) ) also produce sound.
All of computers that have worked had Realtek HDA.

Pascal seems to work ok.
Would you prefer or recommend a different compiler/language?

PCI devices usually map their memory onto addresses in the 2gb to 4gb range.
DPMI is used to create 16-bit pointers to 32-bit memory locations. (access of all 4gb of memory)


Many thanks to those DOS programmers who did all the work. (JDS210C.ZIP)
 
I'll have to check. The codec is listed as a SigmaTel C-Major series which is shared with the Dimension E520 (which I also happen to own).

Pascal is an odd choice for driver development. Usually they are written in C or ASM.
 
Thank you, njroadfan.
Yes, Mine has some sort of a stac9220.
If I recall properly, pin sense and presence detect are working ,the beeper node makes noise, and DMA looks ok.


Thank you for your advise.
What is your choice of compilers when writing 16-bit standard mode drivers?
Where can I find those open source windows 3.1 sound driver examples?
 
Last edited:
You are more than welcome, stangman517.
Were you and your people wanting to know of a win3.1 program that lists PCI devices?
Or... Perhaps.. your group was wanting to see a program that lists HDA devices and nodes?

What exactly is it that your people would like Win3.1 to see?
 
Walters_world You have blown me away!

I had this old netbook lying around, and for the fun of it I installed DOS 7.1 on it and mpxplay to play my music collection.

Then for the hell of it I installed Windows 3.1, tried the HDA drivers for it and WORKS PERFECTLY!

I am delighted with this, as its a new lease of life for this little thing - YOU SIR ARE A LEGEND!

I would be very excited to see if there was some kind emulation for DOS mode, so I could play some dos games with sound, Its great to see people like you doing this, thanks again!
 
Last edited:
Aaronwhooley, what driver version did you find was working on the netbook?

DOS games use a rather wide variety of audio standards.
Which DOS games were you thinking of?

I'm ok with mythical legend. It sure beats being extinct.
 
It is a simple midi driver that plays music with the PC speaker.
http://turkeys4me.byethost4.com/files/SMIDIDR3.7z
OK, installed it in a fresh install of Windows 3.1, ran Media Player, loaded some .MID file, and:
"The current MIDI Mapper setup refers to a MIDI device that is not installed on the system. Use MIDI Mapper to edit the setup."
So I tried with "Ad Lib" and "General MIDI" setups, but neither seems to work.
Any advice?
 
You can either edit one of the current midi setups or create a new one.
When you edit a midi setup, you must select a midi driver for each MIDI channel you want to hear and then enable that channel.
 
OK, got it working.
Only tried CANYON.MID as of yet - sounds very bad.
Oh well, can't expect a single-voice, single-instrument, fixed-volume synth to play MIDI with decent quality...
 
That was the first midi driver I had ever written at the time. :(
Xacalite, it sounds like you know a lot about MIDI.
Please feel free to point out any mistakes that I have made in designing my drivers.
 
Please feel free to point out any mistakes that I have made in designing my drivers.
First and foremost, they could use better documentation.

I was using Windows 3.1 with various sound cards, and never had to edit MIDI setups.
If it's possible to do this automatically via OEMSETUP.INF, then it should be done automatically, if not - the procedure should be described in README.TXT

I also tried WMidi, and encountered installation problems as well - WMIDI.DLL is not in the same directory as OEMSETUP.INF, so I had to search, and found it in the last directory where I would search for a ready-to-use program - "SRC".
Then I ran "WMIDRUN.EXE", but didn't know what to do next - again, it would be nice to have it all written in README.TXT

As for the poor playback quality of SMidi - I'm not sure if it's possible to do it better.
Yes, one can implement a software wavetable synth - but it would probably require a faster CPU than those typically found in Windows 3.1 machines. Hmm, is it possible to couple Wmidi with SPEAKER.DRV?
There were also some techniques for polyphony on a PC Speaker - it can't play more than one note at a time, but it's possible to quickly alternate between several notes. I'm wondering if it would be possible to implement such a technique in Windows...
 
Back
Top