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.