Windows 3.1 is an utter bastard! And I love it! More specifically I use Windows 3.11 for Workgroups as a customizable frontend to launch MS-DOS and early Windows games, it works well but it tends to misbehave. I have had my fair share of freezes and crashes (of the virtual machine, not my actual computer) which has lead to some strange behavior that is usually sorted out with a hard reset. My two personal favorite glitches are when the color scheme alters to something wild like magenta and black with black text that makes navigating impossible, a soft reset will fix this, and the keyboard driver just up and giving up when trying to run certain programs which means I have to turn the bastard on and off again.
There has been one problem though that has really been bothering me, and thankfully I found a suitably convoluted workaround for it. No matter how hard I tried I simply couldn’t get windows to allocate any EMS/Expanded Memory, which is used for more resource intensive applications. Simple things like trying to enter Windows Setup or play Canyon.mid would give me an insufficient memory error and simply refuse to run. When looking at EMM386.EXE which is the expanded memory service application for Windows it said that I had none. All I was getting was the 1MB that was allocated for DOS on startup. Most applications are able to tap into available memory automatically, and oddly enough some games will run better under windows with zero EMS even though there is more memory available in DOS. Games like The Incredible Machine 2 and Nova 9 run at a notably smoother framerate when running under Windows versus from straight DOS.
Everything was running fairly smoothly until yesterday, I had still been getting the memory errors but it wasn’t on anything that I couldn’t live without, mainly certain system and driver settings and the MIDI player, but never on any games. Championship Pool for Windows by Wizardworks was the first game to give me a memory error and this was unacceptable, I paid 15 dollars for a crappy pool game and I was going to play it dammit! For some reason this game that runs in small window on the desktop requires 4MB of Expanded Memory and nothing I tried to expand the memory worked. I tried creating and editing a .pif/Program Information File (Basically a prefabricated batch file) to allocate more memory but I simply got a small DOS window that said ‘this application requires windows to run’ and there seems to be no option to enable Windows with .pif files it will always boot the game in DOS. This strategy had worked with some games like Thunderscape the also needed 4MB of EMS but that game was meant to run in DOS so a .pif file worked perfectly. The solution to my memory issues presented itself in the most unlikely place though… Jack’s Attic
Jack’s Attic is an obscure kid’s game from the mid 90’s that I played a bunch as a kid, alongside Reader Rabbit and the I Spy computer games. Out of a sick sense of nostalgia I tried to get the game to run in 16 bit mode in windows 3.11. The game would install fine but I would get a General Protection Fault whenever I tried to run the game. I decided to try to launch the game with a .pif since it seemed like my only option, and of course it didn’t work, go figure it requires Windows to run.
As I clicked around the desktop in defeat I decided to click on an application that never worked for me, Windows Setup, it promptly worked. This is confusing. I immediately go to Championship Pool and click the icon, boom there it is! Initially I thought the .pif I created for Jack’s Attic somehow allocated enough memory to run CPool, so I stuck it in the Windows Startup menu so it would play every time I booted up Windows, that didn’t work. It wasn’t the .pif I created; it was the Jack’s Attic executable that allocated more EMS to Windows. Frankly this makes no sense, and I have no idea how it works, but I’ll take what I can get and now every time I boot up Windows I have to click through a few error messages, but it’s worth it for the benefits it brings.
As you can probably guess, I don’t actually own a physical copy of Windows 3.11fW, mainly because copies are 60-100 bucks on Ebay and I’m not going to spend that much on Windows. I’m using a premade version of windows that I found online (your guarantee for quality) that had all of the proper drivers preinstalled. I’m considering trying to install Windows 95 but I haven’t had any luck on my own and it frankly seems like more work that it’s worth, even though I do have some games that are Windows 95 ONLY, but I’m not going to lose any sleep over them. For now this is my solution, and I’ll keep using it until something better presents itself or I finally figure out how to properly allocate more EMS from DOSBox, which seems like an oddly difficult task.