I checked out the Program protection page and couldn't make much sense of the example. It's supposed to run the program five times on an "unauthorized" calculator and then stop running, right? If so, I'll explain it better and make a more "secure" stop method (using gotos, a bad one can't be traced easily so the ERR: doesn't lead right to the protection code).
Or, just quit…
If you are trying to make is so no one can edit your program, go here.
How about: When the program starts, check if there is a number in a custom list, like LCHECK or something
if it is 1, then check the current value of LTRIALS, for the amount of trials left. Then when user runs program
decrease value of LTRIALS by 1, if it is already 0, fail to start the program or give the user a notice. If Lcheck is
0 or empty or not 1, just put 5 into LTRIALS and launch the program. Then edit lock the program and give it out :)
Have fun! And hope it works.
One effective way to do this is to put the calculator identification number into the program of the only calculators you want to be able to run the program. Have the program check if the identification number matches the one in the program when the program starts. That way it cant get out to other calculators that you don't want the program on.
I hate to say it, but both of those aren't really good methods to protect your program at all, especially if it is in BASIC. As for TheEliteNoob's version, anyone can edit the list to give them 999 trials, or even remove that code entirely.
As for Evthepenguin's option, that is actually more plausible, the only problem with that is that you have to know the calculator serial numbers of the people you want to give the program too, which would require editing, most likely on the computer if it was in ASM, to send it to another calc.
The best option I can think of is to implement some decently strong hash function, disable ON interrupts, decompress your program into memory, run it, delete the program, enable ON interrupts, and then quit. And that is quit ridiculous. Basically, if you don't want someone accessing it, or sending it to other calculators, I don't believe there is a concrete method at all. Even the method I just described could be foiled rather easily by myself.
So I just don't think there is a good, accurate method to prevent other people from using/running your program except to watch who you give your calc to, and when releasing a program, assume there apparent technological IQ + 10.