[{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/543/original/2023-12-12_IBM_PC-XT_4_running_networking_software_2.jpg?1702414331","metadata":{"caption":"An IBM PC/XT 5160 with dual floppies, 20MB hard drive, VGA display, Model M keyboard"}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch2\u003eOverview\u003c/h2\u003e\n\u003cp\u003eMost people scream and run when it comes to using an MS-DOS PC to do any sort of networking. Most folks started networking with Windows which made it much easier. Business users could use a number of networking hardware/software solutions but they were expensive and usually proprietary.\u003c/p\u003e\n\u003cp\u003eFortunately the standards governing the internet are fairly universal and some clever folks have developed software to allow machines, even the IBM PC 5150, PCjr, and other MS-DOS machines to access today's internet (albeit without modern browsers of course). And speed is not high: an 8088 at 4.77 MHz is not a fast processor. But using basic internet commands usually does not take many CPU cycles and it just works.\u003c/p\u003e\n\u003cp\u003eThis tutorial will use \u003ca href=\"https://www.brutman.com/mTCP/\" target=\"_blank\"\u003emTCP\u003c/a\u003e and it's new addition \u003ca href=\"https://www.brutman.com/mTCP/mTCP_NetDrive.html\" target=\"_blank\"\u003eNetDrive\u003c/a\u003e, both by Michael B. Brutman who I applaud for fabulous work porting the software to allow old machines to do fancy things.\u0026nbsp;\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch2\u003eHardware\u003c/h2\u003e\n\u003cp\u003eWhile the mTCP software runs on a variety of MS-DOS machines. I first selected an IBM PC/XT 5160 with a BIOS date of 1986, then an IBM PC/AT 5170. You'll need a working machine which boots to DOS. A hard disk isn't required but recommended for speed. The software works with virtual MS-DOS images also, see the mTCP documentation for that as it's beyond this guide.\u003c/p\u003e\n\u003cp\u003eThe machine should boot DOS 2.0 or above. MS-DOS 3.31 or better is recommended due to support for larger hard disk partitions. Exact DOS versions is listed in the mTCP documentation.\u003c/p\u003e\n\u003cp\u003eThis XT machine I have for this guide has a 20MB half height drive with MS-DOS 6.22 installed. It also has an 8-bit XT-IDE card which provides an IDE hard disk interface in addition to the native MFM hard drive card. Attached is an IDE to Compact Flash card adapter with a 16MB CF card with basic software. It makes it easy to transfer software between my current desktop and vintage machines.\u003c/p\u003e\n\u003cp\u003eThe AT machine I have also has an XT-IDE card as it's primary drive (the MFM drive is inoperable).\u0026nbsp;\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/545/original/ISA8_ETH_Card_Front.jpg?1702415401","metadata":{"caption":"An ISA8_ETH CAT5 network card for 8-bit IBM Compatible machines."}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/556/original/NIC_3COM509B-TPO.png?1702863789","metadata":{"caption":"The network card in my IBM PC/AT is a vintage 3COM 3C509B-TOP 16-bit device."}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eThe XT is fitted with an ISA8_ETH 8-bit CAT5 network card. Designed by Sergey Kiselev in 2021, they can be found on the internet like on Tindie, maybe eBay in the $50 range. See \u003ca href=\"https://github.com/skiselev/isa8_eth\" target=\"_blank\"\u003eGitHub\u003c/a\u003e for details and a \u003ca href=\"https://github.com/skiselev/isa8_eth/blob/main/software/driver\" target=\"_blank\"\u003elink to a patched NE2000 driver\u003c/a\u003e to use it in MS-DOS.\u003c/p\u003e\n\u003cp\u003eThe ISA8_ETH card is not required - you will need an 8-bit network card (for IBM PC 5150/IBM PC Portable 5155/IBM PC/XT 5160 and compatibles) with working packet driver software.\u003c/p\u003e\n\u003cp\u003eThe PC/AT uses a 3COM 3C509B-TPO 16-bit card. Both of the cards I have use standard 10BASE-T 10 megabit Ethernet making it easy to connect to modern Ethernet switches.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eSee mTCP documentation for non-RJ-45 hardware. There are old time network cards with coax connectors, some come with both connectors or the multi pin AUI connector. F\u003cspan\u003eor cards that don't have RJ-45, the thinnet connector and AUI connector allows you to add an external transceiver such as the CenterCom 210. Those go for about $20 on eBay at the moment and they let you use ancient cards that don't have RJ-45, or don't support RJ-45 correctly.\u003c/span\u003e\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eHere is a list of cards the mTCP author has tested:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.brutman.com/Dos_Networking/xircom_pe3.html\" target=\"_blank\"\u003eXircom PE3-10BT\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNovell NE1000, NE2000 and clones (personally tested)\u003c/li\u003e\n\u003cli\u003e3Com 3C503, 3C509B (personally tested)\u003c/li\u003e\n\u003cli\u003eWD/SMC 8003 series\u003c/li\u003e\n\u003cli\u003eIntel EtherExpress 8/16\u003c/li\u003e\n\u003cli\u003eDavicom DM9008F\u003c/li\u003e\n\u003cli\u003eLinkSys PCI\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://biosrhythm.com/?page_id=1453\" target=\"_blank\"\u003eESP8266 \"WiFi\" modems\u003c/a\u003e with SLIP firmware (this may need to be investigated for another tutorial)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor the RJ-45 connections discussed here, you'll need a CAT5 Ethernet cable (or better) to an Ethernet switch. If you want to access the internet, a connection to the internet is needed but you could make a local network as long as there is a DHCP server on the network to provide addressing unless you set machine addresses manually (again refer to the documentation for such).\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/544/original/NetDrive.png?1702415361","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n        \u003ch2\u003eSoftware\u003c/h2\u003e\n\u003cp\u003eAs previously mentioned, you will need \u003ca href=\"https://www.brutman.com/Dos_Networking/\" target=\"_blank\"\u003epacket driver software written for MS-DOS\u003c/a\u003e and your specific network card. If you only have the hardware card, you'll need to look on the internet for the software. For the ISA8_ETH modern card, the driver is \u003ca href=\"https://github.com/skiselev/isa8_eth/tree/main/software/driver\" target=\"_blank\"\u003ehere\u003c/a\u003e. For older cards, hopefully you have the floppy disk(s). If not, type the card model number into a browser. You'll also likely need to know what parameters the driver wants on the command line. The command can be run at a DOS prompt or put in \u003cstrong\u003eAUTOEXEC.BAT\u003c/strong\u003e. For example, the driver for the ISA8_ETH card uses a modified ne2000 packet driver which takes three arguments: the software interrupt to use (0x60 is usually ok), the interrupt the network card is using and the IO address the card is using.\u003c/p\u003e\n\u003cp\u003eThe interrupt and I/O address are usually set on the network card via jumpers or DIP switches. You will need values that don't conflict with other hardware in your system (part of the hard part of PC configuration prior to Plug-n-Play which came years later). I set the ISA8_ETH to use Interrupt IRQ 2 and I/O address 0x280. The values are in silkscreen on the back.\u003c/p\u003e\n\u003cp\u003eYou may need to download a PDF of the manual for your card to do such configuration.\u003c/p\u003e\n\u003cp\u003eFor the 3COM card there is configuration software that sets things like the IO address and interrupt as there are no jumpers. I found a couple of sources for the software.\u003c/p\u003e\n      \n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/546/original/ISA8_ETH_Card_Back_%28jumper_settings%29.jpg?1702417164","metadata":{"caption":"The DIP switch settings for the ISA8_ETH card are documented on the silkscreen on the back of the PC board (rather smart)."}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eWith the 3COM 3C509B card, there is a configuration .EXE file with all the software. With an autoconfig on an IBM PC/AT, it selected interrupt 10, base address 0x210. There are no jumpers like the card above.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eAlso download\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ca href=\"https://www.brutman.com/mTCP/\" target=\"_blank\"\u003emTCP\u003c/a\u003e\u003cspan\u003e\u0026nbsp;and\u0026nbsp;\u003c/span\u003e\u003ca href=\"https://www.brutman.com/mTCP/mTCP_NetDrive.html\" target=\"_blank\"\u003eNetDrive\u003c/a\u003e\u003cspan\u003e, both by Michael B. Brutman. mTCP is a suite of programs which set up a DOS to packet driver interface and some standard internet tools including ping, ftp and a NTP time server query program!\u003c/span\u003e\u003c/p\u003e\n      \n\n\n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n        \u003ch2\u003eThe Chicken and the Egg\u003c/h2\u003e\n\u003cp\u003eThe trick to working with vintage computers and getting software from non-vintage sources is the file transfer issue. If you find driver software and download mTCP and NetDrive on your modern computer, how do you get that software onto your vintage computer?? There are some methods depending on what you have on hand.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eFortunately once mTCP is installed, getting software from the network gets a lot easier. With NetDrive, even easier!! But how do you get this software onto the old computer. That's the paradox.\u003c/p\u003e\n\u003cp\u003eIf you have a more modern computer with USB, you can use a thumb drive. This is unlikely for vintage IBM compatibles, though.\u003c/p\u003e\n\u003cp\u003eThere are \u003ca href=\"https://www.amazon.com/usb-floppy-drive/s?k=usb+floppy+drive\" target=\"_blank\"\u003eUSB 3.5\" floppy drives\u003c/a\u003e still available which could transfer files from a modern computer to an older computer with a 3.5\" drive. Sometimes they only write 1.44MB floppies when you really need a 720K floppy so be aware of this possible incompatibility.\u003c/p\u003e\n\u003cp\u003eThere are not 5.25\" floppy to USB drives, unfortunately and 5.25\" floppies are most common for older IBM/MS-DOS compatibles.\u003c/p\u003e\n\u003cp\u003eIf you have an older computer like a 386, 486, or Pentium class, you can generally copy files to that machine via network, USB thumb drive, or SD/CF card. Then you can copy the files to a floppy. This is sometimes called a \"tweener\" machine as it bridges between older computers and modern computers. Some folks have more than one \"tweener\" machine to handle different possibilities.\u003c/p\u003e\n\u003cp\u003eFinally there are solutions like \u003ca href=\"https://www.minuszerodegrees.net/xtide/variations/XT-IDE%20and%20XT-CF%20variations.htm\" target=\"_blank\"\u003eXT-IDE\u003c/a\u003e which is a hardware card for providing an IDE disk interface. There are IDE to compact flash and IDE to SD card interfaces which would provide a method for memory cards to appear as a hard drive to the vintage MS-DOS machine. Again this is at an additional expense and setup. At least MS-DOS recognizes such setups (for DOS 2 onward, I believe). Then you play sneakernet copying files onto the memory card then putting the card in the computer and booting up XT-IDE firmware which maps the card as a hard drive. I do suggest getting one XT-IDE card just to get things going on getting a new system up to speed.\u0026nbsp;\u003c/p\u003e\n      \n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch2\u003eSetting Up the Software on the PC\u003c/h2\u003e\n\u003cp\u003eI will take it you have a running MS-DOS machine with storage and a network card at this point. Even if you're here, congratulations, that is the hard part. Loading the internet software is easy after that.\u003c/p\u003e\n\u003cp\u003eOn your modern PC, take all the software: mTCP, NetDrive (and the network card packet driver if you don't have that on the MS-DOS machine) and get it onto the hard drive of the MS-DOS machine (see previous section on the painful methods to do so).\u003c/p\u003e\n\u003cp\u003eFortunately once mTCP is installed, getting software from the network gets a lot easier. With NetDrive, even easier!!\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/547/original/NE2000_screenshot.jpg?1702419296","metadata":{"caption":"Using MS-DOS and loading the NE2000.COm packet driver with parameters."}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch3\u003ePacket Driver Setup\u003c/h3\u003e\n\u003cp\u003eFor my IBM PC/XT with an ISA8_ETH card, there an executable file for the packet driver called \u003cstrong\u003eNE2000.COM (note this is modified from a period NE2000 driver for the ISA8_ETH card)\u003c/strong\u003e. Fortunately the mTCP documentation shows how this driver should be configured. You can run at the MS-DOS command Prompt:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eNE2000 0x60 2 0x260\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ewhere 0x60 is a software interrupt (not often used in PCs, you can select any value 0x60 to 0x66, 0x68-6F, or 0x78-7E). 2 is the interrupt that the network card used (set with DIP switches) and 0x260 is the I/O address selected with DIP switches. My XT-IDE drive adapter card uses\u0026nbsp; I/O address 0x300 so I knew I should avoid that address.\u003c/p\u003e\n\u003cp\u003eIf you have a different network card, your software may use different software and configuration to run.\u003c/p\u003e\n\u003cp\u003eFor my PC/AT with a 3COM509B-TPO network card, the \u003cstrong\u003e3c5x9pd.com\u003c/strong\u003e file is the packet driver and the command to run is:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e3c5x9pd 0x60\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eIf all goes well, hopefully the driver will provide you feedback. The information I get back from my packet driver is shown in the screenshot above. It shows the values I gave it and an Ethernet MAC address. If your MAC address is all one value, things might not be working or your cable may be disconnected. Be sure the network card is connected to a router on your network.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n        \u003cp\u003eIf the MAC address is all one value or doesn't match what is printed on a sticker on the card, that's an indication that the IO port address on the packet driver doesn't match what the card is set to, or there is a conflict and something else is using the same IO ports.\u0026nbsp; (The MAC address should always be returned correctly, even if the cable is disconnected.)\u003c/p\u003e\n      \n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/548/original/DHCP_screen.png?1702420489","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch3\u003emTCP Software\u003c/h3\u003e\n\u003cp\u003eYou can read all about mTCP on the \u003ca href=\"https://www.brutman.com/mTCP/mTCP.html\" target=\"_blank\"\u003eproduct page\u003c/a\u003e. The manual for mTCP is \u003ca href=\"http://www.brutman.com/mTCP/download/mTCP_2023-03-31.pdf\" target=\"_blank\"\u003ehere\u003c/a\u003e. The first utility needed to get connected to your network is \u003ca href=\"https://www.brutman.com/mTCP/mTCP_DHCP.html\" target=\"_blank\"\u003eDHCP\u003c/a\u003e (Dynamic Host Configuration Protocol) which is used to get an address on the network from a DHCP server (typically your internet model but could be on any networked device).\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eTo use DHCP, you will need a configuration file (separate from the usual \u003cstrong\u003eAUTOEXEC.BAT\u003c/strong\u003e and \u003cstrong\u003eCONFIG.SYS\u003c/strong\u003e). The manual uses the file \u003cstrong\u003eMYCONFIG.TXT\u003c/strong\u003e. To create this, go to the directory you want the file in and type:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ecat \u0026gt;\u0026gt;MYCONFIG.TXT\u003c/code\u003e\u003cbr\u003e\u003ccode\u003ePACKETINT 0x60\u003cbr\u003eMTU 1500\u003cbr\u003e\u003c/code\u003e\u003cspan\u003e^Z\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003eIf using MS-DOS 5 or above, I suggest using the EDIT command, which works like a full screen editor.\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003eThe value \u003ccode\u003e0x60\u003c/code\u003e is the software interrupt used previously in setting up the packet driver - use the value you used for that. MTU stands for “Maximum Transmission Unit”, which is the largest number of bytes that can be sent by your networking hardware in a single packet. The default is 576 but NetDrive wants a minimum of 1200. The max is 1500.\u003c/p\u003e\n\u003cp\u003eThe default name of your computer is DOSRULES. You can add HOSTNAME \u003cem\u003eyourname\u003c/em\u003e to the \u003cstrong\u003eMYCONFIG.TXT\u003c/strong\u003e file to set your own name.\u003c/p\u003e\n\u003cp\u003eNow you will need to set a MS-DOS environment variable to point to the \u003cstrong\u003eMYCONFIG.TXT\u003c/strong\u003e file.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eset MTCPCFG=C:\\NETWORK\\MTCP\\MYCONFIG.TXT\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eBe sure you use the path (directory/directories) where you created the configuration file.\u003c/p\u003e\n\u003cp\u003eThen in the mTCP directory type:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eDHCP\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eAnd hopefully you'll get a screen like the one above which writes the info to \u003cstrong\u003eMYCONFIG.TXT\u003c/strong\u003e also.\u003c/p\u003e\n\u003cp\u003eIf you have a message, your packet driver may not be working or you need to connect your computer to your home network router.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n        \u003ch2\u003eTime to Test the Internet Connection\u003c/h2\u003e\n      \n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/549/original/SNTP.jpg?1702429790","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n        \u003cp\u003eAt this point I wanted to try to set my computer time to the time on an internet NTP server. The US National Institute of Standards and Technology (NIST) runs \u003ca href=\"https://tf.nist.gov/tf-cgi/servers.cgi\" target=\"_blank\"\u003epublic servers\u003c/a\u003e. Other institutions also run servers. Find the address of the one you'd like to use, the more local servers are usually better due to less latency.\u003c/p\u003e\n\u003cp\u003eIn the mTCP directory, I typed:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eSNTP -set \u003cspan\u003e129.6.15.26\u003c/span\u003e\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003eAnd it set my system time correctly!! (I'll need to set the TZ environment variable to avoid the warning, it did use my time zone).\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003eFor my continued use I copied that command into a new batch file named \u003cstrong\u003eSETTIME.BAT\u003c/strong\u003e.\u003c/span\u003e\u003c/p\u003e\n      \n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch3\u003eNetDrive Software\u003c/h3\u003e\n\u003cp\u003eNetDrive (\u003ca href=\"https://www.brutman.com/mTCP/mTCP_NetDrive.html\" target=\"_blank\"\u003ehomepage\u003c/a\u003e) is clever software: it takes the packet connection to the network and allows for using floppy and hard drive images that are on the network to appear as if they are on the local machine. This gets rid of the chicken \u0026amp; the egg issue! You can put any software you want in a disk image on your network (Windows or Linux machine) and access it. The documentation can be found \u003ca href=\"https://docs.google.com/document/d/18vtrVANm0JNLO9pmLqDJaMGWnQUobON9qM243b-bmdw/edit#heading=h.1e0cjynuhjud\" target=\"_blank\"\u003ehere\u003c/a\u003e.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eThe server software is used for two things:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eCreating disk images which are files that contain other files and look like a floppy or hard drive across the network. You cannot have your MS-DOS computer read whatever directories on the server computer, that's too much (for now). You'll need to gather your files and determine whether you want to put them on a virtual floppy (small number) or a virtual hard drive (lots of files possible).\u003c/li\u003e\n\u003cli\u003eMake the connection on a Windows 10/11 or Linux machine to the network so the disk images can be seen by the MS-DOS computer.\u003c/li\u003e\n\u003cli\u003eOnce the MS-DOS client software sees the server, it'll make the connection so the server disk images look like they are local drives connected to the MS-DOS machine. Magic!\u003c/li\u003e\n\u003c/ol\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch2\u003eCreating a Disk Image\u003c/h2\u003e\n\u003cp\u003eThe NetDrive \u003ca href=\"https://docs.google.com/document/d/18vtrVANm0JNLO9pmLqDJaMGWnQUobON9qM243b-bmdw/edit#heading=h.1e0cjynuhjud\" target=\"_blank\"\u003edocumentation\u003c/a\u003e describes using the server software to make a drive. I'm using WIndows 10 but the program runs on Windows 11 and there is a Linux program also.\u003c/p\u003e\n\u003cp\u003eI went to the directory containing the Windows version of netdrive.exe. I typed the following to make a 500MB empty hard drive file (straight out of the documentation):\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003enetdrive create hd -num_fats 1 511 FAT16B bigdisk.dsk\u003c/code\u003e\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/550/original/NetDrive_making_a_big_disk.png?1702487026","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch2\u003eKnowing the IP Address of Your Server (Windows)\u003c/h2\u003e\n\u003cp\u003eBefore starting your server, get the IP address of your machine. In Windows Command Prompt/Terminal, type:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eipconfig/all\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eAnd pick the IP address (in the form of something like 192.168.x.x) and write it down.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/552/original/NetDrive_Get_Server_IP_Address.png?1702489962","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch3\u003eAlternate Method:\u003c/h3\u003e\n\u003cp\u003eIn Windows Control Panel, go to System. If you have named your machine, it will show up as the Device Name. Write that down and you can use it as an alias for the computer IP address.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/557/original/Control_Panel_Computer_Name.jpg?1703205026","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eYou can test the machine name by using the mTCP command DNSTest. Go to the directory with the mTCP programs then type:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eDNSTEST -name ThreadRipper\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ewhere you replace the name Threadripper with your machine name. If it works you'll get your local network IP Address back:\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/558/original/DNSTEST_test.jpg?1703206956","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eAbove, the machine name (alias) ThreadRipper indeed refer to my local machine IP address 192.168.1.78 found through \u003ccode\u003eIPCONFIG/all\u003c/code\u003e.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch2\u003eStarting a NetDrive Server\u003c/h2\u003e\n\u003cp\u003eOnce you have one or more disk images, you'll want to serve them over the local network.\u003c/p\u003e\n\u003cp\u003eOn Windows 10, start a Command Prompt by going to Start -\u0026gt; Windows System -\u0026gt; Command Prompt\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/559/original/WIndows_Command_Prompt.jpg?1703207335","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n        \u003cp\u003eChange to the drive and directory where you unzipped NETDRIVE Client PC files.\u003c/p\u003e\n\u003cp\u003eIn the directory with NetDrive, type:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e\u003cspan\u003enetdrive serve -port 2002 -image_dir .\u003c/span\u003e\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003eThe port number is changeable but be consistent between the server and the client. Any port above 1024 should work but there can be rare conflicts with other software.\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003eI specified the current NetDrive directory . for images but you can point to anywhere on your machine. You will see a window similar to the one below.\u003c/span\u003e\u003c/p\u003e\n      \n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/554/original/NetDrive_server_window_AT.png?1702862406","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch2\u003eConnecting Your MS-DOS Machine to the Server\u003c/h2\u003e\n\u003cp\u003eThe command for starting your client on your MS-DOS machine is:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eNETDRIVE CONNECT machine:port image_name driveletter: [-ro]\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003emachine\u003c/em\u003e is the IP address we found above (or the alias).\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eport\u003c/em\u003e we specified as 2002 above when starting the server\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eimage_name\u003c/em\u003e is the name of the disk image file. The one made above is \u003cstrong\u003ebigdisk.dsk \u003c/strong\u003eand it is case sensitive so use the case you used on your server machine.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ex:\u003c/em\u003e is a drive letter on the local machine. On my AT with only a hard drive, it's D: You must use the colon.\u003c/p\u003e\n\u003cp\u003eIf you specify \u003cem\u003e-ro\u003c/em\u003e the disk will be read only (no writes allowed).\u003c/p\u003e\n\u003cp\u003eMy command to have the client listen and connect to the server:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eNETDRIVE CONNECT 192.168.1.78:2002 bigdsk.dsk D:\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eUsing the alias of my Windows 10 machine:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eNETDRIVE CONNECT ThreadRipper:2002 bigdsk.dsk D:\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eAnd it works, my MS-DOS computer sees the file \u003cstrong\u003ebigdsk.dsk\u003c/strong\u003e on my Windows 10 machine as a big hard drive on local drive letter D: (on the PC/AT).\u003c/p\u003e\n\u003cp\u003eThe \u003ca href=\"https://www.speedguide.net/port.php?port=2002\" target=\"_blank\"\u003eport 2002\u003c/a\u003e appears to work whereas I tried \u003ca href=\"https://www.speedguide.net/port.php?port=8086\" target=\"_blank\"\u003eport 8086\u003c/a\u003e and it didn't but I didn't try the latter again after getting a working configuration.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/555/original/NetDrive_Client_connects.jpg?1702862618","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eI made an MS-DOS batch file \u003cstrong\u003eCONNECT.BAT\u003c/strong\u003e which types out the NETDISK connect command with my server. You might want to create a similar shortcut. I made a similar \u003cstrong\u003eDISCON.BAT\u003c/strong\u003e to disconnect the local machine from the served drive.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch2\u003eUsing the New Disk\u003c/h2\u003e\n\u003cp\u003eI copied my MS-DOS machine hard drive C to the virtual hard disk D: as a backup:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eXCOPY /S C:\\*.* D:\\BACKUP\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eAnd it was that easy. Now I can have a repository of MS-DOS machine drive images on my Windows machine!\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n        \u003ch2\u003eUsing other Drive Images\u003c/h2\u003e\n\u003cp\u003eSee the NetDrive documentation (available on the NetDrive website \u003ca href=\"https://www.brutman.com/mTCP/mTCP_NetDrive.html\" target=\"_blank\"\u003ehere\u003c/a\u003e) for the types of images NetDrive can use. Besides hard drives in FAT12, FAT16 and FAT16B (DOS 4+), floppy images in 160, 320, 180, 360, 1200, 720K, 1.44K and 2.88K are allowed.\u003c/p\u003e\n\u003cp\u003eThe documentation notes the Windows programs WinImage and qemu-img (hard drives) work.\u003c/p\u003e\n\u003cp\u003eSee the Playground Note \u003ca href=\"https://adafruit-playground.com/u/AnneBarela/pages/ms-dos-disk-images\" target=\"_blank\"\u003eMS-DOS Disk Images\u003c/a\u003e for a more complete description of disk images and how to create and use them.\u003c/p\u003e\n      ","metadata":{}}]