Is there a way I can protect a program that I write in Basic for a TI 84 calculator? Basically, I don't want anyone to copy it or see the guts of it.

Does anyone know how to do this?

Thanks in advance.

martinmick
You can protect the program from editing on the calculator with a number of different tools (I know offhand MirageOS and Doors CS have this feature), but this only prevents it from appearing in the PRGM->EDIT menu. It remains trivial to view the program contents with a tool like TokenIDE or Sourcecoder that knows to how read and detokenize 8xp files.

The short answer is no, because the calculator needs to be able to read the code in order to run it and if the calculator can then so can anybody else. Longer answer:

The only real option available to you is obfuscation. In that respect Basicbuilder is probably the best option, since I'm not aware of any existing tools that are capable of pulling the program data out of a basicbuilder app and it's easy to use. That's not to say it'll be very secure- I expect getting the data out of a basicbuilder app is still quite easy for somebody who knows what they're doing- but it would stop most casual browsers. For small programs you'd be accepting a lot of bloat, though.
Using the method I posted in this thread makes TI-Basic pretty hard to read.
Why do people keep asking this? Why does it matter? Why do you care if their classmates can see your sloppy code and give themselves a big high score on a local leaderboard in a calculator game 😑

Basically, you can't actually prevent people from seeing or tampering with your code, but you can obfuscate it to make it difficult.
Tari wrote:
You can protect the program from editing on the calculator with a number of different tools (I know offhand MirageOS and Doors CS have this feature), but this only prevents it from appearing in the PRGM->EDIT menu. It remains trivial to view the program contents with a tool like TokenIDE or Sourcecoder that knows to how read and detokenize 8xp files.

The short answer is no, because the calculator needs to be able to read the code in order to run it and if the calculator can then so can anybody else. Longer answer:

The only real option available to you is obfuscation. In that respect Basicbuilder is probably the best option, since I'm not aware of any existing tools that are capable of pulling the program data out of a basicbuilder app and it's easy to use. That's not to say it'll be very secure- I expect getting the data out of a basicbuilder app is still quite easy for somebody who knows what they're doing- but it would stop most casual browsers. For small programs you'd be accepting a lot of bloat, though.

Bloating the program up to a 16k page just for obfuscation purposes is very oof. I'd say it would stop more than just casual browsers, you would need to be quite knowledgeable and dedicated to extract the code, although if you know what you're doing it should be trivial. Its probably your best bet against people tampering with your program, but I just don't think its worth it. Edit locking your program is a reasonable option although it won't do a whole lot to stop anyone with half a brain cell.
calclover2514 wrote:
Using the method I posted in this thread makes TI-Basic pretty hard to read.

That's dumb.
Thanks. I'm actually planning to sell the program and want to prevent others from copying it too easily. It's not for a game, but for academic applications.
You can't sell TI-Basic programs.
Of course you can. It's just not a good idea.
The only kids who would even consider buying a ti-basic program, much less an academic one, are high school nerds who somehow know next to nothing about programming. And even at that, they're hardly likely to pull out some cash for such a program. I'm not discouraging attempting it, but it just sounds really silly.
Tari, calclover2514, Thanks for your input. I think what you posted will help. By the very least, you've given me direction so now I know what I basically can and cannot do.

It would be to dissuade the more casual calculator users, so I think obfuscation should work just fine.

Appreciate your help!
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement