CREEPINGNET'S WORLD
THE CREEPINGNET GUIDE TO WINDOWS 3.1X (+FOR WORKGROUPS)
Why I'm writing this, despite there beng a TON of info still availible on the web, and a ton of information in the files contained therin the O/S itself, is because it's 2022, and one of the most important things is CONTEXT. See, Windows 3.1x was released in a time when the context of computing and the platforms it ran on was a lot different. A time before the Binary registry being a big part of the picture, or before Group Policy was some huge thing, or before encrypted non-plaintext passwords to third party SMB hosts, and before there was an IPv6. There's so much stuff that when put into present-day context, people either would get confused, struggle to remember, or just struggle to undersrand why it matters at all. That's why I created this page. I have been a Windows 3.1x user since 1992, and a power-user since 2001. I have probably wrangled more out of this O/S than Bill Gates could ever have dreamed to have, as I was using it like a surrogate for Windows XP back then, in conjunction with DOS. Today, a lot of people love tot talk crap about it, or say it can't do this and can't do that, but the truth of the matter is, it's capabilities are, to a point, only as good as the person using it.
Introduction to Windows 3.1x
Microsoft Windows 3.1x is a series of graphical user interfaces that run on top of DOS released between 1992 and 1994. There were two variants of these releases and four actual releases of this O/S for standard desktops, as well as a special "Pen Computing" release (Windows for Pen Computing), and a Chinese release in 1994 (Windows 3.2). Windows 3.1x would continue to be supported, sold, and used until 2007, almost 20 years after it was introduced. The overall design of this Windows version improved on the "Program Manager" UI introduced in "Windows 3.0" released in 1989.

The significance of Win31x - as it's commonly abbreviated to in the retro-community - is that it was the first highly successful Windows release, just a few short years before Windows 95. While not as big a success as Windows 95, it was the first variant to have a lot of software made for it in the amounts to which it could be considered "mainstream". Unlike Windows 95 though, which combined DOS and Windows into a single product, Windows 3.1x was it's own separate product. It also was the last version of Windows to work on a 286 processor (Windows 3.1). Generally, Windows 3.1 is considered a 386/486 era product, but it was in common use on regular computers up into the early 2000's, and had many software released for it over that period of 1992-2002, with support for "Embedded Applciations" going up to 2007 when the 486 processor chip was also discontinued by intel.

In the retro-world, Windows 3.1x is a real ally because some classic games run on top of it, and there are some actual software exclusives. However, a lot of the younger crowd born in the 90's and after, might not be fully aware of how different these releases actually were from say, Windows 9x, NT, 2K, XP, Vista, or 7.

For starters, there's the standard releases that lack network support built-in - Windows 3.1 and Windows 3.11. These were developed for your regular home user or someone using a comptuer for business in a non-networked office, or traveling a lot with a laptop computer. They were around 6MB in deployment, and could work with a 286 based system fairly easily. To say they don't work with networks would be a mistake though because these were often deployed with Microsoft LAN Manager/Network Client running on DOS in the background, or more often it seemed Novell Netware, or possibly some other company's network package (such as IBM's EDLAN packages popular in school systems that utilized IBM computers such as PS/2s and EduQuests).

Windows For Workgroups 3.1/3.11 is basically Windows 3.1x with Microsoft Network Client/LAN Manager 3.0+ rolled into the O/S shell itself. Basically, all the same components from LAN Manager/Network Client are rolled into "For Workgroups" and run in DOS in the background at first, but the GUI, Shell, and other parts of Windows have been modified to take advantage of these features in the Windows GUI. There's a special version of "File Manager" that allows mapping to and sharing folders, files, and drives. There's a special "Network" Program group used to configure your network card, protocols, and what resources are shared, andn what networking system you are using through Windows. This also makes this the first version of Windows that - in a modern context - does NOT require some kind of special Winsock like "Trumpet Winsock" to connect to the modern Broadband internet, making using Windows For Workgroups a lot more like running a modern Windows O/S on the internet. Not much is known about the security of this O/S. The default protocols provided include NetBEUI and IPX/SPX. However, most people today opt to use TCPIP32B (32-bit TCP/IP), which can also use DHCP (Domain Host Control Protocol) to resolve an automatic IP Address to the machine. One makor annoyance about 3.1x For Workgroups though is if you forget to plug your LAN cable in, or it can't find an IP Address, it will pester you ad nauseum for your entire "Windows Session" that it cannot get an IP Address. Security-wise, you are on your own, but you are kinda-sorta protected on your modern machines from any breech by a lack of SMB1 support, requirements for encrypted passwords to SMB servers, and your own common sense. TBH, 3.1 is so ancient I really have little to no security fears with it because it hosts nothing of value, and is only a step up from mTCP - actually, I think mTCP may be more robust.

One other release I'll add as a side-note, as I do own a touch-screen convertible laptop (NEC Versa M/75HCP), is "Windows for Pen Computing", a short lived, special version of Windows 3.1 aimed at using touch screen/pen tablets and convertible portables. Believe it or not, circa 1991-1992, the PC industry started to push "touch screens" and "styluses" just like they did in 2013 with Tablet Hybrids and Windows 8.x in 2013 such as the HP Revovle, Lenovo Yoga, and of course the Microsoft Surface. Except back then it was the NEC Ultralite SL25P, NEC Ultralite Versa P/CP models, NEC VersaPad, Compaq Concerto, Dauphin DTR-1, and a handful of other touch/pen enabled portables running on the 386/486 CPU. The only real difference between this and Windows 3.1 proper was that this variant offered built-in utilities for calibrating stylus and touch screens, and handwriting recognition (yep, we had handwriting recognition in the 1990's, only thing is it was a bit clunky compared to something modern say Microsoft Ink for example).


Installing and Configuring Windows 3.1x Variants in the 21st Century
Microsoft Windows 3.1 came on 6-8 1.44MB 3.5" Floppy Diskettes, and/or a CD-ROM (usually). There may have been 360K DSDD and 1.2MB 5.25" releases (actually, there were), but today your best bet is to either write eight 1.44M Floppies, or better yet, use a CD-ROM.

Before you begin you will need to install MS-DOS, I usually use version 6.22, unless I need to build out a Hard Disk bigger than 8GB in size (4x 2GB partitions), then I use the 7.01 release that is floating around the internet (be careful, there are apparently versions that have a virus or some kind of issue with them). For the best experience I'd say just do a default install first, and leave everything as/is. I suggest using no lower than an 8MHz 286 with 4MB of RAM for Windows 3.1, and no less than a 386SX with 8MB of RAM for Windows For Workgroups. Also make sure to actually know EXACTLY what hardware you have and have your driver's ready. If you stay within that period of 286-early-Pentium hardware, you should be safe for driver support. Most machines/hardware post 1996 no longer support Windows 3.1x as Windows 95 was so huge a lot of companies wiped all support for 3.1x post 1995. It would be a good idea too go through EVERY card in the system, and possibly even the motherboard and it's chipset too, and look for drivers. Also a good idea to look around at the official websites on the waybackmachine to find drivers. Some other good resources include the metropoli files site and our download section here as I add more stuff. Driverguide can be useful as well but it's VERY finagley and janky to use today as it tries to force you to download some stupid EXE that downloads the file for you, rather than directly the disk images/ZIp/RAR/EXE file. A Windows 3.1x install usually takes between 4-8MB in drive space. Astronomically tiny compared to Windows 95 which can take more than 100MB in some cases. The maximum memory ceiling for Windows 3.1x is 64MB, so remember, before you throw 128MB in that old 486 or early Pentium, there's literally no point if you are planning just to run Windows 3.1x.

Insert the CD-ROM and/or Diskette 1, and follow the instructions on screen. There are 2 parts to Every Windows 3.1x install. The first part of it takes place in 80x25 column text mode with a blue background. What this part does is writes the bare minimum "Windows" environment files to the hard disk for the installer to open up Windows for the second half of the install, and creates the C:\Windows and C:\Windows\System directories, as well as generates the plaintext configuration files (which are further modified during the GUI part of the install).

The second (and final) part of the installation is the "GUI" Part of the install. The computer will load up in a highly compatible low-res mode, such as 640x480 16-color VGA by default in most cases. One part that might snag some people will be the request for a "PRoduct Number" - this is something VERY different than the long, REQUIRED, product numbers of Windows 95 or later. Windows 3.1 does not require a product number to install, nor will it deactivate if you don't add one. Usually guys like me, or that ToastyTech dude put humorous/funny/silly stuff in there (ie 867-5309, Bill Gates, 666-6969-420, or other ridiculous goofiness). To explain why this is, it used to be, when you bought Windows 3.1x, the 1" thick manual book it came with had a "Product Number" inside, and if you clicked on "Help->About" in the Program Manager, you could get your product number and Microsoft would theen be able to support you if you called for tech support (they would reject support if you left this blank and did not know your number). Unfortunatley, because there was no safeguards back then on Windows as a result to keep it from being installed or used without Microsoft support, Piracy of this particular version was quite easy.

Once past the "Product Registration" part, Windows will conttinue to install, asking for diskettes in the set if you used floppy. After that, it will request to setup a printer (if you have one), and if you are installing Windows For Workgroups, to setup your network (I usually skip it at this point). Then it will ask you if you want to have a tutorial on using a mouse (totally laughable today), and or exit to DOS, or Restart your Computer (as Windows also adds lines to AUTOEXEC.BAT and CONFIG.SYS).

When you reboot, Windows WILL NOT Automatically launch like you might be used to. Instead, you will just boot to a DOS prompt. The reason this was was, still, in the 3.1 era, early on, people still used DOS for everything largely. You might have a few new programs for "Windows" but you still might be using Lotus 1-2-3, WordPerfect 5.1, DBASE III, or Harvard Graphics 3.0 for DOS until you chose/could afford to upgrade to the new Windows 3.1x versions of those applications. 3.1 was - like the 486 - a transitional phase for the PC from a DOS system that might have an E-Z GUI somewhere for a handful of things, or to placate to a particularly technically challenged end user. But by the end, most people added "WIN" at the end of their AUTOEXEC.BAT file to automatically launch Windows 3.1x, as the internet and majority of their applications by aboutu 1993-1994 would be within Windows instead of MS-DOS.

One of the first things I do post install is run MEMMAKER if I'm running MS-DOS 6.0 or later. This will optimize your memory usage and allow for using EMM386 (or not) for EMS support. Another optiono for RAM I've had VERY good luck with is QEMM 97', which I keep on tap for the purpose of making my Win31x machines more tolerable.

Before we begin going into Windows. Let's talk about Windows 3.1x's Structure. In Windows 3.0 (1989) a new interface replaced the "MS-DOS Executive" called the "Program Manager". The Program Manager is a large window that launches when Windows starts and hosts several identical icons known as "Program Groups". On na default, new installation of Windows 3.1x this would include: Main (File Manager, Setup, Control Panel, Sound, Networks (FW only), MS-DOS Prompt, etc), Accessories (Write, Paintbrush, Calendar, Cardfile, Terminal, Clock, Calc, etc.), Applications (where the DOS applications searched for by Windows during installation are put), Startup (basically an AUTOEXEC.BAT for Windows that starts applications at Windows launch), Networking (For Workgroups only), and probably one or two others I'm forgetting. You double click on a "Program Group" to open it, and then pick from the applications/applets/software/settings contained within to do whatever you need to do. It's like having a Window for a "start menu". Windows 3.1 improved on this structure by allowing "Word Wrap" for all icons (so long program names did not collide with the icons next to it), and some more adjustment for presentation.

Speaking of Memory, something nobody talks about today is the GDI Resource and Memory issues with Windows 3.1 (little surprise). Windows 3.1x has a tendency to hoard and not release used GDI and other memory resources, which then leads to strange phenomenon such as blacking out icons, General Protection Faults, BSODs, or "Out of Memory" error messages. While these are far less common on a 64MB system, or even a 32MB system, they still do happen. One way to watch out for if this occurs is to use the "Help->About" in Windows 3.1 as it shows "GDI Resources" in a percentage. Usually when Windows 3.1x starts, it hangs around as high as 97% Resources free, but as you use more applications and have a longer "Windows Session" those resources can go down. If they get as low as 50%, that's when instability and weird things start to happen. Another helpful trick is the program "1 Megabyte Fort" - which you can download here and put in your "startup" program group. What this does is creates a 1MB space that prevents the hoarding of GDI Resources by Windows 3.1x from making it impossible to exit and restart Windows from DOS, or reboot the computer. Very useful if you actually do productive things with Windows that involves saving, so you don't lose your data. Sometimes I also find a program Windows installs for debugging called "Dr. Watson" as well (DRWATSON.EXE). The reason I launch this is I have found a little hack where certain crashes, say Segment Address Faults and General Protection Faults - seem to not be as destructive to your Windows session when Dr. Watson is capturing them. It might be because the delay caused by the log gives the Graphical Environment some time to "right itself"...providing another layer of protection from losing data or corruption, and a little more assurance you can drop to DOS and reload Windows to clear up GDI, or reboot the system if really unstable.

Next you will need to install your drivers for your various devices. There should only really be two of any great concern - Graphics, and Sound - if equipped with something beyond an internal speaker, or basic VGA or EGA.

Graphics Drivers will required you take a look at your graphics chipset. If you have a PVGA1A card or an Oak Technologies 077 card, you most likely just have a regular VGA card, and don't need drivers. Ditto if you have an EGA card. The only real benefit of graphics drivers in Windows 3.1 is for SVGA. While Windows DOES provide a very basic SVGA Driver that will allow for 640x480 @256 colors, most SVGA graphics chipsets are capable of far more than that. One way to tell if you have a SVGA card is if it displays a fancy message at bootup prior to the Power-On-Self-Test (POST) and mentions the VRAM installed, with the minimum beeing 512KB, and the maximum I've seen on Win31 era video cards being around 8192KB (8 Megaybytes) for a high powered, PCI, 3D Accelerated card like a ATI Rage IIc or expensive unicorn VooDoo card. Another way to tell is to look at the card itself and look for a C&T, WD, or Cirrus Logic chipset on it. These were the three most popular graphics chipset compaanies for 386/486 era PCs with SVGA. These included the C&T 655xx Series chips, WD 90C0XX Chips, and the Cirrus Logic CL-GDxxxx series chips. Other popular ones included the Trident TGUI and TVGA cards, Number Nine (nice high end cards), MediaVision Pro Graphics 1024/1280 (good luck finding drivers), and the S3 801/805 cards (I have one in CreepingNet 486 with 2MB of VRAM that I LOVE...it kicks butt). ATI Rage cards were also a good go and I've heard rumors of VESA Local Bus versions. Also, most SVGA cards you find will be either EISA, VESA Local Bus (VLB), or PCI as those dedicated high-speed exppansion busses will offer better graphics performance and higher color depth/resolution opportunities compared to a bog-standard 512K SVGA Card in ISA will (unless its a TSENG ET-4000 apparently, but I have one in my 286 and outside of the speed it adds to the 286, I'm not that impressed).

So, once you have the drivers, you'll notice you have a HUGE list of "graphics modes" to pick from in most cases. Usually 640x480 @256 colors, 640x480 @16-bit Color, 640x480 @24-bit Color, 640x480 @32-bit Color (True Color), 800x600x256 with Small Fonts, 800x600x256 w/ Large Fonts, 800x600x16-bit w/ Small Fonts.....and the list goes on and on. How does one know what to use? Well, I have created an easy table below for you on what my "Suggested Windows 3.1 Video Modes" are depending on your computer, monitor, and VRAM setup.

The first considerataion is what kind of monitor you have. If you have a generic VGA monitor in 14" or less, 640x480 pixel resolution should be fine and very comfortable, and should work at ANY color depth as long as the refresh rate is set to 60Hz. But if you have a known SVGA monitor, you might want to push it higher to 800x600 with large fonts if you have trouble reading or it's smaller (15" or less), and smaller fonts on a larger monitor. On true SVGA and MultiSync monitors you can actually use "interlaced" modes, however, these may make the picture darker, harder to live with, or cause eyestrain - so I suggest with a CRT just sticking with 60Hz refresh rates and non-interlaced modes if you can. A special note is with LCD panels. On vintage laptop computers, almost all of the LCD's were made to be either 640x480 pixels or 800x600 pixels during the Windows 3.1 era. 800x600 will work on most 640x480 laptops, but you will have to scroll around the workspace. Also, the graphics controller and the panel itself on vintage laptops will limit color depth often to jusut 256 Colors - but more on that in a moment when we talk color depth. Speaking of LCD's, using modern LCD monitors with an old system like this might prove cantankerous. Some older 4:3 monitors, particularly HP, don't play well with early SVGA very well (including causing problems with monitor controls for some weird reason). Also, the same rule of a "fixeD" resolution of the LCD Panel applies with modern LCD's. "Modern" 4:3 LCD panels usually are sold in 1024x768 or 1280x1024, which leads to some odd "ghosting" in some modes like 640x480, and VERY "Jagged" looking lines in DOS games. But it is as viable option that will work so as long as you have a VGA connector on the modern. 16:9 and other HD panels can also be used, however, they may stretch out the image. If you are using one of these, ie, like running your 486 through an HD panel shared with a modern system, look for a setting that "letterboxes" the image - which means the screen aspect ratio will be correct but you will have black bars on each side of the screen to make up for the unused area of the monitor.

The second consideration is how much VRAM your video card has, which will effect what combinations of resolution and color depth will work. Most 486 laptops are 640x480 at 60Hz with 256 colors regardless of make or model, while some late 486 and early Pentium units will go up to 800x600 at the same 256 color depth. An exception would be something like the NEC Versa M/75TC or M/100TC which are DESIGNED to run at 16/24-bit True Color. So this is one arguement where the VRAM rule won't work. The higher resolution/color depth is used when the PC is docked and/or using an external display (CRT). 1024K VRAM steps you into the 800x600 256 color depth realm, and in some cases, higher color depths depending on the chipset your card has. This is one of the most common memory capacities other than 512K for EISA/VLB/ISA cards. 2048K (2MB) of VRAM or more can offer higher resolutions and higher color depths, but you will need to look up your card/graphics chipset to determine what might work with your particular monitor. SOme of these could do up to 1280x1024, but with a reduced horizontal refresh rate that a modern LCD would not be able to process (or have a hard time with), and would burn up a old, bog-standard, low-end VGA monitor if tried.

Lastly is limitations in color depth by your software. When Windows 3.1x was new, 256 Colors was the most popular "SVGA" mode, particulalrly at 640x480. One piece of software I use for this is a schematic software called "Circuit Maker" which REQUIRES 256 Color mode to work. Without it, it will crash windows at any higher color depth. It even states so in the manual. Also, Sierra's SCI VGA titles that run on an SVGA PC in Windows 3.1 (ie, have the SIERRAW.EXE executable in their directory) won't work above 256 colors. For example, Freddy Pharkas will show the foreground assets but not draw the backgrouns properly. So some of you might want to limit yourself to certain resolutions/color depths even though teh temptation to have a full, photorealistic, massive color depth might be tempting. You have to remember, Windows 3.1 was right when PC's started getting "Good" in the modern sense. Back then, 256 Color SVGA at 640x480 was a HUGE deal. Honestly, when in doublt with Windows 3.1, use 640x480 with 256 Colors using the graphics drivers from yoour card/chipset's maker - that will yield the most compatibility, best performance, and will provide the most stability. One other thing I must mention here is that color depth and higher resolutiosn use up more GDI resources, and that can make your system slower/less stable as well.

So here's my "Safe" resolutions for Windows 3.1x that should work for most people...(and why)...

  • 640x480 @256 Colors - This should be the stock go-to for any person running a Windows 3.1x system under SVGA on any sort of monitor. This is the safest, most compatbible, most used graphics mode for a 386DX/486/early-Pentium running windows 3.1 at the time, and should work properly with everything. Sure, web images will look funky or "dithered", but this was before the time websites had a lot of high resolution, high color depth images. Most were still GIF 256 color pallet images.
  • 640x480 @16/24/32 Bit Color @60 Hz - IF you are trying to do "true color" pixel art or using Windows 3.1x for a lot of image-heavy web surfing (which will prove difficult anyway), this can be a good one if you need more colors. 24/32-bit is great if you really don't like the graphical artifacts caused by the 256 color modes when the pallet needs to swap (ie, your desktop turns strange colors momentarily because your browser needs a different set of paints for an inline jpeg).
  • 800x600 @256 Colors - This is for if you have a bigger monitor, ie a 800x600 LCD panel laptop, or maybe a 17" CRT, and want the most compatibility. Most Windows applications will run in Windows, including most games such as the Sierra VGA SCI Windows Interpreter (kind of nice for Freddy Pharkas as you can have the Modern Day book of Health and Hygene up as a PDF file! Actually, really useful for using "digitized" once-physical copy protection). You can also use this with large fonts on a smaller monitor if you'd prefer smaller graphical assets (like I do sometimes).
  • 800x600 @16/24/32 Bit Color @60Hz - Same deal as 640x480 at this depth, just a bigger screen. Maybe you are making a vintage PC compatible website and need to see your site in as many compatible colors as possible on an old browser - this is your best bet of the highest.
  • 1024x768 @256 Colors @60Hz Non-interlaced - If your card is even capable of this mode, if you've got a 22" CRT or some large, high resolution LCD, maybe an early fixed 1024x768 LCD, or a later one with a divisible resolution, this might be a great one, especially if you are doing CAD or large Schematics, or if you really want to play Freddy Pharkas with the book open in another window and don't want to pull the window front to read it.

Sound Cards - You will want to install your sound card AFTER installing your graphics card. This is another case of having the right driver set and knowing what you have. Multimedia support is rolled-into Windows 3.1x so you won't need to install Windows Sound System unless you are using a WSS or compatible sound card and want to use the WSSXLAT Utility to allow running WAV sound from DOS games/applications.

Probably the #1 thing to consider with sound cards is if you are using WIndows For Workgroups - not to have the settings conflict with your network adapter. A lot of network adapters have 300h 330h, and even 220h, 230h, and 240h for memory hardware address ports, and IRQs 3 (COM2/4), 4 (COM1/3), 5, 7, 10, and 11 can also be used by a NIC. It may even be required to use a software setup utility on your NIC to make sure these settings don't conflict with your sound card with the cover off. One great idea I often have used to crap a lot of Memory Address I/O ports and IRQs into Windows is to make a table like below to show what IRQ and Address everything is at, which can also be found using MSD (Microsoft Diagnostics - aka MSD.EXE) which comes with Windows 3.1.

For Workgroups Only - After installing all the drivers for all of your other devices, and 1MB Fort, I will proceed to setup Networking in Windows 3.1x. A common fallacy is that you NEED NetBEUI or IPX/SPX, and a lot of tutorials for setting up Win31x leave these in. I tend to prefer a more streamlined setup - TCPIP32B w/DHCP. So the first thing you will need to do is setup your NIC card to the jumper or firmware settings (yep, we had firmware-based card settings in 1993) it's set to. After t, you will need to remove the protocols you don't need (in my case IPX/SPX, and NetBEUI), and install the "Unlisted or Unprovided Protocol" from a directory or diskette with TCPIP32B on it - which is Microsoft's own 32-bit TCP/IP network stack for Windows For Workgroups. After installing the protocol, punch in the checkmark for "DHCP" if you don't want to use a static IP Address for it - basically an IP address that does not have the ability to change. Don't know what this stuff is, let's give a quick and dirty Networking Lesson below...

On a TCP/IP (Transmission Control Protocol/Internet Protocol) network. Your computer is assigned a number consisting of a chain of 3 digits separated by a period (octets) or series of hex (IPv6) called an "IP" Address. Windows For Workgorups does NOT support IPv6, IPv6 did not come around until sometime in the 21st Century. Anyway, you have 2 numbers to be concerned with, the IP address - usually in home installations this is 192.168.1.xxx - and a "Subnet Mask" of 255.255.255.0 usually in home installatons. "DHCP" - or "Domain Host Control Protocol" is a secondary protocol used to assign an IP Address automatically to a computer. It retains this IP address for a set amount of time called a "lease time", upon which it will "refresh" itself. On most home LANs, it won't need to refresh, but if you wwere on a bigger network, say at a business, it would need to refresh every few hours or so, and DHCP allows the address#'s to be shuffled around. DHCP is the difference between a static and a dynamic IP address. DHCP is dynamic, stataic is when you put the number in manually. Either one is valid. There is also a line that's somewhat optional in TCP/IP configuration known as the "Default Gateway", usually this is the name of your Router, or the device doing the DHCP leases for a non-static IP address, as well as routing traffic to/from the internet. Typically in a home einstallation, this is your router's IP address, usually 192.168.1.1. So there's your "for dummies", over-simplified version of TCP/IP networking to get you started.

Once your IP settings are set, then it's time to enable network sharing. So under the "services" tab you want to enable file and/or printer sharing for Microsoft Networks by checking the 2 boxes and clicking "ok". After that, click "ok" and Windows does the rest (writing c:\WINDOWS\PROTOCOL.INI and entries to your CONFIG.SYS AND AUTOEXEC.BAT). After a reboot, you should see boot time takes awhile longer, and then, after sitting at a blank screen, once your IP address has resolved (if using DHCP), you will see the Windows Login screen, put in a name, then it will have you create a password - remember this password, though it is plaintext, you may/will need it to login to your Windows For Workgroups system should you choose to access it from another computer on your network to put files on or take files off.


Windows For Workgroups and the Modern Internet
So now you have a nice Win3x system all setup and you want to make use of the internet like it's 1994! Well, I'm here to tell you it's truly possible. With Windows for Workgorups, the modern internet experience it not that much different from that on a modern PC (for the most part).

Web Browsing in Windows for Workgroups 3.11 - Unlike DOS, where if you have a 386SX or better system, you can just download Links and go to town over mTCP like it's 2022 and your machine is no different than the sea of Windows 10 machines roaming around (for the most part), Windows For Workgroups in 2022, after all the changes Web 2.0 (Blech) has brough to us in the last 10-15 yyears, is a bit of a different experience. See, unlike DOS, or Windows 9x, there IS NO TLS COMPLIANT BROWSER.

Your "best" browser choices are as follows.....

  • Netscape Navigator/Suite 4.08 (1997) - Netscape 4.08 is most often found on the web as a 14MB suite of applications. It's basically like a 16-bit version of Retrozilla or Mozilla Suite (which I believe it's a part of the lineage of). It seems to work okay on most non HTTPS websites today, but fails to work with them at all. It's a bit slower to startup, but may offer advantages if you are wanting some kind of unimportant simple e-mail, don't mind AIM being bundled with your browser, and maybe want to have a nice WYSIWYG website builder (Netscape Composer). Only problem is, it does not work with the majority of the websites out there.
  • Microsoft Internet Explorer 5.01 w/128 Bit Encryption (1999) - This was the last version of IE for Windows 3.1x and IIRC it requires Win32s. It seems a little more stable than Netscape and persnickety about rendering on other pages but one benefit is it lacks incessant whining about Javascript errors like some Netscape releases tend to do. It also will render PNG images as well so Google will show up as normal on it. However, modern HTTPS fails on this browser.
  • Opera 3.62 (2000) - THIS is currently (2022) the best browser for Win31x. It's fairly quick, rather stable, and does a pretty good job of rendering some newer sites properly. It's also highly user editable and smaller in size. Also, the key is now freely availible so you won't get nagged for an "unregistered" install - which is it's one downside. This is a good one if you have a high powered 486 or Pentium machine, and it's the one I use. I am looking into ways to enable/enhance/upgrade/tweak the outdated encryption and handshake methods so the modern web will puke on it less.

However, despite the paltry offerings for Windows 3.1x, you CAN enjoy the web today while using it. And the way to do it is through FrogFind - a special "search engine" for "vintage computers". What it does is, it seems, acts like a web proxy for your vintage machine, and strips down modern webpages so you can actually view them in the limited resources, stops scripts, cleans up code, and just makes surfing the web on something obsolete such as Windows 3.1x much easier and more pleasant.

Instant Messengers - One thing the modern internet DOES have that is old and still works thanks to some crafty developers is the Phoenix Project which is currently bringing back AOL Instant Messenger (AIM), Yahoo Instant Messenger, and I think MSN as well. "Chat Like it's 1999" their tagline is. You can create an account and chat like the 90's never ended. For me it's nuts - like going back into time when I was playing in Lithium, recording demos in TwoTrak, and using Windows 3.11 For Workgroups as my primary work environment, not as some kind of werid reliving of my Win16 internet days, all the while talking on mIRC with the #captain_n gammaforce IRC channel.....speaking of......

Internet Relay Chat (IRC) - mIRC still works, I'm sure there are other clients, but I usually use mIRC 5.91 for Windows 3.1, and it's actually one of my favorite IRC clients still, esp sincee I can do DOS and Windows things while I'm doing it. And while may not hangout at #Captain_N much anymore, you will find me hanging around #VC once in a blue moon on slashnet. Plus I'm sure there are plenty of places to explore.

Telnet - Bulletin Board Systems are a built-in functionality of both Terminal and Telnet! So you indeed can go even further back, and you don't even need to download anything to do it. It may not be in color, but it's still a nice experience while you're maybe making ASCII Art in Notepad.

FTP - FTP is accessible via various clients. WS-FTP LE is a popular one. This can also be useful for working with your MS-DOS machines without Windows at getting files on/off of them using mTCP, with an easy to use GUI. This was actually what I used previously for authoring The Creeping Network website on Geocities back in 2001 - I would create pages here in DiDaPro and then upload them to geocities over FTP.

Web Authoring - DiDaPro is a HTML editor that allows you to preview your work. Netscape Composer (Netscape Suite 4.08) allows you to have a WYSIWYG variant. I also believe there are versions of microsoft Frontpage that will work on here as well. Of course, you could just use Notepad for small pages or DOS Edit for larger pages which I have even done for this site at times.

As you can see, despite what some computer magazine writer who blindly dragged his old 486 out of his closet and tried to work on it for a day says, Windows 3.1x is still VERY usable past it's 30th Birthday this April, even on the internet. You just have to be "in the know" which is why I wrote this page. It's not useless, limited yes, but not entirely useless.
Technical Nitty Gritty of Windows 3.1x ~ all the simple underpinnings of the 1990's explained as I get to them
Windows 3.1x is a VERY simple DOS-based GUI. It takes up about 6-8Megabytes of drive space (not including what you yourself add to it), has only 2 folders to truly be concerned with (C:\WINDOWS and C:\WINDOWS\SYSTEM\), one Startup folder (and one startup method), a simple Binary registry with the introduction of 3.11 that mostly just handles file extention handling and maybe some OLE (Object Linking and Embedding) Functionality, and THREE exclusive plaintext configuration files: WIN.INI, SYSTEM.INI, and PROTOCOL.INI (FOR WORKGROUPS ONLY). I'd liken it to a Ford Ranger or Ford Explorer truck of the period, simple, reliable, easy to fix, and for what few quirks it does have, they are pretty easy to work around and/or deal with.

But First, a Little bit about DOS - So, prior to Windows 95, Windows was not a "standalone O/S", it was a "Graphical Shell" that sat on top of MS-DOS and gave the computer the ability to use various, higher level CPU operating modes from there, as well as display applications with unified interfaces that made it easy to move among them, and it's primary purpose - to allow simultanious multitasking of computerized tasks on a 386 or faster machine. As such, it DOES rely on the DOS system files, including CONFIG.SYS and AUTOEXEC.BAT, to properly function.

CONFIG.SYS is what is says, a CONFIGuration file for theh SYStem. It is launched AFTER the MSDOS.SYS kernel and IO.SYS basic IO Driver are loaded, and the lines in it configure the computer's operating environment before launching the COMMAND.COM command-line interpreter "shell" (basically the "thing" that understands what CD\, DIR, and VER mean in computer language). THe main files in this to be concerned with, with regards to Windows to make it work, are HIMEM.SYS, sometimes EMM386.EXE is needed for certain programs (one in particular being WSSXLAT for Windows Sound System to hook/trap the audio activity for DOS applications), IFSHLP.SYS (a 32-bit Installable File Manager for trapping a Real Mode filesystem such as the FAT-16 system WIndows For Workgroups "shares" out as a fileshare), and LASTDRIVE parameter which limits the number of Drive Letters availible to assign by stating the last one.

AUTOEXEC.BAT is like a "startup group/folder/menu" for DOS. It AUTOmatically EXECutes whatever is contained therein in the format of a "BATCH FILE". A Batch file is very similar to a "Powershell Script" in that it can basically carry out a series of actsions as a singular file rather than having to issue each command and run each program individually. Typically it's used for setting environment variables, default file paths to look for programs (ie PATH=C:\WINDOWS;C:\DOS), running vairous *.COM *.EXE or *.BAT driver commands (ie ETHER.COM 0x60 to load a Packet Driver to interrupt vector 60h or MOUSE.EXE -1 to load a mouse on Serial Port #1), and just basically, taking care of certain other pre-boot things that might not be possible via CONFIG.SYS. For Windows, the Path Enviornment variable is the most important, through SMARTDRV and some other stuff resides here as well. It is also at the end of the file where you would put "WIN" or "WIN.COM" to startup Windows 3.1x from the command line automatically at boot like it's a real O/S.

THe Three Windows Exclusive Text Files - SYSTEM.INI, WIN.INI, and PROTOCOL.INI

Now we will discuss these three files which configure and tweak Windows to function the way it's required. Today this is carried out by the Binary Registry, Group Policy, and other more complex, more capable means, but back in the Windows 3.1x days, things were more "Linux Like" when it came to windows. All three are plaintext files that can be edited by using DOSEdit or even within Windows using Notepad.

SYSTEM.INI - this file is the first INI processed by Windows 3.1x as it starts up. It is used to configure Windows as it is to communicate with hardware, the DOS operating system, and even parts of the Network in For Workgroups versions.

WIN.INI - This file is teh second file processed by Windows 3.1x as it starts up and has more to do with things like high level drivers, Window Positioning, Wallpaper, and other "internal to Windows" stuff rather than the actual setup of Windows as it starts up.

PROTOCOL.INI - This file is exclusive to the "For Workgroups" variants, and it's actually a carry-over from Microsoft LAN Manager/Microsoft Network Client. It is used to set protocol/adapter bindings, hostnames, and other network-specific items to allow (or disallow) the PC from doing certain things on a network.

Folder Structure and What Is Found Where

Windows 3.1x consists of two folders. C:\WINDOWS, and then the C:\WINDOWS\SYSTEM\ subfolder where system items like drivers, networking components, and other various underpinnings that make Windows work are stored. It's a bit like a car - the Windows directory is where all the things you directly interface are, like the interior, or the variouos resovoirs and consumables under thte hood. System is like the inside of Windows engine where all the connecting rods, crank bearings, journals, spark plugs, piston rings, mass-airflow sensors, Engine coolant temperaturee sensors, and the ECU reside. The stuff that only a skilled mechanic will touch.

C:\WINDOWS\ - So inside this folder is where you will find the Windows startup file WIN.COM, all three INI files, all of your bitmap (*.BMP) Wallpapers, every program executable (ie CALC.EXE = Caclulator, WRITE.EXE = Windows Write, PBRUSH.EXE = Paintbrush, PROGMAN.EXE is the Program Manager itself, WINFILE.EXE is the File Manager for your chosen version...and so on), various help files (*.HLP), some Documents for certain things (ie README.TXT or README.WRI) placed by Microsoft and sometimes other developers, various direct-resource files like the INI files for each Windows program, or the *.PIF (Program Information Files) for DOS applications to be launched through Windows in a DOS window.

C:\WINDOWS\SYSTEM\ - THis folder is where your various "deep" stuff is installed at. Basically, a lot of files with *.SYS (system Files), *.VXD (helper files), *.386 (386 Enhanced Mode files), *.DLL (Dynamic Link Libraries), *.CPL files (Control Panel Applets), *.FON files (system fonts), *.INF files (Information Files, usually for Driver Installations), *.TTF files (True Type Fonts). If you've ever watched the file-copy operation during a driver install, you'll notice that the entire contents of the floppy diskette for the driver are copied to this folder in a lot of cases.

Windows 3.1x Operating Modes & Switches

WIN.COM is capable of being run with several command line switches and operating modes. However, one was removed that you might be familiar with from Windows 3.0 - REAL MODE. So quickly, just in case you're not familiar, let's discuss various CPU operating modes used by Windows.

  • Real Mode (used to be Win /1 or Win /r) - This mode no longer exists in Windows 3.1. This is the mode all intel 8088/8086/80186/NEC V20/NEC V30 and compatibles operate in, which limits the CPU to addressing a maximum of 1MB (1024 Kilobytes) of RAM. Now I'm sure, if you've seen an 8088/8086 based PC/XT Clone - you're going to say "hey, CreepingNet, you idiot - my PC/XT/Tandy 1000/etc. says it only has 640K!!!" or "Remember when Bill Gates said "640K Ought to be Enough for Anyone"?" - that's because while your machine says it has 640K BASE RAM, the extra bits/bytes ABOVE that 640K are used for UMBs - or "Upper Memory Blocks" - which is a tiny area beneath 1024K but after 640K where BIOS Option ROMs (like the boot ROM for your SVGA card or PXE ROM in a Network Card), or the VRAM for your CGA adapter lives. This is also why Windows 3.1 requires a 286 or better CPU to function (aside from using 286/386 optimized instructions).
  • Protected Mode (win /S) - Standard Mode, aka Protected mode is a mode introduced with the Intel 80286 CPU in 1982 that allows for the processor to access up to 16 Megabytes (yep, that's right, the 286 could reach up to 16808K of RAM - in Protected Mode), and allows for pre-emptive multitasking, which was what earlier versions of Windows prior to 3.0 used such as Windows 2.1 or Windows/286. The problem was the 286 was designed BEFORE the IBM PC took off, and so when it came out it had a little problem of getting STUCK in "Protected Mode" - requiring a full CPU Reset before returning to the x86 8086 compatible "Real Mode" that DOS machines run in most of the time. It allows a 286 with 1MB of RAM to run using those UMBs mentioned in real mode as a part of regular RAM.
  • 386 Enhanced Mode (win /3) - 386 Enhanced Mode is, as it says, a then-new mode introduced with the Intel 80386 microprocessor. It uses what is called "Virtual Memory" to allow multitasking across multiple MS-DOS applications using a special "Virtual 8086" mode, which essentially allowed multiple DOS applications to run in a emulated PC/XT-type machine in multiple instances. So say, you could have a data sort going oin Lotus 1-2-3 in one window, while typing awya in WordPerfect 5.1 in another, and then have a game of ZZT in another window. It also allows DOS applicationos to run in Windows (mostly Text Mode stuff, unless in a higher graphics mode that the DOS window can support). The majority of us should be running Windows 3.1x in this mode for the best performance and highest capabilities.


Windows 3.1 Directory Structure - What Goes Where?
Windows 3.1x's Directory Structure is pretty simple. By default, the main executables, ini, cfg, and other files, are all stored in C:\WINDOWS, while all the System items (Dynamic Link Libraries, VXDs, *.386 files, True Type Fonts, and what-have-you) are stored in C:\Windows\system.

The reason it's relevant to know this is because in some cases, Runtime Libraries need to be installed to C:\Windows\system in order for certain programs to work.

Unlike Windows 95 and later though, Windows 3.1x lacks any sort of specific directories in-which to place Programs & Features, or User Documents. Back then, it was assumed the end-user was computer savvy enough to create their own folders on the root of the C drive to store their documents in, and most programs defaulted to installing to the root of C:\ anyway, so that's what was expected. Everything having a specific little place did not start until Windows 95.