VOGONS


FreeDOS and Windows 3.X in 386 mode...???

Topic actions

First post, by Lualb

User metadata
Rank Newbie
Rank
Newbie

Hi, I'd like to ask you something about this operating system... I've been seeing in some posts that FreeDOS memory managers don't support GEMMIS, and according to the developers, they have no intention of implementing it. So, how could I get Windows 3.1x to work in 386 mode on FreeDOS?
I understand that they released a separate patch for compatibility, but why don't they patch it directly to their official versions and provide full support for Windows 3.1X in 386 mode? I look forward to your responses, and thank you.

Reply 1 of 38, by Grzyb

User metadata
Rank l33t
Rank
l33t

386MAX recently got GPLed - perhaps it can replace the FreeDOS EMM ?

Kiełbasa smakuje najlepiej, gdy przysmażysz ją laserem!

Reply 2 of 38, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

It's my understanding that freedos' kernel cant work with 3.1(1) in 386 enhanced mode.

SvarDOS' progenitor, DrDOS, however, is able to do so and is also free.

That plus 386max might get you over the finish line with free software?

Reply 3 of 38, by Lualb

User metadata
Rank Newbie
Rank
Newbie
Grzyb wrote on 2025-05-23, 14:53:

386MAX recently got GPLed - perhaps it can replace the FreeDOS EMM ?

Hello!... Yes, maybe it can work by replacing the default EMM memory to 386MAX, and "some" extra settings

Reply 4 of 38, by Lualb

User metadata
Rank Newbie
Rank
Newbie
wierd_w wrote on 2025-05-23, 14:58:

It's my understanding that freedos' kernel cant work with 3.1(1) in 386 enhanced mode.

SvarDOS' progenitor, DrDOS, however, is able to do so and is also free.

That plus 386max might get you over the finish line with free software?

Hello!... I've been researching SvarDOS, and I think I'll try it on a USB stick, but I'd like it to have support for FAT32.

Reply 5 of 38, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Lualb wrote on 2025-05-23, 14:33:

but why don't they patch it directly to their official versions and provide full support for Windows 3.1X in 386 mode? I look forward to your responses, and thank you.

If I'd be cynical, I'd say that I think it's because these devs are grumpy old men in their 50s or 60s who just don’t like supporting Windows.
But in reality, that's probably just half the story.
Back in the 90s, PTS/Paragon DOS had its issues with Windows, too.
There was a compatibility setting in the config.sys that allowed running Windows at cost of performance etc.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 6 of 38, by Lualb

User metadata
Rank Newbie
Rank
Newbie
Jo22 wrote on 2025-05-23, 16:05:
If I'd be cynical, I'd say that I think it's because these devs are grumpy old men in their 50s or 60s who just don’t like suppo […]
Show full quote
Lualb wrote on 2025-05-23, 14:33:

but why don't they patch it directly to their official versions and provide full support for Windows 3.1X in 386 mode? I look forward to your responses, and thank you.

If I'd be cynical, I'd say that I think it's because these devs are grumpy old men in their 50s or 60s who just don’t like supporting Windows.
But in reality, that's probably just half the story.
Back in the 90s, PTS/Paragon DOS had its issues with Windows, too.
There was a compatibility setting in the config.sys that allowed running Windows at cost of performance etc.

Oh wow, you're right, haha, old developers and their tricks. Anyway, I'll keep trying, since I'm a big fan of Windows 3.1X to this day !

Reply 7 of 38, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Lualb wrote on 2025-05-23, 16:59:

Oh wow, you're right, haha, old developers and their tricks. Anyway, I'll keep trying, since I'm a big fan of Windows 3.1X to this day !

Hi there, me too! I like Windows 3.1, it's what I had running on my hot-rod 286 PC in mid-90s.

It was a 12 MHz model, ATI VGA Wonder, 4MB RAM, 80MB Conner HDD, 3,5" floppy, ProAudioSpectrum 16 with SCSI CD-ROM drive (Sony),
a handy scanner, HP LaserJet Plus, 33k6 Creatix modem, Genius mouse..

I also had a radio receiver for a time signal station (DCF-77) that connected to serial port. The magic wasin the software, though.
The receiver dongle was just receiving the pulses from the radio signal and passing it to a serial port pin.

Anyway, it was interesting to run the DOS application and see the decoding happen (there was a test program).
Windows 3.1 software was included, too. Here's an example of such a dongle:
https://www.youtube.com/watch?v=0JU_Ufovf9w
https://www.youtube.com/watch?v=vzUTV66A_V8

My copy of Windows 3.1 was running in Standard-Mode all the time, of course.
So no 386 Enhanced-Mode fun, sadly. DOS was MS-DOS 6.20..

But back to FreeDOS. I think you can use Himem.sys/EMM386 that comes with Windows 3.1x.
I know it's not ideal, but it's a workaround. Maybe they can be added to FreeDOS start-up menu.
The only important thing is using a FreeDOS kernal that's okay with Windows 386 Enhanced-Mode.

PS: Back in the 90s, when OS/2 was being advertised on TV, the host/moderator said that Novell DOS 7 is a fine DOS he likes.
And I think that wasn't a lie, he could have advertised IBM's own PC DOS 7 instead, but didn't.

Novell DOS 7 had great multitasking and memory managment (32-Bit multitasker; supported by PC GEOS).
It also had built-in networking (DOS/Windows 3.1) since it was 1994 and Novell had to compete with Windows for Workgroups.

So I think that DR DOS, which Novell DOS was based on, isn’t bad.
It's worth a try. Maybe to "borrow" parts of it or use it as a basis for DOS applications.
Unfortunately, I haven't really used later DR DOS myself yet. I once had a demo, though, Caldera DOS.

PS: PTS-DOS or Paragon DOS has a simple network driver for Windows 3.1x included.
It's not the best (stability issues), but maybe "fun" to play with.
In an emulator with a virtual network, at least.

PS: Using 386Max isn't bad, either, I think.
The commercial memory managers supported most if not all of the standards.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 8 of 38, by eM-!3

User metadata
Rank Newbie
Rank
Newbie
Jo22 wrote on 2025-05-23, 16:05:

If I'd be cynical, I'd say that I think it's because these devs are grumpy old men in their 50s or 60s who just don’t like supporting Windows.

It's true. Still after many years they finally announced that they are aiming for Windows compatibility in next version. Problem is that they don't have enough devs who can do low level stuff. If you look at FreeDOS history you will notice most of the software were developed by people who are not involved anymore. Many of them weren't involved in this project at all but due to open source license their software became part of FreeDOS.

Reply 9 of 38, by digger

User metadata
Rank Oldbie
Rank
Oldbie

As I understand it, two things are currently missing that would make Windows 3.x in 386 Enhanced Mode a completely seamless experience on FreeDOS out-of-the-box:

  • A build of the FreeDOS kernel that was compiled with the WIN31SUPPORT flag enabled (apparently this is still not done by default for the downloadable FreeDOS distribution)
  • Support for the GEMMIS protocol in Jemm, see https://github.com/Baron-von-Riedesel/Jemm/issues/5

There's also the matter of suboptimal performance when Windows 3.x in 386 Enhanced Mode runs on a FAT32 partition, but that issue goes beyond just FreeDOS.

So am I correct in understanding that the WIN31SUPPORT flag will finally be flipped on by default for the upcoming FreeDOS release?

In the case of GEMMIS support, either someone knowledgeable needs to create a Pull Request for this in the Jemm project on GitHub, or someone needs to convince Baron von Riedesel to add this support.

From what you can read in the GitHub thread linked above, he has until now been skeptical about adding it.

Oh, and if your goal is to run Windows 3.1 on a system with a graphics card that is too new to have native Windows 3.x drivers available for it, be sure to use the excellent new vbesvga driver by PluMGMK. Unlike the generic SVGA driver with the old VBE patch, this newer driver has suppport for higher color modes, as well as other features and improvements.

Reply 10 of 38, by Lualb

User metadata
Rank Newbie
Rank
Newbie
Jo22 wrote on 2025-05-24, 04:52:
Hi there, me too! I like Windows 3.1, it's what I had running on my hot-rod 286 PC in mid-90s. […]
Show full quote
Lualb wrote on 2025-05-23, 16:59:

Oh wow, you're right, haha, old developers and their tricks. Anyway, I'll keep trying, since I'm a big fan of Windows 3.1X to this day !

Hi there, me too! I like Windows 3.1, it's what I had running on my hot-rod 286 PC in mid-90s.

It was a 12 MHz model, ATI VGA Wonder, 4MB RAM, 80MB Conner HDD, 3,5" floppy, ProAudioSpectrum 16 with SCSI CD-ROM drive (Sony),
a handy scanner, HP LaserJet Plus, 33k6 Creatix modem, Genius mouse..

I also had a radio receiver for a time signal station (DCF-77) that connected to serial port. The magic wasin the software, though.
The receiver dongle was just receiving the pulses from the radio signal and passing it to a serial port pin.

Anyway, it was interesting to run the DOS application and see the decoding happen (there was a test program).
Windows 3.1 software was included, too. Here's an example of such a dongle:
https://www.youtube.com/watch?v=0JU_Ufovf9w
https://www.youtube.com/watch?v=vzUTV66A_V8

My copy of Windows 3.1 was running in Standard-Mode all the time, of course.
So no 386 Enhanced-Mode fun, sadly. DOS was MS-DOS 6.20..

But back to FreeDOS. I think you can use Himem.sys/EMM386 that comes with Windows 3.1x.
I know it's not ideal, but it's a workaround. Maybe they can be added to FreeDOS start-up menu.
The only important thing is using a FreeDOS kernal that's okay with Windows 386 Enhanced-Mode.

PS: Back in the 90s, when OS/2 was being advertised on TV, the host/moderator said that Novell DOS 7 is a fine DOS he likes.
And I think that wasn't a lie, he could have advertised IBM's own PC DOS 7 instead, but didn't.

Novell DOS 7 had great multitasking and memory managment (32-Bit multitasker; supported by PC GEOS).
It also had built-in networking (DOS/Windows 3.1) since it was 1994 and Novell had to compete with Windows for Workgroups.

So I think that DR DOS, which Novell DOS was based on, isn’t bad.
It's worth a try. Maybe to "borrow" parts of it or use it as a basis for DOS applications.
Unfortunately, I haven't really used later DR DOS myself yet. I once had a demo, though, Caldera DOS.

PS: PTS-DOS or Paragon DOS has a simple network driver for Windows 3.1x included.
It's not the best (stability issues), but maybe "fun" to play with.
In an emulator with a virtual network, at least.

PS: Using 386Max isn't bad, either, I think.
The commercial memory managers supported most if not all of the standards.

Great, the truth is that to this day I am fascinated by the design of Win3.1 (buttons, dialog boxes, etc.) I find it something very strange and fascinating. Imagine what you could do if you installed the Win32s subsystem, such as running the Win32 fork of PuTTTy, or browsing the Web with support for Https, all in Win3.1.

Reply 11 of 38, by Lualb

User metadata
Rank Newbie
Rank
Newbie
digger wrote on 2025-05-24, 11:35:
As I understand it, two things are currently missing that would make Windows 3.x in 386 Enhanced Mode a completely seamless expe […]
Show full quote

As I understand it, two things are currently missing that would make Windows 3.x in 386 Enhanced Mode a completely seamless experience on FreeDOS out-of-the-box:

  • A build of the FreeDOS kernel that was compiled with the WIN31SUPPORT flag enabled (apparently this is still not done by default for the downloadable FreeDOS distribution)
  • Support for the GEMMIS protocol in Jemm, see https://github.com/Baron-von-Riedesel/Jemm/issues/5

There's also the matter of suboptimal performance when Windows 3.x in 386 Enhanced Mode runs on a FAT32 partition, but that issue goes beyond just FreeDOS.

So am I correct in understanding that the WIN31SUPPORT flag will finally be flipped on by default for the upcoming FreeDOS release?

In the case of GEMMIS support, either someone knowledgeable needs to create a Pull Request for this in the Jemm project on GitHub, or someone needs to convince Baron von Riedesel to add this support.

From what you can read in the GitHub thread linked above, he has until now been skeptical about adding it.

Oh, and if your goal is to run Windows 3.1 on a system with a graphics card that is too new to have native Windows 3.x drivers available for it, be sure to use the excellent new vbesvga driver by PluMGMK. Unlike the generic SVGA driver with the old VBE patch, this newer driver has suppport for higher color modes, as well as other features and improvements.

Hey bro, that's good news! If that happens, I'll immediately replace DOS 7.1 with the upcoming new version of FreeDOS

Reply 12 of 38, by Grzyb

User metadata
Rank l33t
Rank
l33t
Lualb wrote on 2025-05-24, 15:13:

Great, the truth is that to this day I am fascinated by the design of Win3.1 (buttons, dialog boxes, etc.) I find it something very strange and fascinating. Imagine what you could do if you installed the Win32s subsystem, such as running the Win32 fork of PuTTTy, or browsing the Web with support for Https, all in Win3.1.

If you like Windows 3.1 for its look&feel, try the NT 3.51 - same look&feel, and more Win32 than just Win32s.

Kiełbasa smakuje najlepiej, gdy przysmażysz ją laserem!

Reply 13 of 38, by Lualb

User metadata
Rank Newbie
Rank
Newbie
Grzyb wrote on 2025-05-24, 15:26:
Lualb wrote on 2025-05-24, 15:13:

Great, the truth is that to this day I am fascinated by the design of Win3.1 (buttons, dialog boxes, etc.) I find it something very strange and fascinating. Imagine what you could do if you installed the Win32s subsystem, such as running the Win32 fork of PuTTTy, or browsing the Web with support for Https, all in Win3.1.

If you like Windows 3.1 for its look&feel, try the NT 3.51 - same look&feel, and more Win32 than just Win32s.

Yes, I already ran it in a virtual machine, and it is more complicated than running DOS and Win3x, on a USB stick, all configured to be executed when the PC starts up.

Reply 14 of 38, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Grzyb wrote on 2025-05-24, 15:26:
Lualb wrote on 2025-05-24, 15:13:

Great, the truth is that to this day I am fascinated by the design of Win3.1 (buttons, dialog boxes, etc.) I find it something very strange and fascinating. Imagine what you could do if you installed the Win32s subsystem, such as running the Win32 fork of PuTTTy, or browsing the Web with support for Https, all in Win3.1.

If you like Windows 3.1 for its look&feel, try the NT 3.51 - same look&feel, and more Win32 than just Win32s.

OS/2 1.3 has same GUI, by the way! 😀
With WLO runtime it even has the Windows 3.0 applets!

Btw, on Unix, MOTIF and CDE have similar design.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 15 of 38, by eM-!3

User metadata
Rank Newbie
Rank
Newbie

For me main appeal of DOS + Windows 3.11 is instant boot time. I never used Windows NT 3.5 and don't remember OS/2 after almost 30 years since I was using it. Don't think they can compete in boot time.

Reply 16 of 38, by Baron von Riedesel

User metadata
Rank Member
Rank
Member
digger wrote on 2025-05-24, 11:35:

In the case of GEMMIS support, either someone knowledgeable needs to create a Pull Request for this in the Jemm project on GitHub, or someone needs to convince Baron von Riedesel to add this support.

Unlikely. Despite definitely being a grumpy old man ( 😀 ) I like Win3.1 a lot, but I always run it in Standard Mode (using HDPMI16i and MS-DOS). That provides GB of free memory for Windows and allows me to run Win32 console apps (using HX) in DOS-Boxes, something pretty impossible with Win3.1 in Enhanced Mode.

digger wrote on 2025-05-24, 11:35:

Oh, and if your goal is to run Windows 3.1 on a system with a graphics card that is too new to have native Windows 3.x drivers available for it, be sure to use the excellent new vbesvga driver by PluMGMK. Unlike the generic SVGA driver with the old VBE patch, this newer driver has suppport for higher color modes, as well as other features and improvements.

This driver is indeed excellent now.

A little extra goody for "new" machines: Win3.1 may accept the SB emulation of VSBHDA; the Creative drivers won't work, but the MS drivers ( msadlib.drv and sndblst2.drv ) may accept the emulation. You'll have to add in system.ini:

[drivers]
timer=timer.drv
midimapper=midimap.drv
wave=sndblst2.drv
midi=msadlib.drv

[sndblst.drv]
MIDIPort=330
DmaChannel=1
Int=5
Port=220
VerifyInt=0

The important thing is the "VerifyInt=0" setting. You'll get SoundBlaster mono sound only, but it's still better than the speaker.

Reply 17 of 38, by Lualb

User metadata
Rank Newbie
Rank
Newbie
Baron von Riedesel wrote on 2025-05-25, 13:45:
Unlikely. Despite definitely being a grumpy old man ( :) ) I like Win3.1 a lot, but I always run it in Standard Mode (using HDPM […]
Show full quote
digger wrote on 2025-05-24, 11:35:

In the case of GEMMIS support, either someone knowledgeable needs to create a Pull Request for this in the Jemm project on GitHub, or someone needs to convince Baron von Riedesel to add this support.

Unlikely. Despite definitely being a grumpy old man ( 😀 ) I like Win3.1 a lot, but I always run it in Standard Mode (using HDPMI16i and MS-DOS). That provides GB of free memory for Windows and allows me to run Win32 console apps (using HX) in DOS-Boxes, something pretty impossible with Win3.1 in Enhanced Mode.

digger wrote on 2025-05-24, 11:35:

Oh, and if your goal is to run Windows 3.1 on a system with a graphics card that is too new to have native Windows 3.x drivers available for it, be sure to use the excellent new vbesvga driver by PluMGMK. Unlike the generic SVGA driver with the old VBE patch, this newer driver has suppport for higher color modes, as well as other features and improvements.

This driver is indeed excellent now.

A little extra goody for "new" machines: Win3.1 may accept the SB emulation of VSBHDA; the Creative drivers won't work, but the MS drivers ( msadlib.drv and sndblst2.drv ) may accept the emulation. You'll have to add in system.ini:

[drivers]
timer=timer.drv
midimapper=midimap.drv
wave=sndblst2.drv
midi=msadlib.drv

[sndblst.drv]
MIDIPort=330
DmaChannel=1
Int=5
Port=220
VerifyInt=0

The important thing is the "VerifyInt=0" setting. You'll get SoundBlaster mono sound only, but it's still better than the speaker.

Oh wow, what great news, so now I can finally have sound in Win3x, this is just great!

Reply 18 of 38, by digger

User metadata
Rank Oldbie
Rank
Oldbie
Baron von Riedesel wrote on 2025-05-25, 13:45:

Unlikely. Despite definitely being a grumpy old man ( 😀 ) I like Win3.1 a lot, but I always run it in Standard Mode (using HDPMI16i and MS-DOS). That provides GB of free memory for Windows and allows me to run Win32 console apps (using HX) in DOS-Boxes, something pretty impossible with Win3.1 in Enhanced Mode.

Thanks for chiming in. I wouldn't dare call you grumpy. 😇

Setting aside the debate on whether or not it would be worth the effort to implement, how much effort do you reckon it would take? It's mainly about conforming to certain expected memory structures and implementing some kind of EMM handover API, right?

A little extra goody for "new" machines: Win3.1 may accept the SB emulation of VSBHDA; [..]

Really cool! Thanks for sharing that tidbit. Even if the development of actual native Windows 3.1 drivers for HDA and other modern sound devices would be preferable, it's great to at least have this as a fallback. This would likely not work in 386 Enhanced Mode either, right?

Reply 19 of 38, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Windows will not permit a foreign DPMI server to rule instead of using its own. For this reason alone, protected mode wont happen. There are likely numerous others.