I wrote a popular post about serial ports once, and serial ports are something I think about, worry about, and dream about with some regularity. Yet I have never really devoted that much attention to the serial port’s awkward sibling, always assuming that it was a fundamentally similar design employing either 8 data pins each way or 8 bidirectional data pins. It turns out that the truth is a lot more complicated. And it all starts with printers. You see, I have written here before that parallel ports are popular with printers because they avoid the need to buffer bits to assemble bytes, allowing the printer to operate on entire characters at a time in a fashion similar to the electromechanical Baudot teleprinters that early computer printers were based on. This isn’t wrong, it’s actually more correct than I had realized—the computer parallel port as we know it today was in fact designed entirely for printers, at least if you take the most straightforward historical lineage.
Let’s start back at the beginning of the modern parallel port: the dot matrix printer.
The serial port still sees tons of use today, but the parallel port seems to have vanished entirely.
I quite enjoy Crawford’s rambles, they often have some nice technical treasures.
But I also have to note his Amercentric version of history and many of the world technical inventions does get a bit tiresome. In fairness he is not alone and I suspect a lot of it is down to the local education environment, but you’d think in the current era it’s not too hard to get dates and the genesis of some technologies correct from a global perspective.
Having written that, I notice ChatGPT doesn’t even get the right answer to many questions on history.
I hate parallel ports. [ omitting terrible experience at a small but identifiable company early in my career that’s the cause of this hate] Bad c developers coding to parallel ports is an awful awful crime against other developer’s eyes. Its scared me for life.
Bill Shooter of Bul,
You’ve made me very curious, are you just going to leave that there? 🙂
The parallel port had the benefit of being one of the few ports on PC that was available for GPIO without any sort of specialized hardware. At 5V the voltage was compatible with many electronic circuits. For example I used it to program PIC microcontrollers, or you could hookup joysticks or play audio using resisters, etc. Also there were laplink cables to transfer data between computers faster than serial ports could. Obviously DB25 ports and cables, being expensive and cumbersome, got replaced by much smaller & cheaper ports, but the simplicity of the parallel port did make it stand out for hobbyist applications.
Sorry. I don’t want to blow up on former co-workers. It was a very accidental company whos true origin story is hotly contested amongst those that would know, but basically the workers were former factory operators that picked up programming and hardware design. Like all of them, minus a couple EE’s. So I feel a bit guilty ragging on them. Some of them did an amazing job, and their current work is very very good. The code around the parallel port was bad enough that it would lock up the system, requiring an additional piece of hardware that would detect that it locked up and force a reboot. I got involved in that additional piece because… it was locking up.
Bill Shooter of Bul,
Haha, sounds like fun times 🙂 I seem to recall parallel ports being relatively straitforward to use, so I was curious about the nature of the problem. Watchdogs aren’t a bad idea for handling unexpected events/crashes, but obviously computers shouldn’t be crashing routinely.
I had only used them a few times, but I remember you could use IDE hard disks connected over parallel port as a sort of portable storage. And I wondered how that works, I guess the same as ZIP-drivers connected to parallel ports ? Because that was a thing right ?
Lennie,
I couldn’t find a good list of parallel port devices, but I remember parallel port zip drives as well.
These parallel port sound cards actually had USB for power, which is a bit hilarious 🙂
http://www.dosdays.co.uk/topics/parallel_port_soundcards_review_pt1.php
https://www.youtube.com/watch?v=B_JtMlrUUis
I also remember parallel port security dongles too. Apparently some of these stopped working in windows 7….
https://social.technet.microsoft.com/Forums/en-US/4890a9d4-d4e7-4875-a7b0-69188b3c14e0/using-xp-software-with-a-parallel-port-dongle-in-windows-7-professional?forum=w7itprovirt
Physical security dongles are still common in the industrial space, albeit with USB ports now. I’m honestly not sure which is worse, being tethered to a local activation dongle, or a remote activation service. There are major cons with each, obviously these exist to control users and not to benefit them.
Alfman,
For site licenses, remote activation would probably be better.
Especially if they allow “floating” licenses. (In other words: At most [200] copies running at the same time, instead of [400] installed). So that you don’t need to buy unused copies, or have to physically move dongles around.
Added benefit: would also work through VPN/CRD/Citrix/etc.
sukru,
Ah, yes an premise activation server is another possibility, although it’s not what I meant. I actually meant phoning home to the vendor for permission to run.
This is the model that microsoft uses now for both enterprise and “free” community software. So for instance, even though the community edition is free, microsoft blocks the software if it doesn’t phone home and obtain permission via an authorized microsoft account. Unfortunately in microsoft’s case the activation outages are somewhat regular, I’ve experienced it a couple times last year even with a paid enterprise license: “you have 5 days left before your subscription expires”. This is not due to an expired/expiring subscription, but a flaky activation service that assumes the subscription is expiring if anything goes wrong.
https://developercommunity.visualstudio.com/t/visual-studio-2019-community-trial-license-expired/750848
Usually the situation rectifies itself before the timer runs out, but we did see developers getting locked out of their VS subscriptions. As a long term user of visual studio, I find this sort of thing to be a disturbing trend. We can run older versions easily and without issue, but modern software is designed to expire 🙁
Alfman,
Ah, I remember you mentioning the visual studio problem.
And, turns out the “on premise license servers” could also need to talk to the upstream providers:
https://www.jetbrains.com/help/license_server/faq.html
This is actually very much less than ideal.
There were general purpose adapter chips that connected ATA and ATAPI devices to a parallel port. Place that chip on a board in a standard enclosure and add whatever hard drive or CD drive to get a working external drive. Chips to access floppy controllers or SCSI devices through the parallel port also existed, It was funny that some parallel port scanners were SCSI scanners with a built-in SCSI to parallel port adapter but priced $100 lower than its SCSI sibling. Before USB was available, a number of devices got the power from the keyboard port like the Avatar Shark removable hard disk.
The one weakness for later parallel port devices was that the chaining that was supposed to permit four non-printers plus one printer on the same port seldom worked. Microsolution’s Backpack products were the only ones that chained readily.
The other odd parallel port use was for cassette port adapters. It just seems wrong turning a high speed parallel port into the slowest serial port.
I still have a laser printer with a parallel port! Old HP printers are surprisingly hardy, much more durable than a lot of the modern stuff IME. Cups still supports it, and it prints beautifully – though via USB 1, because none of my machines have parallel ports now. 🙂
rainbowsocks,
I’m glad to hear that. I have a “newer” HP laser printer and I think it’s good quality. I hope that it lasts a long time and they don’t stop making toner for it. Inkjet printers left me with a bad experience…espon in particular, I couldn’t take any more of their ink scam.
https://www.osnews.com/story/135165/citing-danger-of-ink-spills-epson-programs-end-of-life-for-some-printers/
I still have parallel port cables that I don’t know what to do with. Maybe I could chop off the connectors and use the wires in electronics projects. I have serial cables too, but unlike parallel those are still useful for embedded electronics and headless servers. Also, old RJ11 phone wires, haha.