Here you will find my attempts to get DOSBox running with a TCP/IP stack. My intention was to get a system environment similar to the one I used at university in the early 90ies. Back then there were only a few UNIX machines available but a lot of IBM PS/2 systems which were running DOS and Turbo Pascal for the computer science courses. With NCSA telnet we were able to log into the UNIX machines and do other stuff like C or Modula programming.
The whole thing is like a big game for me.. like a sort of a text adventure.. so DOSBox is the right platform to try this on.
First of all I had to get me that NE2000 patch for DOSBox. It is available here 1). This patch has a dependancy on libpcap that takes care about the network layer. So I had to download it from here and compile it - it worked out of the box.
At the time of writing the NE2000 patch was against DOSBox 0.72 and had some trouble to compile properly (missing defines for Pbool in dosbox.cpp and such). So I talked to the author and he extracted a patch of his MegaBuild5 which contained just the NE2000 stuff.
This new patch applied fine on DOSBox 0.74 sources and I was able to compile a static binary (should run on any PowerPC based Mac from 10.3.9 and up) which you will find here: DOSBox 0.74 NE2000
Right now I am trying to get the DOS NE2000 drivers to work. So this is still work in progress - mind you! I searched the internets and found this webpage that provides some old drivers and information about them.
A first test wasn't successful, though.
Update:
The other night I started using a harddisk image containing a real copy of MS-DOS 6.22. As far as I understand it the “DOS” inside DOSBox is missing the essential hooks for the network driver software from Microsoft.2)
Here is a little video showing my results (still no success
): dosbox_ne2k_2nd_try.mp4
Update:
Meanwhile I switched over from my PowerBookG4 to my INTeL-based iMac. Two things I have learned so far..
I need to specify the NE2000 related config parameters correctly inside DOSBox config file and I need to set the permissions for the network device so that I am able to connect to it (Thanks H-A-L-9001! ;-D).
The section inside my special DOSBox config for the NE2000 driver looks like this:
[ne2000] # ne2000: Enable Ethernet passthrough. Requires [Win]Pcap. # nicbase: The base address of the NE2000 board. # nicirq: The interrupt it uses. Note serial2 uses IRQ3 as default. # macaddr: The physical address the emulator will use on your network. # If you have multiple DOSBoxes running on your network, # this has to be changed for each. AC:DE:48 is an address range reserved for # private use, so modify the last three number blocks. # I.e. AC:DE:48:88:99:AB. # realnic: Specifies which of your network interfaces is used. # Write 'list' here to see the list of devices in the # Status Window. Then make your choice and put either the # interface number (2 or something) or a part of your adapters # name, e.g. VIA here. ne2000=true nicbase=300 nicirq=3 macaddr=00:DE:AD:BE:EF:00 realnic=3
And when started as “root” DOSBox spills out this:
[bali]:/Users/rhoenie/DOSBox # ./dosbox -conf ne2000.conf DOSBox version 0.74 Copyright 2002-2010 DOSBox Team, published under GNU GPL. --- CONFIG:Loading primary settings from config file ne2000.conf Memory sizes above 31 MB are NOT recommended. Stick with the default values unless you are absolutely certain. MIDI:Opened device:coreaudio Using Network interface: en1 (no description) Unable to open the interface: en1: BIOCSRTIMEOUT: Invalid argument. Using partition 0 on drive; skipping 63 sectors Mounted FAT volume is FAT16 with 51032 clusters
Update:
That BIOCSRTIMEOUT error message seems to be caused by a bug in libpcap on Snow Leopard (actually that bug is in Snow Leopard). So I guess I have to get back to my PowerBookG4 and do further testing on that machine.
Update:
OK, the same error pops up on my PowerBookG4 running Leopard.
So I'll have to try this at work on one of the Tiger based Macs…