It should be easily possible for an assembly programmer to use the bcall Michael3-2B linked to to store the ID in a variable. My skills aren't quite at the point where I can do that, but you could ask someone at Cemetech. As for the CE version, there would be the additional matter of finding out how the new call works (I assume there is one). It may well be the same routine, just in a different place.
That said, the calculator community is strongly against protecting programs from modification: not only is most security trivial to reverse, but many in the calculator community lose an opportunity to learn from your source code if you secure it.
Our page on protection has this to say: [[quote]]Besides knowing about knowledgeable calculator users, you should also think about how others would be able to learn from your code. The general consensus among the calculator programming community is that programs should be unrestricted so others are able to study your work, as long as they do not release it as their own.[[/quote]]
I personally especially dislike DRM for BASIC programs.
My personal view of DRM is that there is only one legitimate use: when you have developed a program that is of sufficient quality and completeness for people to want to buy, and must protect your revenue. (Sometimes not even then…) No BASIC coders *ever* get to that level— BASIC is so limited and often, well, basic, that programs don't deserve to be sold. Even assembly projects are all distributed freely. If you won't be selling it, what are you protecting? Information, from others? Why?