Make a DOS boot disk. You will be rebooting ALOT and you do not want go through the win95 boot procedure to open a DOS window.
THE BOOT DISK PART. DON'T ASSUME. READ THIS PART.
Here is the correct procedure to make a DOS boot disk.
What, you a have a win95 computer that you bought with all the cards and software installed? You've have never installed all your software from scratch? Don't try this on your main machine. Find or borrow another to practice on. This should be a no brainer.
You, having a room temperature IQ, decide to press on. Gather all the driver disks, documentation, etc. in a pile. Are any of the drivers on CD only? Copy the files down to floppy before starting. CD's generally have every driver the manufacturer makes plus Acrobat on it. (Used to be CompuServe font ends. Now it's Acrobat Readers. Weird.)
find a computer that has DOS 6 or better on it. You can use a lower version, but DOS six has a single stepping procedure using the F8 key that is very convenient. It doesn't matter if you won't be running DOS on this machine. I haven't tried a Win95 COMMAND.COM boot disk, but I'm sure it's sabotaged in some way.
get the crynwr packet drivers off the web. They are available from www.crynwr.org but their server is pretty busy. It's likely a file called drivers.zip or pktd11.zip about 450k long. Unfortunately, people have been adding and removing files for there own purposes so they might not all be there. If you can find the 1.2 meg omnibus file you should be OK. If your file is missing some of the utility programs listed in install.doc, you don't have the whole thing.
Get a file called ipxpd.com from the web. It's not included with the drivers.
Create a directory such as c:\ENET and unzip them into that. There is a file you'll want to read called install.doc
Copy ipxpd.com in there too.
Having this machine that has DOS on it, copy the two files
AUTOEXEC.BAT and
CONFIG.SYS
to the floppy.
type edit a:\config.sys and it should look something like this:
rem for esscolor sound card
rem device=C:\OPTi931\CDSETUP.SYS /T:X
DEVICE=C:\dos\HIMEM.SYS /testmem:off
DEVICE=C:\DOS\EMM386.EXE RAM X=C000-C7FF
BUFFERS=20,0
FILES=80
DOS=UMB
LASTDRIVE=Z
FCBS=16,8
DOS=HIGH
STACKS=9,256
rem aspi4dos is for a 1540 scsi controller
DEVICE=C:\SCSI\ASPI4DOS.SYS /D
rem aspicd is for a CD ROM
rem DEVICE=C:\SCSI\ASPIcD.SYS /D:aspicd0
lastdrive=z
You want to copy the drivers for all the cards and disks to the a: drive, as well as all the DOS programs you need. You don't know what disks and cards are in your computer? Here's your chance to change your mind on the aforementioned no brainer decision.
now you want to copy the files down for all those lines down to the a: drive.
CDSETUP.SYS
HIMEM.SYS
EMM386.EXE
ASPI4DOS.SYS
ASPIcD.SYS
Now you can do the same for AUTOEXEC.BAT
rem for sound card
rem SET BLASTER=A220 I5 D1 T4
rem SET SOUND16=C:\OPTi931
rem for if the CD is installed
rem mscdex.exe /d:aspicd0 /l:e /m:12
C:\DOS\SMARTDRV.EXE /X
PROMPT $p$g
rem the icon mouse is the little joystick one
C:\icon_mou.se\icn.com
PATH C:\WINDOWS;C:\scsi;C:\DOS;c:\
SET TEMP=C:\temp
doskey
PATH C:\OPTi931;%patth%
rem for sound card
rem C:\OPTi931\sndinit /b
copy the files down to the a: drive
MSCDEX.EXE
SMARTDRV.EXE
ICN.COM
SNDINIT.EXE
Now hit the RESET button on your computer and it will reboot perfectly.
However, you are completely hosed if your hard drive fails because the CONFIG.SYS and AUTOEXEC.BAT are loading the files off the C: Drive. (Another few hours gone from your life)
Now type edit a:\config.sys and change it to read:
rem for esscolor sound card
rem device=a:\CDSETUP.SYS /T:X
DEVICE=a:\HIMEM.SYS /testmem:off
DEVICE=a:\DOS\EMM386.EXE RAM X=C000-C7FF
BUFFERS=20,0
FILES=80
DOS=UMB
LASTDRIVE=Z
FCBS=16,8
DOS=HIGH
STACKS=9,256
rem aspi4dos is for a 1540 scsi controller
DEVICE=a:\ASPI4DOS.SYS /D
rem aspicd is for a CD ROM
rem DEVICE=a:\ASPIcD.SYS /D:aspicd0
lastdrive=z
Hopefully you saw a pattern forming there.
I also did the REMarked out lines, since , sure as sunrise, someday you will forget...
Now a:\autoexec.bat
rem for sound card
rem SET BLASTER=A220 I5 D1 T4
rem SET SOUND16=C:\OPTi931
rem for if the CD is installed
rem mscdex.exe /d:aspicd0 /l:e /m:12
a:\SMARTDRV.EXE /X
PROMPT $p$g
rem the icon mouse is the little joystick on
a:\icon.com
PATH C:\WINDOWS;C:\scsi;C:\DOS;c:\
SET TEMP=C:\temp
doskey
PATH C:\OPTi931;%path%
rem for sound card
rem C:\OPTi931\sndinit /b
PATH is an environment variable that tells COMMAND.COM where and in what order to look for
the things you type at the command line. Modify it to have ;a:\ at the end:
PATH C:\WINDOWS;C:\scsi;C:\DOS;c:\;a:\
Now, it will still invoke the programs off the much faster C drive but if C is hosed, it will fall back
to the a: drive and still find it.
Reboot. It should work perfectly.
You are not done yet. Reboot again. You have probably noticed that a computer will not respond to the keyboard until "Starting MS-DOS..." appears on the screen. Watch for this and press F8 as soon as you see it. If this is DOS 6 or better, it will stop and ask you if you want to process each line in CONFIG.SYS and AUTOEXEC.BAT
Hit Y, for each line, watching for error messages. Nearly always it will be a typo. Since you did this, you probably see messages like "ERROR IN CONFIG.SYS line 1..." etc. CONFIG.SYS doesn't like REMark lines, interprets them as errors, and ignores the line, which is what you wanted it to do anyway. AUTOEXEC.BAT doesn't have a problem with this. It shouldn't matter if you remove the REMark lines to make it look neater and get a tiny speed increase. Whatever melts your butter.
You also noticed that when editing the CONFIG.SYS you changed a line to read
DEVICE=a:\DOS\EMM386.EXE RAM X=C000-C7FF
OOPS, you don't have an a:\DOS directory.
How about:
DEVICE=a:\EMM386.EXE RAM X=C000-C7FF
That works better.
You have a boot disk with 745k used. Copy down:
EDIT.COM
QBASIC.EXE (edit needs qbasic to run)
and I like to add a couple of my favorite utilities
LIST.COM
and PKUNZIP.EXE
other handy files are FORMAT and FDISK. MSD and ATTRIB are good if you have space.
You've got a 990K boot disk that seems to work pretty good. But you don't know that SNDINIT.EXE needs SNDINIT.CFG, found only in the OPTI931 directory.
About the only way you'll find this out (or a million other surprises) is to power down, pull the data cable or power cable out of your hard drive and boot from the floppy. If everything works, except the drive, you're all set.
Now, if you got this off a machine that has SCSI devices and you have booted on an all IDE machine, you can remove all SCSI related commands. Most likely it will be a different sound card also. Your monitor will always come up in VGA if nothing else.
Assuming your CD is working correctly (try DIR D:\) you can recycle the drivers you copied down to floppy. If you have installed the DOS versions of your sound, video, scsi etc. drivers before, great. Otherwise, install the DOS drivers for everything (creating directories, copying files etc. in DOS mode shouldn't faze win 95)
NOW you have a DOS boot disk.
THE ETHERNET PART
STEP 1 of 3
Assuming your card is one of the ones listed, that will be your very first program, the packet driver. If it is not listed, try NE1000 (for a card that fits in a short slot) or NE2000 for a card that fits in a long slot. These are the generic Novell card drivers.
It is the smart thing to strip down the computer. In particular, pull out the sound card. Try to start out with just the VGA card, IDE card and Ethernet card. I always try just plugging it in and it works first try. But it doesn't. Strip down the computer NOW. I never do this myself, I dick with it another 3 hours. Then I strip it down.
Your card is a generic Novell NE2000 compatible. Since you are using the crynwr drivers, you probably don't have any disks or documentation either. Try to find some on the web. You'll feel pretty silly trying to get an Arcnet card to do Ethernet, just because it has a BNC connector.
The card will probably be arranged something like this:
There's a row of 12 jumpers. This is the thin or thick ethernet connector. You probably want to use thin ethernet (a cable TV type cable) and you probably want these unjumpered.
There will be several single jumpers.
One will probably be for 50 termination or untermination. You want terminated.
There will probably be one of for a boot PROM. If you have an empty socket, you don't have a boot prom. the jumper may be close to the socket
Maybe a single one for wait state. Doesn't matter.
There might be a row of four DIP switches for IO Address. These tend to be in the range of 300, 320, 340, and 360. Default is usually 300.
There might be 4 more switches for a boot prom base address. Doesn't matter.
Still assuming our card is a generic NE2000 compatible:
c:\enet type driver name | Pkt Interrupt Address | | IRQ | | | IO Address | | | | NE2000 0x60 3 300and you should see the message:
Packet driver for NE2000, version :.4.1
Packet driver skeleton copyright 1988-92, Crynwr Software.
This program is free software; see the file COPYING for details.
NO WARRANTY; see the file COPYING for details.
Packet driver is at segment 09C5
Using 80[123]86 I/O instructions.
Interrupt number 0x3 (3)
I/O port 0x12C (300)
My Ethernet address is FF:FF:FF:FF:FF:FF
The card is sick! The clue is that is
My Ethernet address is FF:FF:FF:FF:FF:FF is wrong.
This is not written down anywhere on the WWW (I checked(1))
Another clue is that I/O port 0x12C (300) doesn't look quite right
This is where a program included in the package called termin comes in handy.
type:
termin 0x60
to remove the driver
Now do it right
(I spent a day of my life learning not to forget this 0x )
|
NE2000 0x60 3 0x300
and you should see
Packet driver for NE2000, version :.4.1
Packet driver skeleton copyright 1988-92, Crynwr Software.
This program is free software; see the file COPYING for details.
NO WARRANTY; see the file COPYING for details.
Packet driver is at segment 09C5
Using 80[123]86 I/O instructions.
Interrupt number 0x3 (3)
I/O port 0x300 (768)
My Ethernet address is 00:40:33:20:62:A1
Now the card is happy. Every card has a unique address (burned into it) and usually on a sticker on the card somewhere. Your life will be easier later if you write id down now. Your life will be easier still if you write it on a sticker and put it on the monitor. It's also on a sticker on the card.
STEP 2 of 3
c:\ENET
type
ipxpd
you'll see:
Novell IPX/SPX v3.04 (910703)
(C) Copyright 1985, 1991 Novell Inc. All Rights Reserved.
LAN Option: Packet Driver V2.01 (890427) BYU Copyright 1989
Hardware Configuration: Packet Driver Interface. Find Interrupt.
Essentially nothing goes wrong with this part. About the only thing to watch for is there is an older versions of the file out there, called pdipx.com. One is version 3.01, one is 3.04
STEP 3 of 3
Testing it out with DOOM Shareware.
Search the net for The shareware version of Doom.
I found
Doom1_2a.zip 1,420KB and
Doom1_2b.zip 785KB
pkunzip them into a temporary directory and run install.bat
It will install to a directory called DOOMSW
Run IPXSETP and it will start looking for another game. (you can also invoke this from within doom)
Start it on the other machine and it should find it right away.
PART TWO: It doesn't work. (You didn't really think there were just three steps did you?)
Suppose your are setting up for a 4 player Doom game on using a 586, 486DX, 486SX and a 386SX. You have two different Novell NE2000 clone cards, a Western Digital 8013 EPC and an 8013 EBT. They are all BNC (round metal connector) and not UTP (big phone jack).
486DX, NE2000 clone. Since this is a Win95 machine am booting off a floppy. The card options are jumper selected.
relevant lines from AUTOEXEC.BAT
REM Novell generic NE2000 pkt intr, irq, io addr
LH /L:1,6208 a:\ne2000 0x60 5 0x300
REM ipx driver
LH /L:1,38128 a:\ipxpd.com
everything seems to work fine.
The 486SX, NE2000 clone. DOS machine.
relevant lines from AUTOEXEC.BAT
REM Novell generic NE2000 pkt intr, irq, io addr
LH /L:1,6208 c:\dos\ne2000 0x60 5 0x300
REM ipx driver
LH /L:1,38128 c:\dos\ipxpd.com
And it appears to be working fine. (it's not, but don't know that yet)
The 386SX, Western Digital 8013 EPC. Can be soft set or hard set. It's on soft. (Meaning you can set all these parameters from the command line.)
The driver for Western Digital is called smc_wd.com. A company called SMC bought Western Digital years ago. At any rate, typing
smc_wd 0x60 10 0x300
Gives you a "not at this I/O address " error. Reading install.doc tells us there is a -o switch that tells it to disable the occupied memory check.
smc_wd 0x60 -o 10 0x300
doesn't work either.
smc_wd 0x60 -o 3 0x280 does work, however.
Why? Who knows. Maybe I have a flaky card. At any rate it points to a good installation rule of thumb, the flakiest card gets first choice of IRQ's and IO Addresses. In my experience sound cards are the flakiest, and get first choice. Fortunately, we pulled the sound cards a few paragraphs back.
The card isn't working yet, by the way. More on this later.
Pentium 166, Windows 95 machine. WD 8013EBT card, set by jumpers. Since the machine has speed to spare, I let Win 95 handle the drivers. (mistake). Click on "My Computer", "Control Panel", "Add New Hardware", do not let it search, pick "Network adapters" from Hardware types,"SMC Ethercard (All ISA types except 8013/A" and so forth. When you get to shutting down the computer, don't. Go to "Control Panel","System","Device Manager" and double click on your card Go to "Resources" and notice has assigned IO, IRQ, and Memory essentially at random. Change these setting to match your card before rebooting. If you have conflicts, find some that you know your card can reach then change the jumpers after powering down. Some conflicts you can live with, if you've got nothing attached to LPT2 then ignore it. I once had a mouse, printer and CD ROM on IRQ three and didn't notice for weeks since never used any two of them at the same time.
This machine isn't working yet, either.
TROUBLESHOOTING
Running all 4 machines at once, with Doom Setup to search for a 4 player game
486dx NE2000 Finds a node
586, SMC_8013EBT running from a DOS window, sits looking, doesn't find anything
386DX SMC_8013EPC sits looking, doesn't find anything
486sxm NE2000 Finds a node
This should have set some alarm bells ringing. The 586 SMC card would not boot load from DOS in any configuration, but Windows loads it up fine and says it works perfectly. Hmm.
Taking one of the 486's, its time to run a great piece of DOS shareware called Ether Load. (search for ethload200.zip on the web).
With ethernet running, it sees the other 486 (If it in the Doom "Looking for Node" stage) and displays it by it's MAC address (here's the part where you wrote it down and stuck it to the monitor comes in handy). It sees the 386DX banging away too, in fact it you hit P for Protocol..the machines are using different frame types.
A note on etherload: Your card has to be able to go to promiscuous mode. (Recieve everything). The NE200 cards couldn't, the SMC cards could. To check your card, use the pktmode utility to set the card to mode 6. Type: pktmode 0x60 .
For the a smc card, something like smc_wd 0x60 -o 3 0x280 0xd000 should work. If you run into the problem of Ethload not being able so see all packet (like it will see only ARP/RARPS when you have two machines on continuos ping, disable the ipxpd.com on the machine running ethload.
FRAME TYPES
I won't go into frame types except to say it is how the bits are partitioned for the header, data, error correction and so forth for the packet. That knowledge is one of those questions I'd like to know the answer to but don't feel like putting the research into, such as what country they film those "Mentos" commercials in.(2)
Nutshell is that the cards generally run IEEE 802.3 (also known as class 11) or Ethernet 2 (also known as Blue Book class 1). There's also a type "8137 Novell Netware" floating around in there somewhere.
It sees one running RAW 802.3?
another NOVELL IPX
The NE2000 cards run Novell IPX frames right out of the box, while the SMC cards don't Running
smc_wd without the -n switch or with the -I switches forces an 8137 frame type.
smc_wd -n 0x60 -o 3 0x280
fixed the 386 and now three machines are running DOOM.
In a weird twist Ether Load will show the wrong protocols but will not display the correct protocol, which I am just assuming at this point is 802.3 The hazards of dealing with shareware. (Later on, this problem went away. When Doom is looking for a node, ethload reports it as "Novell RAW IEEE 802.3 ?"
The 586 will not load in the worst way and Win 95 has essentially zero troubleshooting capabilities, and after 8 trips to the "System","Device Manager" and "This device is working properly" I just don't get the warm fuzzy I used to. Windows 95 cannot explore the network and find any computers, including another Win 95 box.
The 586 box has a much newer BIOS, and checking that reveals the PNP has taken all the IRQ's except 3 and 4. Check IRQ 5 and give it back to the ISA slots.
This it not the problem, but would have been later on.
Booting off a DOS disk, the card will not load, claiming its memory is in use. Booting off a nearly sterile boot disk (containing MSDOS.SYS, IO.SYS, COMMAND.COM, SMC_WD.COM and IPXPD.COM) and the card DOES load. This is an immediate clue that something in CONFIG.SYS or AUTOEXEC.BAT is blocking the cards memory.
After remarking everything out everything that could possible stall the ethernet card, I rebooted repeatedly, adding back one line at a time. It turned out the line in CONFIG.SYS reading
DEVICE=a:\EMM386.EXE RAM X=C000-C7FF
excluded memory the card needed. This is a residue of running MEMMAKER before the card was
installed. Changing the line to read:
DEVICE=a:\EMM386.EXE
Fixed it up and now 4 machines Run Doom
THE BATTLE IS OVER, TIME TO GO BAYONET THE WOUNDED.
You'll have to get rid of all those files you didn't need and the 4 copies of Ether Load. Now is a great time to make four separate boot floppies. I like to create a directory on C called BOOTFLO.PPY and copy all the relevant files into it. Some people prefer a multiple boot OS.
DOOM runs fine on a 486 with 8 megs. QUAKE, REDNECK RAMPAGE and DUKE NUKEM 3D will load but are essentially unplayable, save your time there.
Installing the sound cards is another adventure beyond the scope of this page.
A really dedicated person would write all this down and keep all the documents in a handy location.
Good Luck.
(1) DEC's altavista project searches every word of every reachable web page in the world every week (I believe currently it they cycle through every 5 days.) Go to www.altavista.com and do a simple search on "My Ethernet address is FF:FF:FF:FF:FF:FF". Don't dick around, use altavista.
(2) Holland
(3) Troubleshooting: A Single machine DOOM runs fine while networked doom is jerky (screen freezed for a second then starts again) or else runs a few seconds then freezes.
Got three machines running good when disconnected from a sparc and a 386 for net monitoring.
So I'm thinking:
-Doom itself has a problem with an other frames on the ethernet
-Got a flaky cable (I made it myself so of course it couldn't..nah..it's a fifty footer and the problem persists
even when there is nothing on the other end..hmm.)
-IPX standard does not like other frames around.
Yet another thing for the 'needs more research stack'