Ten Steps for the creation of a DOS 7.1 Real Mode System (Win98 DOS) with Network support
for either NETBEUI or IPX/SPX/Netware protocols
P. Scott Harris
e-mail : psharris@magma.ca
home page : http://www.magma.ca/~psharris
I had a requirement for network support with a machine controller running DOS. There
are a number of third party suppliers of client services for DOS but Windows 9x has
networking support built in. You can restart a Win9x machine in 'Command prompt only' mode
and get network access through the NET USE command but it requires a full Windows 98 install.
For situations where there isn't space or CPU horsepower available, it is easier to create
what is essentially a DOS 7.1 boot floppy having built in network support. The system can
then be transferred as usual to a hard drive using this boot floppy.
My experience has been that something that worked easily and well for me with a given
hardware setup may not work for you with a different hardware configuration. This procedure
comes with no guarantees and your mileage may vary.
It is assumed that you have Win98 installed on your machine and that you have some sort of
Network support installed. For this discussion, the following applies for the
development machine but any user and workgroup names could be used :
Windows 98 is installed
the machine/user name is 'homer'
the workgroup name is 'server.smb'
a DAVICOM 9102 PCI Fast Ethernet card is part of the motherboard (could be anything)
networking is installed
NETBEUI, IPX/SPX and TCP/IP protocols happen to be installed but others could be used.
NET only seems to support NETBEUI and IPX/SPX in real mode.
1: from a DOS window command prompt, create a bootable floppy
e.g. C>sys a:
2: locate and copy the xxx.DOS file that comes with your ethernet adapter to the floppy.
For this example, the file is called DM9PCI.DOS and resides in the C:\WINDOWS
directory.
3: create three register data files, KEY1.REG, KEY2.REG and KEY3 corresponding to the
system register entries for the following registry keys:
1-[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Network\Real Mode Net]
2-[HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\ComputerName\ComputerName]
3-[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
These files can be created in one of two ways:
Method 1 : edit the sample data files shown here and insert the user name,
workgroup and ethernet adapter DOS file that
applies for your system.
Method 2 : use REGEDIT.EXE to find the keys above and then export them to
the corresponding KEY1, KEY2 or KEY3 file
4: copy KEY1.REG,KEY2.REG and KEY3.REG to the floppy. For this example, the files look
like the following :
----- KEY1.REG -------
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Network\Real Mode Net]
"transport"="*nwlink,ndishlp.sys" <--- this line for IPX/SPX support
"transport"="*netbeui,ndishlp.sys" <--- or this line for NETBEUI support
"netcard"="DM9PCI.dos"
"LoadRMDrivers"=hex:00,00,00,00
"preferredredir"=""
----------------------
----- KEY2.REG -------
REGEDIT4
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\ComputerName\ComputerName]
"ComputerName"="homer"
----------------------
----- KEY3.REG -------
REGEDIT4
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"Workgroup"="server.smb"
"ComputerName"="homer"
"Comment"="My desktop"
"StaticVxD"="vnetsup.vxd"
"Start"=hex:00
"NetClean"=hex:01
"MaintainServerList"="2"
"LMAnnounce"="0"
"EnablePlainTextPassword"=dword:00000000
----------------------
5: find the following files (usually all residing in the C:\WINDOWS directory) on your
Win98 system and copy them to the floppy diskette:
REGEDIT.EXE
PROTOCOL.INI (use the accompanying listing as a model if you don't have one)
NET.EXE
NET.MSG
NETH.MSG
PROTMAN.EXE
PROTMAN.DOS
NDISHLP.SYS
IFSHLP.SYS
EMM386.EXE (optional if you want to use upper memory blocks etc.)
HIMEM.SYS
MORE.COM ( usually in C:\WINDOWS\COMMAND\ and useful for using NET.EXE help )
SYS.COM (usually in C:\WINDOWS\COMMAND\ and useful for systemm transfer )
----- PROTOCOL.INI ------- real mode network setup
[ndishlp$]
DriverName=ndishlp$
Bindings=DM9PCI$
[protman$]
priority=ndishlp$
DriverName=protman$
[data]
version=v4.10.2222
netcards=DM9PCI$,PCI\VEN_1282&DEV_9102&SUBSYS_82120291&REV_10
[DM9PCI$]
DriverName=DM9PCI$
[NETBEUI$] <--- include this section for NETBEUI support
DriverName=NETBEUI$
sessions=10
ncbs=12
Bindings=DM9PCI$
[NWLINK$] <--- or include this for IPX/SPX/Netware support
DriverName=nwlink$
Frame_Type=4
cachesize=0
Bindings=DM9PCI$
--------------------------
6: boot the machine using the floppy created so far as a boot floppy
7: the system should now be operating as a simple DOS real-mode machine. Create
a system registry file using the following steps:
A>regedit /c key1.reg
A>regedit key2.reg
A>regedit key3.reg
8: create a CONFIG.SYS file on the floppy containing the following lines
----- CONFIG.SYS -------
DEVICE=HIMEM.SYS
DEVICE=EMM386.EXE NOEMS
DEVICEHIGH=IFSHLP.SYS
DEVICEHIGH=PROTMAN.DOS /I:A:
DEVICEHIGH=DM9PCI.DOS
DEVICEHIGH=NDISHLP.SYS
DOS=UMB
DOS=HIGH
------------------------
This CONFIG.SYS file will basically give you lots of conventional DOS memory as well
as load the drivers for network support.
9: reboot the system (again) using the floppy diskette created so far as the boot floppy.
In order to check the default NETBEUI support, there must be a machine somewhere on the
network which uses the NETBEUI or IPX/SPX protocal (depending on what you chose) and
has sharing enabled for its drive. For this example, a machine named 'lisa'
had a shareable C drive called 'c-drive' and was set up for both NWLINK and NETBEUI
protocols.
10: at the prompt, invoke the NET programme (use NET USE /? | more ) to get help) :
A>net use n: \\lisa\c-drive
This hooks in \\lisa\c-drive as a network drive through N:
Once this works, you can take the floppy and use it to boot and transfer DOS to a different
machine. You could also copy most of the files from C:\WINDOWS\COMMAND\ in the original
machine in order to produce a more complete DOS system.
For completeness, a directory of the boot floppy is shown below:
--- hidden files ---
IO SYS 222,390 04-23-99 10:22p IO.SYS
DRVSPACE BIN 68,871 04-23-99 10:22p DRVSPACE.BIN
MSDOS SYS 6 08-30-00 11:02a MSDOS.SYS
SYSTEM DAT 8,192 09-12-00 11:41p SYSTEM.DAT
USER DAT 4,096 09-12-00 11:37p USER.DAT
5 file(s) 303,555 bytes
--- standard files ---
COMMAND COM 93,890 04-23-99 10:22p COMMAND.COM
DM9PCI DOS 46,828 03-18-99 3:02p DM9PCI.DOS
KEY1 REG 213 09-12-00 11:25p key1.reg
KEY2 REG 119 09-12-00 11:26p key2.reg
KEY3 REG 307 09-12-00 11:36p KEY3.REG
REGEDIT EXE 118,784 04-23-99 10:22p REGEDIT.EXE
PROTOCOL INI 311 08-16-00 9:41a protocol.ini
NET EXE 356,134 04-23-99 10:22p NET.EXE
NET MSG 109,196 04-23-99 10:22p NET.MSG
NETH MSG 73,275 04-23-99 10:22p NETH.MSG
PROTMAN DOS 22,810 04-23-99 10:22p PROTMAN.DOS
PROTMAN EXE 14,952 04-23-99 10:22p PROTMAN.EXE
NDISHLP SYS 6,140 04-23-99 10:22p NDISHLP.SYS
IFSHLP SYS 3,708 04-23-99 10:22p IFSHLP.SYS
EMM386 EXE 125,495 04-23-99 10:22p EMM386.EXE
HIMEM SYS 33,191 04-23-99 10:22p HIMEM.SYS
CONFIG SYS 162 08-14-00 8:09p CONFIG.SYS
MORE COM 10,471 04-23-99 10:22p MORE.COM
SYS COM 18,967 04-23-99 10:22p SYS.COM
19 file(s) 1,034,953 bytes
A typical boot up and network connection session is shown below :
--- boot from floppy here ---
Starting Windows 98...
DAVICOM DM9 PCI Series Ethernet Adapter NDIS 2 MAC Driver Version 1.07 ... etc message
Microsoft (R) Windows 98
(C)Copyright Microsoft Corp 1989-1999
A:\>net use n: \\lisa\c-drive
The WORKSTATION service is not started.
Is it OK to start it? (Y/N) [Y]:
DM9PCI Binded Result :10Base_T Half_Duplex
Type your user name, or ENTER if it is HOMER:
Type your password:*****
Type the password for \\LISA\C-DRIVE:*****
The command was completed successfully
A:\> n:
N:\> ..at this point you have access to the neworked N: drive
A display of memory for the CONFIG.SYS file above shows 612,608 bytes of conventional
memory free and 73,472 bytes if loaded high.
               (
geocities.com/riskyfriends)