How do you get network connectivity from the worst PC in the world?


Some time ago, I wrote about the two worst PCs ever. The worst PC of all time, according to PC World magazine was the Packard Bell PC. As installed at the factory, the computer came with every single expansion slot filled. Need to add a peripheral to your computer? Ha-ha, you can't!

Now, this was in the days before motherboards had integrated network adapters, and a network adapter was not one of the expansion cards that came preinstalled. But I needed to get network access in order to install the latest builds, and I teased at the end of the article that I had to resort to other devious means of obtaining network connectivity.

Nobody ever asked me to follow up on that teaser, but I'm going to answer it anyway. "So, Raymond, how did you get network connectivity on a computer that had no network adapter and nowhere to plug in a network adapter card?"

Of course, the cheat would be to unplug one of the existing expansion cards (the dial-up modem was a good candidate), but that would remove a piece of hardware that the senior executive's identical home PC was using.

My solution was to use a little-known feature of Windows 95 known as Direct Cable Connection, or DCC. DCC allowed you to use your parallel port as a network adapter. (I am not making this up.) I obtained a special cable from the manager of the DCC project and hooked up one end to the Packed Bell PC and the other end to my main development machine, which acted as a bridge between the Packard Bell PC and the rest of the corporate network.

I installed new builds of Windows 95 this way, which was a great source of amusement (and by amusement, I mean frustration) to the Windows 95 setup team, who found themselves dealing with failures that occurred on a network configuration most of them had never heard of. (But which, realistically, was one of the flakiest network configurations in the world.)

I also ran nightly stress tests this way, which offered a similar degree of amusement/frustration to whatever developer had to investigate the failures turned up by the accursed machine. For example, one of the things that made debugging difficult was that if you broke into the kernel debugger for too long, the DCC network connection dropped, and you lost network connectivity.

I think it's kind of fitting that the worst PC in the world also offered the worst debugging experience in the world.

Comments (45)
  1. Joshua says:

    Ah DCC. Never got the chance. Did try to use dial up internet w/o the internet once. Discovered modems don't like acting like serial ports.

  2. Sarkie says:

    Oh, you were the other guy that used it!

    Also brought back memories of Zip Drives...

  3. Henke37 says:

    And here I was just expecting the serial port to be used.

  4. skSdnW says:

    Other than the speed I never had any issues with DCC on Win95&98 the few times I was forced to use it to transfer some files so I guess your dogfooding paid off.

  5. Falcon says:

    I'm not sure if your DCC method is more weird/convoluted than this:

    Windows XP -> USB Bluetooth Adapter -> Android phone -> WiFi -> Internet

    (The Ethernet controller was not supported out of the box and this was the easiest way to get the driver installed.)

  6. Brian_EE says:

    >"Nobody ever asked me to follow up on that teaser"

    Well to be fair, the online TechNet column doesn't have a commenting system where someone could ask you to follow up on it.

    I remember using LapLink back in the real-early 1990's to move data from PC to PC when the college-provided dorm-room computers didn't have floppy drives and my personal PC didn't have network capability (it was a DECnet system on campus).

    I never used MS DCC, but sounds like it is an extension of the LapLink with a networking layer stacked on top.

  7. Two Posts After Falcon says:

    Ah, the memories.  Xircom parallel port Ethernet adapters....  Ratchet that baby in.  Clickety clickety clickety.

  8. Antonio 'Grijan' says:

    Back when I bought my second PC, I used a time-billed dial-up Internet connection (shared with my brother in other time - we had to take care not to connect at the same time!), and I didn't have a network. Instead, I used Interlink, the great-grandparent of DCC.

    Both computers used FAT 16 and dual booted between Windows NT 4 and MS-DOS 6.22, and I booted both machines in DOS to transfer files between them. The Pentium II acted as the "server", and the Pentium 75 as the "client". File transfers over serial port were painfully slow, with a megabyte taking several seconds, but at least files weren't so big those times.

    Also, I remember one night with a friend in a café with no wi-Fi. We needed to go online. The solution? One netbook with a 3G adapter, sharing the Internet connection through an ad-hoc Wi-Fi network. With another netbook and a 17" laptop as clients. All on the same coffee table. It worked, but you would have to see the waiter's face!

  9. I remember Direct Cable Connection alright, as well as its twin siblings INTERSVR and INTERLNK.

    God, I hated them. In a world where slow things are perceived as impressively fast, DCC is called slow and boring. Go figure!

  10. Katie says:

    DCC was my family's first exposure to LAN gaming. We would run a parallel cable between two PCs and be able to play multiplayer games even though we had no network hardware.

  11. TypoNotTypo says:

    There appears to be a typo in the fifth paragraph ("Packed Bell PC"), but I for one think it fixing it would be a detriment to the post.

    [I think you're right, on both counts. -Raymond]
  12. NotThisMind says:

    And that ladies and gentleman is how win95 was born.

  13. Evan says:

    A couple minutes after reading this, I realized that as a teenager I *used* DCC to connect two of our family computers, because we didn't have a "real" network! I even made the cable to do it by soldering wires to a couple parallel connectors!

  14. Owen Rudge says:

    I used to use Direct Cable Connection to link up to an old P75 machine using a null modem cable back in the day. I remember trying it in Windows XP back when it was still at RC, and was quite excited to see that it still worked (XP connecting to Win95, I think it was). Good times.

  15. Katie says:

    I think we used it between a PII-300 desktop with 95 and a PIII-600 laptop with 98. I remember it being a bit flaky to get set up, but once it was going it ran well enough for games like Age of Empires. I'm curious how long it took to install a build of Windows over that connection.

  16. KJK::Hyperion says:

    Not only did I use DCC between two Windows 98 machines, but at one point one of the two machines became a Windows 2003 Server with an ISDN card, so I upgraded from DCC to PPP over parallel-to-parallel cable, NATted to the ISDN connection. Turns out the Windows routing service *really* didn't like NATting from a PPP interface to another, so the setup was a little unstable and I had to periodically reset it with a scheduled netsh script, but I *could* give internet access to a laptop without a network card

  17. simplypeachy says:

    I remember using a parallel cable connection to "network" my Acorn Achimedes computer with my brother's. (Acorns were personal computers made by a British technology company). This was even worse than DCC as you had to have special file sharing software on top of the special, bright red cable.

    "In my day, networking via parallel port wasn't even proper networking! We hads to install all kinds of high jinks on top."

  18. Myria says:

    Debugging new machines will be just as difficult once OEMs start making Windows 10 machines that don't let you disable Secure Boot.

  19. wqw says:

    LapLink cables == Norton Commander. This was fast! Compared to floppies :-))

  20. MacIn173 says:

    Didn't DCC use serial cable? I remember connecting Windows machines using something standard, but I have ever had only serial cables. Interlnk/svr, Norton utilities, self-made proxy servers - had taste of everything. Who remembers gaming through serial port (Warcraft for example)? Connecting multiple (more than 2) PCs into network using both COM ports?

    2Antonio 'Grijan':

    > File transfers over serial port were painfully slow, with a megabyte taking several seconds

    You must be mistaken: top baudrate for serial port is 115200, which is 11.25 Kb/s (byte+start/stop bits). Hence, megabyte takes 1.5 minutes.

  21. Katie says:

    @MacIn173

    I'm pretty sure it supported both. And actually, it looks like according to Wikipedia it supported IR as well. So you could be ahead of the times and using wireless networking between your laptops, as long as no one turned their computer and your view stayed unobstructed and you didn't mind the TV in the room going crazy with phantom remote signals.

  22. Joe says:

    I got a brand new Packard Bell PC at one of my first programming jobs. It was horrible, though not as bad an an AT&T (I think) system that was sent to us due to things not handling our network card correctly. Turns out this wonderful computer made the motherboard upside down with the expansion slots on the back. Unfortunately, this meant the motherboard would badly overheat. (Then there was the IBM Microchannel eval we got from IBM with a really bad virus on it.)

  23. bzakharin says:

    When our family moved into a house from an apartment in 1999, we had two computers. The one everybody used was downstairs and had Windows 98 with a 56k dial-up connection. The other one, originally purchased in 1993, but upgraded multiple times, had Windows 95 and a 56k modem, and was in my room upstairs. Of course, the house wasn't wired for Ethernet, and the direct connection trick would not work for such a distance, so my computer had no Internet access.

    Believe it or not, there was actually plenty to do on a computer with no Internet access back then (at least for me, not so much everybody else). Games, sure, but also my homework. The only problem was what to do when I needed to print out, or upload to the college's server, something that didn't fit on a floppy.

    Now we only had one phone line at the time, but the house was wired for two. It turned out that the phone jack in my room was for the dead line, but the computer room had jacks for both. What I ended up doing was switching the connection on the "real" computer to the dead line and firing up Hyperterminal on both. I still remember the commands: ATX3DT on the "client" and ATA on the "server". Then use zmodem to transfer the file.

    After a while we turned the dead line into a dedicated dial-up line. I don't recall if the above method worked when there was a dial tone in between, but by 2002 we jumped to broadband, got a new computer, installed a second Ethernet card on it and a "first" one on the 1998 computer, which was moved not to my room, but to the other room downstairs, so that they could be connected with a crossover cable. Both had internet access and could use the printer, and everything was right with the world. By then the old computer was pretty useless, and I haven't fired it up for something like 6 months anyway, so we reused the monitor from it for the new computer. I fired it up for the last time for the sake of nostalgia before carrying the monitor downstairs.

    Off topic: that wasn't the end of my 1993 computer. The 2002 computer died in 2003, and while I tried to fix it, and then replace it, I resurrected the 1993 computer. For awhile, when the 1998 computer was occupied, someone would play minesweeper, solitaire, or Tetris on the 1993 comoputer, since it still didn't have an Ethernet card, nor could I use one from the dead computer because it was PCI. Later I tried to install OpenBSD on it to try to match the environment used in college at the time. Unfortunately it was not powerful enough, nor had enough storage, to do anything useful, so we just ended up playing Colossal Cave Adventure instead of Tetris.

  24. Antonio 'Grijan' says:

    @MacIn173: I seem to recall that transfers were a bit faster than that. Maybe I was using a parallel cable, which, theoretically, could transfer up to 500 KB per second (parallel ports weren't bidirectional back in the day, so you had to tie the low nibble of one computer to four handshake lines on the other computer). Anyway, those were the days when a 1.44 MB floppy offered a reasonable space, so I don't think I used Interlink to transfer very big files.

    At that time, I also made my own Interlink clone for the Apple II, in order to transfer its 5.25" floppies into disk image files, to use them with AppleWin. That one was really slow, because I own a first generation Apple //c with the faulty serial port clock, which limited the speed to about 2400 bps. A 140 KB floppy took several minutes to transfer!

  25. Cheap Skate says:

    I used it all the time, it was much cheaper than building a LAN, and much faster and more convenient than floppy-copy!  I still have the cable, and probably the OS still supports it, but I don't have any computers with parellel ports anymore!  

  26. André Luiz Pfitzner says:

    I used this type of network connection to play games!

    It was very useful because network cards were expensive here in Brazil at the time.

  27. cheong00 says:

    @Fleet Command: Oh those intersvr and interlnk... that's how we "shared" the Win3.1 install disk directory on my secondary school days.

    It's slow, but more handy when you compare it with copying it from floppies.

  28. cheong00 says:

    Btw, did there exist a version of DCC that can have timeout disabled (I assume that's the reason why the connection is dropped when debugger holds the system too long)?

  29. Dave says:

    >Xircom parallel port Ethernet adapters....

    Beat me to it: http://www.brutman.com/.../xircom_pe3.html

  30. neminem says:

    Oh man, I totally forgot about that, that brings back memories of junior high... me and my friends used the *crap* out of DCC to play 2-player Duke Nukem 3d over parallel port back in the Win95 days. My recollection is that it natively supported connecting over serial, but that parallel port was sufficiently faster and more reliable to be worth futzing with DCC instead (this also being back when the average laptop was guaranteed to have both of those ports, and *not* guaranteed to have ethernet; my first laptop I got a dongly external ethernet adapter that was notoriously easy to break, those were so much fun.)

  31. Thief says:

    At some point I really should get round to installing my 8-bit ISA nic into my 8086 PC and working out how to get Windows 3.0 on to the internet.

  32. Neil says:

    When my Windows 98 laptop's PCMCIA network card failed I ideally wanted to download the driver for some card I found lying around by sharing an IRDA connection but unfortunately my desktop was Windows 2000 and the two versions of IRDA didn't support a network connection so I had to use the boring file transfer method instead.

  33. BOFH says:

    I worked in on-site support of point-of-sale computers in the mid 90's, the HP DeskPro 2000 machines had Win95-Win98SE installed but the POS-software was MS-DOS.

    Anyway, I often ended up transferring files to and from the POS-computers either by a parallel 100 MB Zipdrive or by parallel nullmodem in Norton Commander.

    In rare instances I recall having to use a serial nullmodem in Norton Commander, maybe the parallel port had been zapped at those sites.

    I would also have to use serial nullmodem and zmodem against machines with Windows NT in HyperTerminal, which were often at the customer's HQ, since burning CDRs didn't exist yet (not affordable anyway), and installing Zipdrive drivers on the NT-servers was not an option (I'm not even sure there was a driver for NT back then, but I wasn't allowed to install it anýway).

    The data amount that had to be transferred was big enough that it was simply more convenient and reliable to use the serial port than to use floppies on dustpacked and unreliable floppydrives in the machines.

    As for DCC, I never got an opportunity to use it I think.

    I do remember fiddling with scripts in Trumpet Winsock on Win3.x at an even earlier job, though.

    Those were dark days... :)

  34. CarlD says:

    This reminds of an experience a few years before - maybe 1983 - when the company I worked for got our first Pascal compiler (DR Pascal/MT+ for CP/M-80 for the old-timers out there).  Problem was, all of our development machines had only 5" floppies, and the compiler came only on 8" floppies (remember those?).  We had one computer with a 8" drive, but it had no 5" drives.  Networks were for all practical purposes non-existent at the time.  Our solution?  We wrote a one-off file transfer program in 8080 assembly language and connected the computers together with a serial cable.  I recall that we accomplished this in less than a day, including writing and debugging the send and receive programs.

  35. BOFH says:

    Yes, that reminds me of one customer site.

    They had an existing POS-computer that they wanted to migrate from, an 8088 PC with MS-DOS 1.x or 2.x, can't recall which.

    The HDD was ST506/ST422 or whatever, that ancient stuff from the 80s.

    The existing POS-data had to be extracted from the old PC so we could import it into our system.

    The machine had a 5.25" floppydrive, and in the IT "scrap heap" at our office I found an old machine with a 5.25" drive and some floppies for it, so I was able to format floppies to the 160KB size that was the only supported size on the 8088.

    But I couldn't get any software to execute in the old MS-DOS on the 8088 to neither compress or split the database-file to fit into 160KB floppies.

    The oldest Norton Commander I could find wouldn't work either, nor would LapLink or any other terminal software.

    When I was a kid I had used a public domain program called sploin that was distributed as a C source file on Aminet, to split and join files for transfer between my Amiga and my PC, but compiling that source in MS QuickC 2.5 didn't help, the program crashed instantly when executed on the 8088.

    There was an expression I had heard once that I was reminded of when all other options had been exhausted; "if you can't Kermit you can't send it", so I got hold of the oldest version of mskermit.exe i could find and copied it to the 8088, and it worked!

    I hooked up a serial nullmodem cable between the 8088 and my laptop and ran kermit from there as well.

    Kermit ran by default on a "robust" macro setting, but I think I had to dial it down even further to reduce resends from the 8088, but at least it worked.

    We hired a true BOFH as a consultant from the local engineering college IT-department to extract the data from the database-file, which was just a monolithic binary blob with no visible cleartext in it when examined with a hex editor.

    I emailed him the file and faxed him a few pages of printed reports from the old system, and he wrote the darkest voodoo Perl script that I have ever seen, to extract all the data into a CSV table for us.

    The CSV-data was then successfully imported into our POS-system.

  36. Reader says:

    Win2K DCC over RS-232 + SpanNet 2500 serial-ethernet bridge router.  Possible MBit/s speed upgrade with RS-530 synchronous serial.  Never got around to finding the correct cable.

  37. Gabe says:

    BOFH: You probably could have used GW-BASIC to write a program for splitting your file to fit on 160k floppies!

  38. Azarien says:

    Oh, I remember the DCC. I think one of my first DIY soldering projects was a cable for it.

    But the fastest "network" of those times involved removing the HDD of one PC and installing it in the other.

  39. ErikF says:

    @Azarien: Ahhh, good old sneakernet (en.wikipedia.org/.../Sneakernet). As the saying goes, "Nothing beats the bandwidth of a truck [or airplane] full of hard drives." The latency is something awful, though!

  40. jas88 says:

    I remember using a serial port file sharing tool between two PCs back a few years before that: one was an Amstrad PPC640 (a hefty luggable with an NEC V30 processor and CGA graphics!), the other, as I recall, a slightly shinier desktop machine. No Windows, of course, just good old DOS. I seem to remember the "server" end of the connection was single-tasking, the other end was a TSR, but could be wrong there.

  41. Jack B Nimble says:

    I once used a null-modem cable to create a network to two computers to play video games at my friend's house. I'm pretty sure it only took an hour or more to finally get it working so we could play Descent.

  42. André Santo says:

    Good memories in this post

  43. Skyborne says:

    I was just a bit too young to play with all these fun technologies. :-(

    The weirdest network I ever had was when I configured my Linux PC with a pair of scripts to switch between "use my own modem" and "send all traffic via SSH proxy to my dad's Linux PC in order to use his modem" so that we could be on the internet together, but I wouldn't always require his PC to get there.  I tried to connect the two PCs with a crossover cable, but it was already too technologically advanced of an era.  The NICs didn't get whatever magic they needed to bring the link up, not even at 10M half-duplex.  We had to buy a switch.

  44. slipstream says:

    That article you wrote previously about the "two worst PCs" mentions the Barbie PC. But did MS also have a Hot Wheels PC? :P

  45. boogaloo says:

    I remember using laplink and a parallel cable to transfer the contents of a Windows 95 CD to a CDROM drive-less PC.

Comments are closed.

Skip to main content