#N:uiucdcs:36100076:000:2463 uiucdcs!miller May 1 00:53:00 1984
Recently, there has been a long discussion in net.micro about software piracy and protection schemes. I mostly just skipped over it all, but it got me to thinking about protection on the c64. As we all know, copy "protecting" the disks has two effects. First, it prevents you from giving the program to others (intended). But it also prevents you from making legitimate backup copies of your software. This is very bad as sooner or later you *will* lose data with floppies. So, software copy protection schemes are not the best way to go. Alternatively, a friend of mine says that there is a hardware/software method that works wonders. He claims some new wordprocessor company sells a little chip that plugs into the joystick port on the c64. (I think he called it a "dong" or "dinkle" or something like that.) Without this chip in place, the software will not run. This allows you to make backup copies of the disk (which isn't protected) but does not allow you to give a copy to a friend (since he won't have the chip). (Note: you could disassemble the code and patch a branch around the check(s) but that is probably more trouble than it's worth.) Now that sounded like a clever idea at first. But then, I thought gee, why don't you just figure out which pins this thing shorts together (since it's acting like a joystick) and then you can jump them across and run the program on any machine? But no, my friend replies, this chip is really that - some sort of logic that the c64 *writes* into and reads back from. Is this true? It sounds like a neat trick if so. You could even make them all unique such that the software won't work with any other chip than that sold with the disk purchased (sort of an ID checking algorithm). Does anyone know anything further about this device? Hats off to whoever thought this up if my friend was correct. Now, on another subject, many of you wrote me saying you have enjoyed the series of notes I have posted (e.g., screen bug, floating pt, kernel map) and wondered when I would post more. Well, I do plan to survey other topics on the c64 like how the Basic interpretor works, how data is stored on tapes, how to add your own custom designed peripherals through the expansion port, etc. Unfortunately, you'll all have to wait until sometime in the summer for all of this as I'm getting too busy to post very much to net.micro.cbm for a while.
The device referred to is known as a "dongle" (I've no idea why). It is used by various software companies (the Paperclip word processor uses it) to prevent piracy while still allowing backups.
It is possible to have a logic chip within the dongle which would allow the software to check for a particular code (or a unique serial number) so that simply "shorting" the dongle will not work. Of course, probably ANY protection scheme can be "broken", but as both a user and a developer, the dongle makes the most sense to me in allowing the user flexibility while making an attempt at protecting the author. Most of the disk copy protect schemes seem to wreak havoc with the disk drive. In the case of a 1541 (which tends to be VERY prone to misalignment) the copy-protected disk can cause drive problems eventually.
The only drawback to the dongle is that since it is a piece of hardware, it will add some cost to the software package, so it is generally not used in low-cost packages (much under $100).
Elliot B. Schneider ...decvax!ucbvax!hplabs!oliveb!tymix!ebs
Dongles are circuits used to protect commercial software. They are sealed in epoxy for secrecy, and they plug into one of the game ports. The protected program checks for the presence of the dongle during operation. What is actually inside of the dongle varies widely. Often they are timing or counting circuits. Others produce a voltage that is read by the paddle inputs. Dongles provide no better protection than DOS schemes, since the same method is needed to break them - find the code and patch around it. Their advantages are that backups can be made, and the disk drive doesn't get beat to death every time the program is used. Their disadvantage is the extra cost of producing a non functional piece of hardware.