vRetro trip: MS-DOS 6.22 and Windows 3.1 in 2015

Because of a recent comment on this blog I stumbled upon an interesting Abandonware webseite. For me this was a reason for diving into a world of forgotten software (thank you very much for the hint, Frank!). While browsing the software archive I vividly recalled my first steps with the computer. Back then - in 1993/1994 - my parents had their first PC with the following specification:

ESCOM-Rechner

  • ESCOM desktop case
  • AMD 486DX processor with 66 Mhz clock-rate
  • 14" CRT screen with 800x600 pixel (16-bit)
  • 16 MB EDO RAM
  • 500 MB IDE hard drive
  • installed MS-DOS 5.0 and Microsoft Windows 3.1

A dot-matrix printer Panasonic KX-P1131 completed the setup. I remember the times when I watched my father while working on the PC before I was allowed to use the keyboard for the first time.

Later the computer was upgraded with a Creative Sound Blaster 16, a CD-ROM drive and a Windows 95 installation.

Status today

Windows 3.1 desktop

Things have changed a lot in 22 years of IT history - gathering supported hardware (386/486/586) is becoming more complicated and expensive. Passionate collectors that are willing to minimize their inventory know the market situation and demand higher prices than before. So having a retro experience with realistic hardware also goes with appropriate costs. Fortunately there are also alterantives.

So - what can you use such an ancient system for today? Time to have a deeper look at the implementation!

Virtualization

You can easily avoid the problem of gathering hardware bei using virtualization. Some current products like VMware Workstation are still supporting ancient architectures. But it is doubtful how long this will stay. There is an emulator called BOCHS that is also suitable for this scenario. When using VMware products the following settings are recommended:

VM-Einstellungen

  • Virtual hardware version: 7 (do not use version 4 as it is not supporting IDE hard drives!)
  • Operationg system: Microsoft Windows 3.1 or MS-DOS
  • CPU: 1 vCPU
  • Memory: 16 MB
  • Hard drive: 2 GB (IDE)

Using virtualization also brings some problems that need to be solved. It is noticeable that MS-DOS as well as Windows 3.1/3.11 forces a high CPU load of the hypervisor. The reason for this is that the operating system is not able to regulate the processor clock rate. You can fix this by installing two programs:

  • DOSidle 2.0 - DOS driver for idling CPU power. There is also a newer version 2.1 but some people reported that this might cause problems with the memory manager EMM386.
  • WQGHLT - Windows pendant

I created a floppy image that includes the following tools and drivers essential for virtualized environments:

  • Idle drivers mentioned above
  • CD-ROM driver
  • AMD PCNET network card driver (will follow)
  • Windows 3.1/3.11 year 2000 patches
  • SVGA driver and VMware patch

For installing DOSidle it is sufficient to create the following entry into the file AUTOEXEC.BAT:

1C:>EDIT AUTOEXEC.BAT
2...
3REM --- Start DOSidle ---
4C:\TOOLS\DOSIDLE.EXE

The tool is started during the next boot:

1DOSidle installed successfully.

For installing the Windows pendant the driver WQGHLT.386 needs to be copied into the directory C:\windows\SYSTEM. Afterwards the section "[386Enh]" in the file C:\windows\SYSTEM.INI needs to be expanded:

1C:\TOOLS\>cd WQGHLT
2C:\TOOLS\WQGHLT>copy *.386 C:\windows\system
3C:\TOOLS\WQGHLT>cd
4C:>cd windows
5C:\windows\>edit system.ini
6...
7[386Enh]
8...
9device=wqghlt.386

During the next Windows boot the driver is initialized and loaded.

Patched SVGA driver

Having a higher screen resolution than 640x480 the default VGA driver of Windows 3.1/3.11 offers is also important and useful. Unfortunately other drivers shipped with the user-interface are not working if you are using a VMware hypervisor. Luckily there is a  VMware patch for a generic SVGA driver (for VirtualBox it is by the way the same). Using this patched driver it is possible to have a screen resolution up to 1024x768 pixel. For installing the driver the SVGA driver and the patch needs to be copied to the system. Afterwards the patch is applied:

1C:\svga\>svga.exe
2...
3C:\svga\>vgapatch.com p

Alternatively you can use my floppy image that contains the patched driver. In this case you only need to copy the files on your system's hard drive:

1C:>mkdir C:\svga\
2C:>xcopy a: C:\svga\ /s /e

During the installation the utility setup must be executed inside the Windows directory. Select "Other" along with specifying the path C:\svga when you're reaching the "Display" section. Select the entry "Super VGA 1024x768 256 Small" in the driver list that is displayed:

1C:>cd windows
2C:\windows\>setup

During the installation the location for the file VGA850.FON is requested - this file can be found on the second floppy disk of your Windows 3.1/3.11 installation media. Another dialog is displayed for the file EGA40850.FON - this file is part of the directory containing the patched SVGA driver.

HS-CDROM is a very comfortable program that installs MSCDEX (Microsoft MS-DOS CD-ROM Extensions) and alters the files CONFIG.SYS and AUTOEXEC.BAT.

1A:>cd cdrom
2A:\cdrom>install

DOS shell with CD icon

After the next boot the CD-ROM drive is available which is also illustrated with a dedicated icon in dosshell (I didn't recognize this when I was 7!).

Afterwards you should lower the mouse speed inside Windows - otherwise the mouse is nearly non-controllable because it is way too sensitive.

There are also Euro patches for Windows 3.1/3.11 that enables the "new" currency to the operating system and updates fonts:

1C:\TOOLS\>cd EURO_DEU
2C:\TOOLS\EURO_DEU\>W31_EURO.BAT C:\windows\
3C:\TOOLS\EURO_DEU\>cd ..
4C:\TOOLS\>copy *.fon C:\windows\system /y

Windows 3.1 - Country settings

Afterwards the currency including fonts is available.

If you also plan to have sound while enjoying your retro experience you need to emulate a Creative Sound Blaster 16. You can get DOS and Windows drivers for this sound card. Make sure your VM configuration includes the following lines if you are using VMware products:

1sound.present = "TRUE"
2sound.virtualDev = "sb16"
3sound.autodetect = "TRUE"

The driver is installed using the DOS command line:

1C:\TOOLS\>cd sb16
2C:\TOOLS\SB16>INSTALL.EXE

The programm automatically updates the DOS-typical configuration files. After the installation a new program group is created inside Windows - here you will find the Creative Mixer which controls the particular outputs of the virtual sound card. It is also possible to play 320 kbit/s MP3 files using IIS WinPlay 3 - a dream comes true for retro fans. 😄

Software selection

To have a full-featured retro experience you need to have timely software:

  • Microsoft Office 4.2c
  • Visual Basic 3.0 Professional
  • Additional software of the MS-DOS 6.22 "Supplemental Disk"
  • And of course: DOS games! 🙂

I still have strong memories of Office 4.x which included Word 6.0, Excel 5.0 and PowerPoint 4.0. Microsoft Access was not part of the suite back then - it had to be bought separately. Access 2.0 was part of the media kit of my parents' PC.

Back then - in 1998/99 - we using Office 4.x in a primary school computer course to gain first experiences with computers. At home my father also teached me some Word and Excel basics. Today it is quite impressive how powerful the software was back then. I took some time for clicking through the menus and testing the appropriate functions. Measured on the Excel functionality I need for my daily work all important functions were already given. Even AutoFilter, pivot tables and diagrams (Microsoft Graph) were also possible. Probably I could do all my office work also with the old Excel version. PowerPoint already included the well-known cliparts, templates ad effects. The extremely bright colors are eye-catching - today this looks rather suboptimal. 🙂

QBasic was my first programming language before I switched to Visual Basic 6.0 some years later. Designing graphical applications and bringing them to live with code was quite fun for me. Especially the free Learning Edition was very interesting for me. This edition was unable to create EXE files which is not mandatory for learning purposes. At the same time I discovered the publisher KnowWare which offers technical literature that is open for beginners. There was also a good booklet regarding Visual Basic 6.0 than be downloaded for free in the meantime - for me this was the entrance into the world of programming. Other booklets helped me with gaining first experiences with Delphi, Java and C/C++. The MS-DOS 6.22 Supplemental Disk also included the development envirionment QBasic. In comparsion with the fee-requiring QuickBASIC this version was unable to create EXE files but running source code. I have strong memories of researching the integrated help for hours to understand the programming language.

Beside QBasic the 4th floppy disk of MS-DOS also includes the optional dosshell which is not installed by default because of technical deficits after MS-DOS 5.0. The text-based interface especially misses multitasking, paging and swapping mechanisms. Beside the shell the QBasic games NIBBLES.BAS were GORILLA.BAS also impossible to me. NIBBLES.BAS was a game that is very similar with the later public mobile phone game Snake. Beside the graphic also the gameplay was similar: one or two player are controlling snakes through various mazes collecting scores. Collected scores are increasing the snake's sizes which also makes the game harder. GORILLAS is an artillery game in which two gorillas standing on skyscrapers are pelting each other with exploding bananas. The goal is to take the enemy out. For controlling the biological projectile you need to choose the right values for the three parameters angle, velocity and gravity.

Vinyl Goddess from Mars (1995)

Playing MS-DOS games in virtualized environments is basically a bad idea as ancient processors are not emulated. Many games have utilized processor limitations for calculations - significantly more powerful processors are going with uncontrollable or crashing games. In this case it is more senseful to use a emulator like the free DOSBox. Using this you can play all the classics on modern computers - my personal collection includes:

My all-time favorite game was Vinyl Goddess from Mars - in my opinion a kind of "predecessor" of Lara Croft. The plattform / side-scrolling game reminds on the older Jill of the Jungle. In multiple episodes you will have to prove oneself as the protagonist Vinyl against enemies. Because of a fault of her spaceship she stranded on a planet and needs to find parts to repair her ship. In comparsion with other game the graphic was very stylish and the jump & run gameplay was very funny. A typical 8-bit soundtrack is making the game perfect - I don't know how often I played this game through. 🙂

Heartlight (1993)

However I never finished Heartlight - a kind of Boulder Dash remake. Beside Atari and Amiga variants two MS-DOS versions with 20 (shareware) and 70 levels (Heartlight Deluxe) were released in 1994. The game idea is quite simple: you need to collect scores to open the exit of a level. To collect all scores you will need to use, free or explode particular elements (bridges, stones, steel, grass, tunnels, walls). Falling stones are making the puzzles more complicated.

In Search of Dr. Riptide (1994)

Another game I played often was In Search of Dr. Riptide. The player controls a naval agent that has to find and destroy the secret underwater laboratoy of Dr. Riptide to stop his evil plans. Of course finishing the levels in the pawn's submarine goes with taking out numerous enemies (piranhas, sharks and other fish species). Some puzzles can only be solved with controlling another tiny submarine (Jason). Another thing that could make the game pretty hard were exhausting air tanks. To fill them up you had to emerge or collect power-ups. Other items you had to collect included diamonds and keys for opening doors.

Sam & Max - Hit the Road (1993)

Last but not least there was also Sam & Max - Hit The Road, a very entertaining click & point adventure by LucasArts. In this game the player controls the Freelance Police which consists of the dog Sam and Max - a very funny team with a dark humour. The goal is to uncover the case kidnapping a yeti named Bruno (main attraction of a oddity circus). To get behind the details you had to interrogate persons and solve plenty of puzzles. Thanks to funny dialogs which is typical for LucasArts the fiddly tasks are amusing. The full amusement was given by a version with dubbed dialogs and music released later - there was also a version with german dubbing actors. Especially the Max's dubbing voice - Sandra Schwittau - is charming. Fans of the Simpsons recognize that it is the same voice that also dubs Bart since the year one. I also played this game through for plenty of time - even after the DOS era. ScummVM is an awesome emulator for playing LucasArts games that is available for many platforms. Some years ago I also played the game on a Palm Tungsten PDA - in the meantime there are also versions for Android and iOS devices.

Network

PING under MS-DOS 6.22

I saw that later a full-featured TCP/IP network stack for MS-DOS and Microsoft Windows 3.1/3.11 was offered. Back then I missed that because of lacking hardware and knowledge. Using previously recent protocols like IPX and NetBEUI is not very useful in these days - but switching to TCP/IP makes a difference.

Using current hypervisors gives you the possibility to emulate a AMD PCNET network card. Appropriate drivers for this network card are available to MS-DOS and Windows 3.1/3.11. In combination mit Microsoft LAN manager it is possible to join an ancient Windows installation into IPv4 networks - even DHCP and DNS are supported. 🙂

I have to admit that this is quite unstable. I often stumbled upon stability issues in combination with the drivers and tweaks mentioned above. Often the system just crashed while using network-enabled applications or did not boot at all. The Windows software also includes a FTP client that really can be used for establishing connections to current servers. Using the web browsers Internet Explorer 5.01 and Opera 3.62 still available to Windows 3.1/3.11 is nearly useless because of lacking UTF8  and HTML4+ support.

FTP session under Windows 3.11

So basically it is possible to connect old DOS and Windows installations up to network - but it won't offer you additional benefits. It is a senseless waste of time. 😄

Because of this I don't want to demonstrate the installation because it won't give you additional features. If you still want to give this experiment a try you might want to have a look at the following instructions for Windows 3.11. This also works fine for VMware environments.

Downloads and links

Attached a collection of useful downloads and links:

  • Website serving drivers and tutorials: click me!
  • Floppy image containing basic tools and drivers for virtualized DOS and Windows guests: click me!
  • Floppy image containing patched VMware SVGA driver: click me!
  • Tutorial for implementing a network configuration under Windows 3.11: click me!

Translations: