VOGONS


First post, by K32x86

User metadata
Rank Newbie
Rank
Newbie

Hi! First time posting here.

Many years ago I remember reading that you could run some of the applications bundled with Windows 95 in Windows 3.1x (specifically on this website: http://stephan.win31.de/w32slist.htm)

However, there weren’t any specific instructions as to how to get those applications running. So I tried to figure all this out by myself.

First, lets start with the basics. Since most of the Windows 95 applications are 32-Bit, you need to install Win32s 1.30c (i’m using the installer files from the PW1118.EXE self-extracting executable) (if you are using DosBox, make sure you have the “cputype” option set to “486_slow”, to avoid errors when running 32-bit programs).

Ok, now let’s get the first application running: WordPad. We have to obtain the executable (WORDPAD.EXE) from a RETAIL copy of Windows 95, specifically from build 4.00.950. (I extracted this file directly from WIN95_03.CAB).

If you try to run WordPad as is, it will trow this error: “File Error – Cannot find MFC30.DLL”.

The attachment noDLL.png is no longer available

In order to fix this, we need to find all of the Microsoft Foundation Class libraries:

mfc30.dll
mfcans32.dll
mfcd30.dll
mfcn30.dll
mfco30.dll
mfcuia32.dll
msvcrt20.dll

And, on top of that, we need to obtain the C Runtime DLL Version 2 (MSVCRT20.DLL)

Sure, the DLLs from Windows 95 might work, but I personally recommend getting those from the Microsoft Visual C++ 2.2 Upgrade CD, as this one contains the latest DLLs that are compatible with Win32s. In that CD in particular, the libraries can be found in the /WIN32S/REDIST/ directory.

Place the DLLs next to WORDPAD.EXE or in the WINDOWS\SYSTEM\WIN32S directory. Now, if you try running WordPad you’ll get this: “Could not load the RichEdit control DLL. The file RICHED32.DLL might be corrupt or missing”.

The attachment Riched32Error.png is no longer available

I thought this was strange, because this DLL is already present in the WIN32S directory! However... turns out that WordPad is always expecting RICHED32.DLL to be located in the SYSTEM directory and only there! All we have to do is copy the RICHED32.DLL from the WIN32S directory to the SYSTEM directory, and then…

The attachment Wordpad.png is no longer available

It works! Well for the most part… There actually few bugs that you might encounter. For some reason, if there’s a printer already installed, the ruler breaks, though it can still be useful to read RTF files.

The attachment BrokenRuler.png is no longer available

Here's the Windows 95 calculator (I extracted it from WIN95_02.CAB) It doesn’t seem to require any extra files and it seems to work perfectly.

The attachment OtherApplication.png is no longer available

And then there’s the Windows 95 Paint program (Also extracted from WIN95_02.CAB) and just like WordPad, it requires MSVCRT20 and all of the MFC* libraries. This one is a mess; it works in 16 colors only (it seems to run out of GDI objects if there are more colors available on screen), can’t open existing files, seems to mess with registry entries and forces itself as the default Paint program… It’s useless, only useful for experiments I guess.

Interestingly, all the tools work with exception of the the bezier tool. As far as I’m concerned, Win32s doesn’t actually have any bezier functionality of any kind.

I should probably experiment with the programs from the Windows 95 beta builds, those might be a bit more stable...

Reply 1 of 16, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Wow, thank you very much for this information! 😃

Win32s is very interesting, imho, and probably is the future of Windows 3.1 retro development.
Because, it allows using same code bases (DLLs, Win32 API calls, 32-Bit pointers) of projects by the Windows 9x community.
So porting of applications between both platforms might be easier.

"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 2 of 16, by K32x86

User metadata
Rank Newbie
Rank
Newbie
Jo22 wrote on 2024-06-15, 08:51:
Wow, thank you very much for this information! 😃 […]
Show full quote

Wow, thank you very much for this information! 😃

Win32s is very interesting, imho, and probably is the future of Windows 3.1 retro development.
Because, it allows using same code bases (DLLs, Win32 API calls, 32-Bit pointers) of projects by the Windows 9x community.
So porting of applications between both platforms might be easier.

Agreed, Win32s has a lot of untapped potential. I like the fact that applications tailored for Win32s tend to be highly compatible, even with modern Windows.

Though, I might also post here about a few 16-Bit applications that were meant for Windows 9x only, but with a little bit of help, are functional in Win3.1x (a got a few interesting games working...)

Reply 3 of 16, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Do you think it would be possible to get 3D Pinball Space Cadet working on Windows 3.1 with Win32s? 😄

Reply 4 of 16, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
digger wrote on 2024-06-19, 22:45:

Do you think it would be possible to get 3D Pinball Space Cadet working on Windows 3.1 with Win32s? 😄

Possibly, and I don't know if you are joking but Space Cadet was just a demo from Full Tilt! Pinball which has a legitimate 16-bit version...

Reply 5 of 16, by K32x86

User metadata
Rank Newbie
Rank
Newbie

If we are talking about "3D Pinball for Windows - Space Cadet" (the demo version) then yes!

The attachment PinbalWin32s.png is no longer available

In order to get it running, I’ve got a copy of Windows NT 4 Server (Retail - build 4.00.1381.1) from which I extracted the following files located in the I386 directory:

FONT.DAT
PINBALL.DAT
PINBALL.EXE
PINBALL.HLP
PINBALL.MID
PINBALL2.MID
wavemix.inf

There’s also all of the sound effects:

Sound Effects
SOUND1.WAV
SOUND104.WAV
SOUND105.WAV
SOUND108.WAV
SOUND111.WAV
SOUND112.WAV
SOUND12.WAV
SOUND13.WAV
SOUND131.WAV
SOUND136.WAV
SOUND14.WAV
SOUND16.WAV
SOUND17.WAV
SOUND18.WAV
SOUND181.WAV
SOUND19.WAV
SOUND20.WAV
SOUND21.WAV
SOUND22.WAV
SOUND24.WAV
SOUND240.WAV
SOUND243.WAV
SOUND25.WAV
SOUND26.WAV
SOUND27.WAV
SOUND28.WAV
SOUND29.WAV
SOUND3.WAV
SOUND30.WAV
SOUND34.WAV
SOUND35.WAV
SOUND36.WAV
SOUND38.WAV
SOUND39.WAV
SOUND4.WAV
SOUND42.WAV
SOUND43.WAV
SOUND45.WAV
SOUND49.WAV
SOUND49D.WAV
SOUND5.WAV
SOUND50.WAV
SOUND528.WAV
SOUND53.WAV
SOUND54.WAV
SOUND55.WAV
SOUND560.WAV
SOUND563.WAV
SOUND57.WAV
SOUND58.WAV
SOUND6.WAV
SOUND65.WAV
SOUND68.WAV
SOUND7.WAV
SOUND713.WAV
SOUND735.WAV
SOUND8.WAV
SOUND827.WAV
SOUND9.WAV
SOUND999.WAV

And well... this is technically not necessary, since there are already a few 16-bit builds of this game that fully support Windows 3.1x (Full Tilt! and even few betas). But it’s neat 😀

Reply 6 of 16, by digger

User metadata
Rank Oldbie
Rank
Oldbie

That's really cool! 😄

I didn't know there was also a 16-bit version of the full game, but getting the 32-bit demo version to run under Windows 3.1 is just awesome. I wonder if the 32-bitness improves the performance or the experience of the game in any way, compared to the 16-bit version.

Regardless, thanks for trying it out and sharing the results.

Reply 7 of 16, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
digger wrote on 2024-06-20, 11:15:

That's really cool! 😄

I didn't know there was also a 16-bit version of the full game, but getting the 32-bit demo version to run under Windows 3.1 is just awesome. I wonder if the 32-bitness improves the performance or the experience of the game in any way, compared to the 16-bit version.

Regardless, thanks for trying it out and sharing the results.

Another relevant The Old New Thing post: https://devblogs.microsoft.com/oldnewthing/20 … 06-00/?p=106122

Reply 8 of 16, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
jakethompson1 wrote on 2024-06-20, 18:24:

It's funny that one of the suspected causes was a compiler bug, because...
Back when XP64 came out the only readily available 64-bit compiler (for end-users) was the windows DDK, and even then the 64-bit toolchain was still considered beta. And it turned out to have a pretty nasty code generation bug when dividing signed integers by a power of two: it would generate an arithmetic right shift. It might sound like there's nothing wrong with that, until you consider: in C an integer divide operation should always round (truncate) towards zero. A shift on the other hand always rounds towards negative infinity. In case it's still not obvious what the difference is here's an example:
-1 div 2 = 0
-1 >> 1 = -1
This could cause some pretty glaring problems, particularly in recursive algorithms where a divide by two operation would be expected to converge on zero but never did...

Reply 9 of 16, by Necrodude

User metadata
Rank Member
Rank
Member

Can anyone try to run Wintune97 on Win 3.11?

If it was possible to run the program on win3.11 then we could benchmark a lot of older systems.
I have a wintune97 tread right here

Post your Wintune97 scores here!

Reply 10 of 16, by K32x86

User metadata
Rank Newbie
Rank
Newbie
Necrodude wrote on 2024-08-01, 13:33:
Can anyone try to run Wintune97 on Win 3.11? […]
Show full quote

Can anyone try to run Wintune97 on Win 3.11?

If it was possible to run the program on win3.11 then we could benchmark a lot of older systems.
I have a wintune97 tread right here

Post your Wintune97 scores here!

Ok that sounds interesting…
Trying to launch the installer just results in this (this is a clean Wfw 3.11 install):

The attachment 1.png is no longer available

The installer seems to be a 16-bit application, so I tried using this program called Lie About Windows (LIEVERSN.EXE) to make it believe that’s running under Windows 95, with this you change the minor version from “10” to “95” so that the GETVERSION function always returns “3.95” (or at least that’s how I believe it works):

The attachment 2b.png is no longer available

Lieversn: https://web.archive.org/web/20151213040539/ht … de/lieversn.exe

The attachment 3.png is no longer available

Unfortunately, the installer seems to stop halfway through just starting up, so I decided to just install the program in Windows 95 and then copy the files over to Windows for Workgroups. Just like MsPaint and WordPad, it’s a 32 bit application that requires Win32s (of course), the Microsoft Foundation Class libraries and MSVCRT20.DLL, but once you copy those files over…

The attachment 4.png is no longer available

The program seems to work well for while… Then it crashes

That’s how far I got

Reply 11 of 16, by Necrodude

User metadata
Rank Member
Rank
Member

Ok. Well It was worth a shot. Thanks for trying! 😀

It would have been awesome if it worked.

Btw. Here´s a link to my FTP. You will find my version of the program here.
It is basically the same as yours, but I added the dll:s needed to make it work on newer operating system.
You will also find my database. Is is HUUUUUUUGE.

ftp://ftpbraindrainlan.sytes.net:21005/Wintune97/

Just copy the line above and paste it in your file explorer.

I also have a benchdump link if anyone wants to submit a score.

ftp://ftpbraindrainlan.sytes.net:21005/benchdump/

Edit:

I dont have a system yet with win 3.11, witch is kinda strange since I have eight fully working 486 machines.
Anyway. Some day I will install win3.11 on one of my machines and then Im gonna try to make it work.

iLEFOhu.png

Reply 12 of 16, by arth_lud

User metadata
Rank Newbie
Rank
Newbie

Wow! Thank you very much, K32x86!

I never knew I could use WordPad in old win3.1!

Writing few things down I always loved Write but never really knew why there is no bar?

There is an app called SpellWrite for Write - it gives it an extra toolbar - it is not as usefull as wordpad is but can help a little!

The attachment spellwrite.png is no longer available

https://vetusware.com/download/SpellWrite%201.6/?id=9015

I hope someone will find it very useful in 2025!

Reply 13 of 16, by K32x86

User metadata
Rank Newbie
Rank
Newbie

I don’t know if there’s still interest on this, but in the past months I’ve done a little bit of progress with some of the Windows 95 applications:

1. First, I discovered that the bezier tool in Paint doesn’t actually work. This makes sense, since Microsoft never fully implemented the PolyBezier() function in Win32s; while the function is present in Win32s, it’s actually just a stub (in other words, it does nothing).

Instead they just told developers who wanted to target Win32s to implement the bezier function themselves… Well, at least they provided example code.

Here’s the interesting part: I was looking at with some of the files from Windows 95 build 311 and I realized that the version of Paint that comes with this beta doesn’t make use of PolyBezier():

The attachment 1_MSpaintGDI_Functions.png is no longer available

(Ms Paint from Windows Chicago on the left, Ms Paint from Windows 95 on the right)

Despite this, this beta version of Paint can draw bezier curves, so that means it must have it’s own implementation of the PolyBezier() function… And that also means…

The attachment 2_MSPaintInWin31-bezier.png is no longer available

The bezier tool works in Windows 3.1! Not only that, this version works much better under Win32s. Unlike the version shipped in the RTM release, it doesn’t destroy the registry and it works in high color modes. It still can’t open existing files though… So… I guess this remains a novelty

2. Here’s something I forgot to mention earlier; it’s possible run FONTVIEW under Win32s. This one’s bit annoying to get working because, on top of needing the MSVCRT20 and MFC30 DLLs, it also needs to be associated with .FON files to do anything at all, but that’s an easy fix, just merge a registry file with the following contents:

REGEDIT 
HKEY_CLASSES_ROOT\.FON\shell\open\command = <path to the program>\FONTVIEW.EXE %1

Then, you just double click on any .FON file and there you go:

The attachment 3_FontviewWin31.png is no longer available

But... for some unknown reason, it doesn’t work with TTF files (Not sure what’s the deal with that).

3. Now here’s something a little bit more interesting. Not all Windows 95 applications are 32-bit. So that means that there might be a few Win16 applications from Windows 95 that could work in vanilla Windows 3.1, though in practice there are very few that actually work.

If you ever installed Windows 95/98/Me, then you might or might not know that the first GUI stage uses a stripped down copy of Windows 3.1. This one is stored in MINI.CAB, which is located… somewhere in the installation CD/Floppys (I varies depending on what version of Windows 9x your are installing).

Within MINI.CAB, you can find a copy of USER.EXE. If you ever wondered what this program does, this is basically the Windows 3.1 window manager; it’s responsible for all the window properties, the windows decorations, dictates the appearance of the dialogs, and handles the window messages.

If we swap the USER.EXE from Windows 3.1 with the one from MINI.CAB, a lot of the dialogs become smaller and it forces all dialogs to use the 8pt Sans Serif font:

The attachment 4_USER-Win31vsMINI.png is no longer available

(USER.EXE from Windows 3.1 on the left, USER.EXE from MINI.CAB on the right)

I learned about this trick from this old Usenet comment

Notice how the Windows version changes depending on what copy of USER.EXE is being used.

In Raymond Chen’s blog, he mentioned that they also made an special version of the common controls library (COMMCTRL.DLL) for the MINI.CAB environment. The special DLL in question has a different name (KOMMCTRL.DLL) and it’s stored in PRECOPY1.CAB. I tried to get it working with the Windows for Workgroups File Manager by renaming it to COMMCRTL.DLL and replacing the original DLL, but It refused to work (it displays "This application requires a newer version of Windows"). I had already tried faking the Windows version with LIEVERSN without success, so there’s probably something else going on. It seems that getting this DLL to work might not be as straight forward as I initially thought.

4. On the topic of Win16 applications, Internet Explorer 5 for 16 bit Windows has a built in registry editor (REGEDT16.EXE), similar to the one bundled in Windows 95:

The attachment 6_regedit.png is no longer available

If you wanted to use this registry editor without having to install the entirety of Internet Explorer 5, you’ll have to extract regedt16.exe, comclt16.dll and win16x.dll from IECORE.CAB then place all 3 files in the %WINDIR%\SYSTEM directory. Lastly, you will need to have OLE2 installed, which comes bundled with Win32s and Video For Windows. If you didn’t want to install Win32s or Vfw, you could try the standalone OLE 2 installer

arth_lud wrote on 2025-04-14, 12:55:
There is an app called SpellWrite for Write - it gives it an extra toolbar - it is not as usefull as wordpad is but can help a l […]
Show full quote

There is an app called SpellWrite for Write - it gives it an extra toolbar - it is not as usefull as wordpad is but can help a little!

The attachment spellwrite.png is no longer available

https://vetusware.com/download/SpellWrite%201.6/?id=9015

I hope someone will find it very useful in 2025!

I wasn’t aware of this neat little program. Thanks!

Reply 14 of 16, by Jo22

User metadata
Rank l33t++
Rank
l33t++
K32x86 wrote on 2025-08-03, 00:53:

I don’t know if there’s still interest on this

Sure there is! 😃
It's always fascinating to see how far Windows 3.x can really go!

"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 16, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie

The one time I ever DoubleSpace compressed a hard drive in Windows 95, which was in the 90s, I vaguely remember it rebooting into a Windows 95 Setup-like UI after compressing in order to defragment the drive. I suppose that was MINI.CAB also? Anyone bothered with this within the past two decades or so?

Reply 16 of 16, by K32x86

User metadata
Rank Newbie
Rank
Newbie
jakethompson1 wrote on 2025-08-03, 02:41:

The one time I ever DoubleSpace compressed a hard drive in Windows 95, which was in the 90s, I vaguely remember it rebooting into a Windows 95 Setup-like UI after compressing in order to defragment the drive. I suppose that was MINI.CAB also? Anyone bothered with this within the past two decades or so?

A quick search on APPLETS.INF from PRECOPY.CAB shows that MINI.CAB is in fact a required component for DriveSpace (It gets copied to the SYSTEM directory)

The attachment applets.png is no longer available

I tried DoubleSpace to compress the C: drive

The attachment driveInUse.png is no longer available

"Special Operating Mode", huh...

The attachment drvspace.png is no longer available

Yep, that just MINI.CAB. But how does it get deployed?

Right after the "Drive In Use" dialog showed up, at the root of the C: drive, there was a new directory called FAILSAFE.DRV

The attachment failsafe.png is no longer available

A file called RESTART.DRV appears on the root of C:\.
The contents of the AUTOEXEC.BAT get replaced with this:

@echo off
C:
CD \FAILSAFE.DRV\FAILSAFE
.\DOSX

There were also changes in CONFIG.SYS.
Here is before running DriveSpace:

DEVICE=C:\WINDOWS\SETVER.EXE
DEVICE=C:\WINDOWS\HIMEM.SYS
DOS=HIGH

After the "Drive In Use" dialog appears:

DEVICE=C:\FAILSAFE.DRV\WINDOWS\HIMEM.SYS
DEVICE=C:\FAILSAFE.DRV\WINDOWS\IFSHLP.SYS
DEVICE=C:\FAILSAFE.DRV\WINDOWS\DBLBUFF.SYS
DEVICE=C:\FAILSAFE.DRV\WINDOWS\SETVER.EXE
REM DEVICE=C:\WINDOWS\SETVER.EXE
REM DEVICE=C:\WINDOWS\HIMEM.SYS
DOS=HIGH

DEVICEHIGH/L:0=C:\FAILSAFE.DRV\COMMAND\DRVSPACE.SYS /MOVE
SHELL=C:\COMMAND.COM C:\ /P

The C:\FAILSAFE.DRV\FAILSAFE folder contains the Mini Windows 3 environment, with a few changes: There are two files not included in MINI.CAB (D31FRAG.EXE and W31SPACE.EXE). In the Mini Windows SYSTEM.INI, the shell= line is set to W31SPACE.EXE instead of WINSETUP.BIN (even tough the Windows 95 setup program uses the BIN extension, is just a typical Win16 NE Executable)

Right after the FAILSAFE.DRV directory is created, the copy of MINI.CAB located in the SYSTEM directory gets deleted.
The C:\FAILSAFE.DRV\WINDOWS has a bunch of drivers (I recognize HIMEM.SYS, IFHLP.SYS and SETVER, not sure what's the purpose of DBLBUFF.SYS), C:\FAILSAFE.DRV\WINDOWS has DRVSPACE.SYS.

Here's my guess as to what's going to happen:
1. On the next reboot, AUTOEXEC.BAT calls DOSX.EXE (this is the Standard Mode DOS Extender, it starts the the Mini Windows environment if called directly)
2. Mini Windows loads W31SPACE.EXE as the shell, which compresses everything into C:\DBLSPACE.000 (exluding C:\FAILSAFE.DRV, essential DOS components and drivers).
3. FAILSAFE.DRV directory must then remain in the host drive indefinitely. Since Windows 95 is compressed within DBLSPACE.000, something else has to do the decompression if the user wants to undo the whole thing.

I wonder if the Defraging Tool (D31FRAG) would be of any usage on an actual Windows 3.1 install, but I'm not sure if it will play well with Enhanced Mode, or 32-Bit File/Disk Access.

Jo22 wrote on 2025-08-03, 02:34:
K32x86 wrote on 2025-08-03, 00:53:

I don’t know if there’s still interest on this

Sure there is! 😃
It's always fascinating to see how far Windows 3.x can really go!

I'll come back with more then, there's definitely a lot more to explore!