VMware Windows XING / LinkedIn / Amazon

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-Rechner
  • ESCOM desktop case
  • AMD 486DX processor with 66 Mhz clock-rate
  • 14″ CRT screen with 800×600 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
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
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.0DOS 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:

C:>EDIT AUTOEXEC.BAT
...
REM --- Start DOSidle ---
C:TOOLSDOSIDLE.EXE

The tool is started during the next boot:

DOSidle installed successfully.

For installing the Windows pendant the driver WQGHLT.386 needs to be copied into the directory C:WINDOWSSYSTEM. Afterwards the section “[386Enh]” in the file C:WINDOWSSYSTEM.INI needs to be expanded:

C:TOOLS>cd WQGHLT
C:TOOLSWQGHLT>copy *.386 c:windowssystem
C:TOOLSWQGHLT>cd
C:>cd windows
C:WINDOWS>edit system.ini
...
[386Enh]
...
device=wqghlt.386

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

Gepatchter SVGA-Treiber
Gepatchter SVGA-Treiber

Having a higher screen resolution than 640×480 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 1024×768 pixel. For installing the driver the SVGA driver and the patch needs to be copied to the system. Afterwards the patch is applied:

C:svga>svga.exe
...
C: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:

C:>mkdir c:svga
C:>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 1024×768 256 Small” in the driver list that is displayed:

C:>cd windows
C: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.

A:>cd cdrom
A:cdrom>install
DOS-Shell mit CD-Symbol
DOS-Shell mit CD-Symbol

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:

C:TOOLS>cd EURO_DEU
C:TOOLSEURO_DEU>W31_EURO.BAT c:windows
C:TOOLSEURO_DEU>cd ..
C:TOOLS>copy *.fon c:windowssystem /y
Windows 3.1 - Ländereinstellungen
Windows 3.1 – Ländereinstellungen

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:

sound.present = "TRUE"
sound.virtualDev = "sb16"
sound.autodetect = "TRUE"

The driver is installed using the DOS command line:

C:TOOLS>cd sb16
C:TOOLSSB16>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)
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)
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)
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)
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 unter MS-DOS 6.22
PING unter 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-Sitzung unter Windows 3.11
FTP-Sitzung unter 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:

Sharing is caring

9 Comments Add New Comment

  1. Sachin Kumar says:

    Sir,
    You have written a interesting Blog.I like it very much and appreciate the efforts you have put behind it.I also have a IBM PC XT and after a restoration I am not able to find the network card drivers which is Intel PCL2NIA lan card,if you have any knowledge or have them please replay at your earliest convenience.

  2. Elena says:

    No, it is actually not a waste of time to have the network up and running since that is the easiest way to copy files in the VM instead of shutting it down and mounting it on the host. Also I don’t get what you need Windows 3.x for to play dos games, they run on native msdos6.22 or freedos better.

    Just 2 sidenotes:

    1, Do NOT install the MSClient (DOS network driver) together with the windows counterpart, the networking will work in windows but it messes up the DOS installation.

    2, Do NOT install DOSIDLE (or at least don’t load it) it will crash the vm at loading windows 8/10 times with vmdk disk read errors, the suggested WQGHLT will work

    I wanted to do 1 single VM with MSDOS6.22, Win1, Win3.1, WFW 3.11 but realized they are better to be installed separately. Good article anyway.

    1. Christian says:

      Hey Elena,
      thanks for the feedback – glad to hear that at least some things helped you!

      I was mainly using this WfW VM “for fun” – my first PC back in the 90s was running WfW 3.1 and so it was nice to see the known things again. Also I checked out some abandonware, such as Microsoft Visual Basic, etc. For gaming I would also rather use DOSBox. 🙂

      Best wishes – stay healthy,
      Christian!

  3. Neil says:

    Hi Christian, thank you for your informative site. I have doing a bit of retro computing as part of a tech cleanup and seeing what old software I could get spun up on VMs which included old versions of Windows (3.0, 3.1 etc) and some old software like HP NewWave which were released back in the 3.0 days.

    Although this was my ‘bread and butter’ job back in the day, I think I have forgotten more than I knew although it is all starting to come back to me 🙂

    The challenge of pulling off software, including from 5.25″ diskettes, has been fun and I have using FTP to move them files around. My VMWare workstation doesn’t have FDDs or even interface support for them whereas as my old source PC is too old for USB!

    A Novell ODI stack is easy to run up on DOS and I also have a copy of the Novel LAN Workplace for DOS which has both a good command line and Windows FTP client.
    I’m finding you have to play with various versions of shell programs (LSL, TCP/IP) and DLLs to get thing working reliably and having the ability to run this software up ‘on the metal’, even old metal, helps to resolve whether it is a VM issue or not.

    I have also been using UltraISO to move files/programs around from the diskettes to IMG files and allows me to easily change source diskette size… just drag and drop… too easy. I presume the other ISO programs out there will work similarly. The RawRead applications tend not to support the old 5.25″ formats.

    I am now trying to get the Win32S subsystem working on Win 3.11 … it looks to be a challenge!

    BTW, using VMWare Player 15 although I do have an old copy of VM Workstation here… somewhere!

    Cheers

    1. Christian says:

      Hey Neil,

      what a lovely story – brings back some old memories, thanks for sharing and the feedback! 🙂

      Running retro operating systems and applications virtualized on modern computers is really becoming a problem. As you experienced, recent hypervisors are dropping support for old devices.
      Maybe BOCHS would also be an option for having a virtual FDD. I saw that some retro gamers use this.

      It would have been great for me to have a network back in the 90s. I had those old 3Ccom 3c509 NICs with token ring and Ethernet – but no switch or terminators. 😀
      But on the other hand – networking on DOS was kinda buggy, even with the latest TCP/IP drivers. So I’m afraid I wouldn’t have any fun with it as a kid.

      UltraISO is very useful! Also used it for creating backups of my original MS DOS and Windows diskettes.

      I remember finding an old VMware version on a a public FTP listing of an university. But without a license it was kinda useless.

      If you’re into retro computing and gaming you might want to check out LGR on YouTube. It quickly became my favourite channel. 🙂

      Best wishes – stay healthy,
      Christian.

  4. Neil says:

    Hi Christian, thanks for the response.

    My main interest is in early internet (and networking) technologies and I now have a copy of NCSA Mosaic almost running on the Windows 3.1/Win32s VM.
    If you think early Internet Explorer versions were rudimentary… well…

    Although the download site for Win32s builds suggested v1.25 being most suitable in a VM environment I found that the Win32s apps I had, the bundled FreeCell and Mosaic, failed with a common ‘DOS 21’ error. The last 1.30c version resolved this problem with both applications working although Mosaic wasn’t recognising the TCP/IP stack.. so it I will have to play with various combinations of Winsock and related DLLs… but then that might break other network apps.

    Who needs games when you’ve got this much fun!

    Next challenge is getting a full NetWare IPX stack working as well as a bit of IP Tunnelling 🙂 to a Netware 3.11 server I have built up.

Leave a Reply

Your email address will not be published. Required fields are marked *