Set up a DOS VM with CDROM & network card & browser

Discussions about using non Windows and Linux guests such as FreeBSD, DOS, OS/2, OpenBSD, etc.
ghr
Volunteer
Posts: 376
Joined: 25. May 2007, 22:46
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: DOS, Win3x, Win95, WinXP, Ubuntu, OS/2

Set up a DOS VM with CDROM & network card & browser

Post by ghr »

SET UP A DOS VM with CDROM & NETWORK CARD & BROWSER


Overview

Below you find tips on how to..:
- install DOS 6.22
- load drivers for a CDROM drive and a mouse
- load drivers for the network card
- reduce CPU load
- installing a browser
My host system is a typical WinXP machine with 1280*1024 display.
I used VirtualBox 1.3.8, 1.4.0 and 4.1.8 (the latter under Ubuntu 10.04). VirtualBox 4.1.8 specifics:
- add a floppy disk controller
- disable hardware virtualization
- PIIX3 IDE
Last two choices are on the safe side; perhaps you can do with the defaults.

Hint: once you feel familiar with CDROM images you can collect all your drivers and applications there and significanctly speed up your installation process.

Installing DOS 6.22

Create a new VM using the OS Type DOS defaults: 32M memory and a 500M hardisk. Use defaults all the way until the machine is created; next, connect either your host floppy drive A: or an image - with the first DOS 6.22 setup floppy.

Start the VM and follow the instructions for loading DOS.
When done: reboot after removing the 3rd floppy and there you are....


Some errors and how to correct them:

- setup halts in formatting drive C:
Solution: reboot, and press F8 to manually refuse loading of AUTOEXEC.BAT. The A:\> prompt will appear, give the command 'format c:' and enter the command 'setup' once formatting is done.

- setup error detected: the following disk error was detected.
The listed file was not copied.....
Solution: either ignore or reload... or manually repair the error.

- keyboard entry: arrow keys jump over two positions etc.:
Solution: use the keys on your numerical keypad.

- lack of memory (for running some applications below)
Solution: use emm386; for example, add this line in config.sys:
DEVICE=C:\DOS\EMM386.EXE NOEMS I=B000-B7FF X=D000-D4FF

- write protected floppy: VirtualBox doesnt support these when reading from images..
Solution: there's no solution other than to be careful. Setting the file (via the host OS) to read-only leads to VirtualBox refusing to start the VM.

Loading drivers for a CDROM drive and a mouse

Where to find them if you don't have them ? Some suggestions:
- http://www.uwe-sieber.de for CDROM & mice
- http://www.webpro.co.za/tutor/cd-setup.htm for CDROM setup
Many drivers from Oak will do for your CDROM; for a mouse Cutemouse,
Microsoft or Logitech drivers can be used.

The relevant lines in my system files looked like:
(config.sys, cdrom) device=c:\cdrom\aoatapi.sys /d:cd001

(autoexec.bat, cdrom) mscdex /d:cd001
(autoexec.bat, mouse) mouse\mouse.com

Loading drivers for the network card

Because VirtualBox uses relatively new hardware (as seen from the DOS era) this is somewhat harder than the above. I found this website the most useful one:
http://www.encaseenterprise.com/support ... tdisk.aspx.
The older version of this link was http://www.guidancesoftware.com/support ... tdisk.aspx.

Download ENBD1006.exe mentioned there and follow the instructions. You'll end up with a floppy that pretty much shows you how to set up the VirtualBox AMD PCNet card for DOS. Alternatively the AMD website(s) also host many drivers for this family of NICs in combination with older OS'es like DOS & Win 3.x.

The essential lines from config.sys:
REM DEVICEHIGH /L:2,4656 =C:\NET\IFSHLP.SYS
DEVICE = c:\NET\PROTMAN.DOS /I:\NET
DEVICE = c:\NET\DIS_PKT.DOS
DEVICE=C:\NET\PCNTND.DOS

and from autoexec.bat:
SET BIND=PCNTND
\NET\NETBIND

Note the packet driver DIS_PKT.DOS.

Reducing CPU load

To avoid your modern CPU being loaded fully by this small and old OS use an utility called DOSIDLE. It can be found on the web... I use version 2.10. It can be loaded from autoexec.bat.

Installing a browser

For browsing the internet I chose the well known Arachne browser from Arachne Labs. The browser should automatically detect the packet driver installed at Int 0x60. An extra feature is screen handling of this browser inside VirtualBox: you can easily run it in 1024*768 ! I used Arachne 1.90J1-387.

Note: in this case you might want to use CTMOUS supplied with the Arachne install kit.

Famous last words

This is sketchy; nevertheless I hope it gives you enough hints to try it.

Revisions
Dated 20120324: adding a few VirtualBox 4.1.8 notes, on creating the Virtual machine. I did not check the packet driver + browser parts (yet).
Last edited by ghr on 24. Mar 2012, 22:16, edited 2 times in total.
steqve
Posts: 21
Joined: 18. Jun 2007, 11:28

Post by steqve »

Maybe you could set up a disk-image for download? :)
ghr
Volunteer
Posts: 376
Joined: 25. May 2007, 22:46
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: DOS, Win3x, Win95, WinXP, Ubuntu, OS/2

Post by ghr »

OK, some more hints.

Run ENBD1006.exe mentioned above and study the resulting floppy.

In my VM described above the C:\NET subdirectory has the following files:

DIS_PKT DOS 5,836 06-14-04 12:00a
NETBIND COM 8,513 06-14-04 12:00a
PCNTND DOS 52,736 08-01-03 1:00a
PROTMAN DOS 21,940 06-14-04 12:00a
PROTMAN EXE 13,782 06-14-04 12:00a
PROTOCOL INI 133 06-01-07 10:37p

And PROTOCOL.INI is listed below for your convenience:

[PROTMAN]
DriverName = PROTMAN$

[PKTDRV]
DriverName = PKTDRV$
intvec = 0x60
chainvec =0x66

[PCNTND]
DriverName = PCNTND$

That's all !
Pichet
Posts: 1
Joined: 10. Nov 2007, 10:58

Post by Pichet »

Hi everyone,

I can see that 'Arachne' has been mentioned and it
happens to be one big memory hog as i recall. The
AMD Class-1 WatTCP-Compatible Packet-Driver sounds
like a suitable alternative to me, it represents a
54 % reduction in memory consumption in comparison
to an NDIS contraption, which leaves room for more
items including foreign language keyboard drivers,
etc... I may be mistaking but i believe there are
no DOS additions available; yet, a DHCP client is
a must while configuring Waterloo TCP environments
so a tool like 'MS-Kermit' makes this less tricky:
  • 1)

    Launch the 'MS-Kermit' application once you got
    your 'PCNTPk.COM INT=0x60" command executed.


    2)

    Knowing where the MoDem/Router and its internal
    DHCP server are located (i tried this procedure
    on my Thomson SpeedTouch), use your 'MS-Kermit'
    command-line as shown here:
    • a) "set port tcp/ip speedtouch.lan"
      b) "set tcp address dhcp"
      c) "set tcp packet 0"
      d) "connect"

      Note: relatively to step a), it's necessary to
      use an URL which is in accordance to the
      situation. The SpeedTouch defines it as
      "speedtouch.lan", yours will most likely
      differ.

    3)

    Negotiations should take place, press [Alt]+[X]
    to get back to the 'MS-Kermit' command-line and
    enter "show network", which displays the actual
    values after they have been negociated.
:)

Speaking of 'MS-Kermit', i've found that speed was
significantly improved in TelNet sessions once the
'RLFossil' shim was installed, by-passing internal
TelNet support; one possible explanation could be
about the buffering taking place in 'RLFossil'...

8)

Anyway, my intent is to point out that MicroSoft's
TCP/IP stack isn't the only solution available. A
number of applications as 'WatTCP-FTP', 'IPXCopy',
etc. might also make sense depending on your case.

Here's the Packet-Driver i got, it works normally:

Image

Novell's DOS ODI WorkStation stack must be another
nice resource to play with but i haven't found the
time to validate my assumption. Though, i do know
that the 'DrWebDem' demo (by Caldera) did use it.

:mrgreen:
PGHammer
Posts: 23
Joined: 2. Dec 2007, 11:30

As opposed to MS-DOS....

Post by PGHammer »

Pichet wrote:Hi everyone,

I can see that 'Arachne' has been mentioned and it
happens to be one big memory hog as i recall. The
AMD Class-1 WatTCP-Compatible Packet-Driver sounds
like a suitable alternative to me, it represents a
54 % reduction in memory consumption in comparison
to an NDIS contraption, which leaves room for more
items including foreign language keyboard drivers,
etc... I may be mistaking but i believe there are
no DOS additions available; yet, a DHCP client is
a must while configuring Waterloo TCP environments
so a tool like 'MS-Kermit' makes this less tricky:
  • 1)

    Launch the 'MS-Kermit' application once you got
    your 'PCNTPk.COM INT=0x60" command executed.


    2)

    Knowing where the MoDem/Router and its internal
    DHCP server are located (i tried this procedure
    on my Thomson SpeedTouch), use your 'MS-Kermit'
    command-line as shown here:
    • a) "set port tcp/ip speedtouch.lan"
      b) "set tcp address dhcp"
      c) "set tcp packet 0"
      d) "connect"

      Note: relatively to step a), it's necessary to
      use an URL which is in accordance to the
      situation. The SpeedTouch defines it as
      "speedtouch.lan", yours will most likely
      differ.

    3)

    Negotiations should take place, press [Alt]+[X]
    to get back to the 'MS-Kermit' command-line and
    enter "show network", which displays the actual
    values after they have been negociated.
:)

Speaking of 'MS-Kermit', i've found that speed was
significantly improved in TelNet sessions once the
'RLFossil' shim was installed, by-passing internal
TelNet support; one possible explanation could be
about the buffering taking place in 'RLFossil'...

8)

Anyway, my intent is to point out that MicroSoft's
TCP/IP stack isn't the only solution available. A
number of applications as 'WatTCP-FTP', 'IPXCopy',
etc. might also make sense depending on your case.

Here's the Packet-Driver i got, it works normally:

Image

Novell's DOS ODI WorkStation stack must be another
nice resource to play with but i haven't found the
time to validate my assumption. Though, i do know
that the 'DrWebDem' demo (by Caldera) did use it.

:mrgreen:
Actually, FreeDOS includes a TCP/IP stack (http://www.freedos.org); even better, it is installable from an ISO image, and, like VB itself, is completely free. If you plan on installing MS-DOS (6.22 or earlier) in a VM, I suggest adding Windows for Workgroups 3.11 *and* the updated (and considerably faster) TCP/IP 3.11b stack (originally code-named "Wolverine").

For grraphics support, use the included generic 1024x768 SVGA driver (with large fonts, included with Windows for Workgroups) along with IE 3.03 16-bit (available from http://www.hpcfactor.com or via a Google search) for Web browsing.

Why TCP/IP 3.11b? Simple; it directly supports DHCP (which the earlier TCP/IP stack included with WfWG lacks) and will thus work with VB's NAT support.
ghr
Volunteer
Posts: 376
Joined: 25. May 2007, 22:46
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: DOS, Win3x, Win95, WinXP, Ubuntu, OS/2

Post by ghr »

Of course, and Win95 would even be better !! But that's off topic here.

Pichet - thank you for your contribution, useful for those who want to stick to DOS. Using Arachne indeed eats a lot of memory.

For those who whant to check out Win (WfW) 3.x : these posts can be read and continued:
- Set up a Win 3.x VM with browser: http://forums.virtualbox.org/viewtopic.php?t=869
- Set up Win 3.x with 1024*768 resolution: http://forums.virtualbox.org/viewtopic.php?t=1033
- WfW 3.11 VM with Win XP host networking (shared folders): http://forums.virtualbox.org/viewtopic.php?t=870

Note 080310: the packet driver solution with pcntpk did not work yet with VirtualBox 1.3.8, 1.4.0 (see http://www.virtualbox.org/ticket/259)
Last edited by ghr on 10. Mar 2008, 23:16, edited 1 time in total.
TheHijacker
Posts: 1
Joined: 7. Feb 2008, 13:30

Post by TheHijacker »

- keyboard entry: arrow keys jump over two positions etc.:
Solution: use the keys on your numerical keypad.
Any other solution to this problem? Its not just arrow keys, but Delete, Insert, etc. They all count as twice pressed.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Post by mpack »

VBox 1.6.4. XP Home host, DOS 6.22 guest.

For fun I created a DOS 6.22 VM - my eventual goal is to create a Win3.1 VM (so I can remind myself what it was like). I'm avoiding FreeDOS because I heard there are problems using that as a base for Win3.1.

I have encountered two problems with the DOS 6.22 VM :-

First is the keyboard problem that others have seen, ie. that almost all of the special (non-ASCII) keys seem to be improperly debounced (a guess - I'm not sure what the real problem is). Anyway, the result is that the keystroke always registers twice, very annoying. The numeric keypad provides alternative ways to get some of these. :arrow: I notice that this problem doesn't arise in FreeDOS. I wonder why not?


Second, I'm having terrible problems getting a CDROM driver working. In fact the CDROM itself isn't the problem, the problem is that every time I install a CD driver, I start getting disk errors on my HDD (C: ) drive. I've tried three different "universal" IDE CDROM drivers, each recommended somewhere on these forums, each loaded using a devicehigh statement in config.sys. In each case after the reboot if I run "chkdsk" on the C drive then it reports lost clusters and says that it can't recurse into the folder where the CDROM driver is stored. This obviously makes me reluctant to proceed any further. Note that in these experiments I only loaded the driver, I didn't load MSCDEX because I wanted to exclude that as a potential common point of failure.

The VBox manual isn't very clear on how the CDROM is virtualized. I suspect it goes on the secondary IDE channel? Could it therefore be interfering in some way with the primary IDE channel, my virtual hard disk?

I'm especially interested in whether anyone else has seen the second problem?
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Post by mpack »

mpack wrote:I'm especially interested in whether anyone else has seen the second problem?
Isn't it always the way? I struggle for a day with a problem, and then three minutes after telling the world about it, I find a solution to my CDROM problem.

The problem was: in CONFIG.SYS there has to be a line which loads the device driver. I had :-

(config.sys) devicehigh=c:\cdrom\drvrname.sys /D:CDROM

The "/D:CDROM" bit is because you have to give a name to the driver which you can later reference when loading MSCDEX in autoexec.bat, eg. :-

(autoexec.bat) lh c:\dos\mscdex.exe /D:CDROM

After posting my previous message a thought occurred to me: the arbitrary name I chose for the driver just happens to match the name of the folder I'm having trouble with. Coincidence? So, I gave the driver a nonflicting name CD001 - and the problem went away!

Very strange.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Post by mpack »

And, now that I had my serious CDROM problem out of the way I was able to take a look at the double-keystroke keyboard problem. The solution for that turns out to be easy too: a keyboard driver that installs a keyboard filter (BIOS extension using int15 function 4Fh), rather than one which intercepts IRQ1 directly. The alternate keyboard driver can be found here :-

http://www.drivesnapshot.de/freedos/mkeyb.htm
gsearle
Posts: 36
Joined: 27. Oct 2009, 16:26
Primary OS: MS Windows XP
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Set up a DOS VM with CDROM & network card & browser

Post by gsearle »

It seems that DOSIDLE missed an interrupt. To allow MS DOS to sleep with VirtualBox, you can use SLEEPVM to supplement it. It is available from the following link:

http://platan.vc.cvut.cz/ftp/pub/vmware/sleepvm.tar.gz

This is a "GZ" file while can be expanded with WinZIP or another utility. Just place SLEEPVM next to DOSIDLE in your AUTOEXEC.BAT file (order doesn't matter). To suppress the cute message, use "SLEEPVM > NUL:".
ghr
Volunteer
Posts: 376
Joined: 25. May 2007, 22:46
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: DOS, Win3x, Win95, WinXP, Ubuntu, OS/2

Re: Set up a DOS VM with CDROM & network card & browser

Post by ghr »

Hi gsearle - could you give an example of an application where sleepvm reduces the CPU load ?
adlib69
Posts: 1
Joined: 30. Jan 2010, 19:24
Primary OS: openSUSE
VBox Version: OSE other
Guest OSses: win2000server; win311

Re: Set up a DOS VM with CDROM & network card & browser

Post by adlib69 »

Hi - I've been trying to load DOS with a view to loading win311 (don't ask me why!). I've managed to format the disk and get the three disk images (I'm using 6.2 as that's the only one I still have) I created to load successfully. However, when I 'reboot', it hangs at the 'Starting MS-DOS...' line. I've tried this on a Windows XP box, and also one running Suse Linux - same result on both. Any thoughts?
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Set up a DOS VM with CDROM & network card & browser

Post by mpack »

adlib69 wrote:I've managed to format the disk and get the three disk images (I'm using 6.2 as that's the only one I still have) I created to load successfully.
Did you use fdisk on drive C and then "format c: /s" ?

Another possibility is that your VM settings are too modern for DOS. Did you go with the defaults?
Comotose
Posts: 4
Joined: 17. Dec 2009, 08:32
Primary OS: MS Windows XP
VBox Version: OSE other
Guest OSses: Win 7

Re: Set up a DOS VM with CDROM & network card & browser

Post by Comotose »

I just installed VirtualBox on XPSP2 and have successfully installed the Win7 Enterprise Trial as guest OS. Still got a bit of work to do on it but it looks OK so far.

Then I decided to install a DOS 6.22 VM just for the hell of it, as I had a set of original floppies still in the shrinkwrap. Collectors item?

Anyway, everything goes OK up to inserting the second floppy. Pressing Enter after inserting the floppy doesn't remove the "Press Enter" prompt, and there is not even any attempt to read the floppy, so Ican't get to setup floppy #2.

Suggestions welcome.
Post Reply