1. 28
  1.  

  2. 7

    This brings back some memories I’d completely forgotten about.

    1. 9

      I used this a lot. Back in the early ‘90s, I had an Amstrad PC1640 HD20. An 8 MHz 8086 machine with 640 KiB of RAM, a 5.25” floppy drive, and a 20 MiB hard disk that had been upgraded to 40 MiB, with an EGA display. It also had a couple of nice features I’ve not seen on more modern machines. A physical volume control for the internal speaker (less important now that sound cards are on-board) and an Amstrad digital joystick port on the keyboard that let you connect a joystick and use it in any game that let you remap the keys (the joystick just generated key codes).

      By the time I got the machine, 5.25” disks were dying out. Some newer games (and other software) would run on the machine but came on 3.5” floppies. Fortunately, my father had a 386 laptop (12 MHz with a 60 MiB hard disk, 5 MiB of RAM, and a 640x480 mono VGA LCD). We could connect a serial cable between the two to transfer things but it was really slow. Laplink over a serial cable was faster than most things, but over a parallel cable it was fast. I think it could copy a floppy across in about the time it took to read it on the 386, whereas the serial transfer took 10-15 minutes for a floppy. With the small disk, I often had to delete games and reinstall them with this cumbersome mechanism.

      There were quite a few games that worked in multiplayer via a serial link. We played a lot of F29 Retaliator.

      Many years later, I remember playing a multiplayer game with a friend on our laptops and an ad-hoc WiFi network, thinking back to retal.exe over a serial link and being very glad of the improvements in technology. These days, a lot of the games I play are running on a machine in an Azure datacenter and streamed to my Xbox, without even being installed locally, and my Internet connection can download something the size of my old Amstrad’s hard disk in under a tenth of a second. It’s good to look back at things like Laplink and be incredibly glad that you don’t have to use them anymore.

      In addition to the speed, I remember being incredibly impressed with LapLink’s bootstrapping capability. DOS had a lesser-known ability (at least for consumer hardware, it was used a lot in embedded systems) of being able to run COMMAND.COM pointing at a serial port, rather than at the BIOS keyboard and display. When this instance exited, it would return control to the one on the console. LapLink let you bootstrap from one machine to another by setting the target to run with the command interpreter on a serial console and then having the other machine connect to this and use DOS commands to write the LapLink executable to a file. This is probably one of the earliest ancestors of curl | sudo bash.

    2. 4

      I remember using PLIP on Linux to transfer files, which is apparently a port of the LapLink protocol

      https://www.kernel.org/doc/html/v5.12/networking/plip.html

      1. 2

        I don’t think it’s a “port” of LapLink. PLIP is IP, LapLink is not. That HOWTO even says that the PLIP framing protocol was created by Russ Nelson (Crynwyr Software, who also wrote a lot of packet drivers supporting network cards in DOS, including a DOS PLIP driver, which I suppose predates the Linux one). But it’s a similar concept and PLIP works with the same cables as LapLink.

        1. 1

          You’re correct, I misread the text in the linked kernel.org piece. I thought it referred to the protocol, not the cable.

      2. 2

        I also used probably that exact version of Laplink in my first very informal computer jobs in the early 1990s. It was typically more convenient than transferring many files on multiple floppy disks. The other use case was where you wanted to recover files from a machine with a non-functional floppy drive, but didn’t want to take it apart to replace the broken drive.

        1. 1

          I never used the parallel port for file transfers under DOS, but I did use PLIP (Parallel Line Internet Protocol) to connect a 386 grayscale laptop running Slackware to a Cyrix 686 desktop running Red Hat over their parallel ports. I was able to use the laptop as a satisfactory X terminal for the time.