Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Calculators Keeping my Ti89 Program from being transferred

  1. Mar 2, 2010 #1
    So let's say that I make some super awesome program in Ti Basic. I then pass it on to a friend. Let's now say that I would like to keep this person from passing it on to others. There must be some way I can do this (aside from asking nicely :smile:).
  2. jcsd
  3. Mar 3, 2010 #2


    User Avatar
    Science Advisor

    Lock it to the serial number? You'd have to recompile it for every user, but I doubt that anybody would care enough to crack it. I'd also doubt that anybody would go to the trouble of protecting / selling (homebrew) TI-89 software, but again, that might just be me.
  4. Mar 3, 2010 #3
    What is 'locking it to the serial number?' You don't by any chance have any good links for this?
  5. Mar 3, 2010 #4


    User Avatar
    Science Advisor

    Every ti89 has a (unique) serial number. This can be recalled in the info screen, so I'd presume that you can recall this in your program! Most likely, given the 68k architecture, it probably resides on the flash or on a separate EEPROM (less likely, but a possibility) at some memory location.

    Actually implementing this is left as an exercise to the reader (but I'd start with the ti89 manual and maybe ask a question at the TI forum)
  6. Mar 4, 2010 #5

    Haha. That kills me. Anyway....I suppose the simplest way would be to set some variable equal to the serial number. Then I could do a simple if then statement to check and see if the current serial number equals the variable that was set. It could be easily hacked...but like you said....whose going to look into it. It would be easier to cough up the 5 bucks.

    And trust me, with 80 students in my FEA class, 5 bucks a program can add up quick.

    Thanks for the idea. Your check is in the mail :smile:
  7. Mar 4, 2010 #6


    User Avatar
    Science Advisor

    Yeah, now here's the really bad news with this approach. Do any of your prospective 'customers' know anything at all about the TI-89, or basic (BASIC) programming? If so, and if I recall correctly, it's interpreted, and not compiled (as might be the case with an Assembly program). That means that anybody that opens up the program can see where you did this comparison. Unless you put in random crap, nonsensical loops and made gratuitous use of arbitrary jump tags. Or you could do it in assembly, which would take a more determined effort, which means that unless you have some really blinding insight (or unique programming ability--ever watch Blackhawk Down? "Typing is a specialist skill?", "Can you type?") then somebody else will write their own.

    ...But really, your program is what? A few lines of code that probably took an hour or two to write? You'd be better off just not sharing the program (retaining the advantage for yourself) or sharing it with the whole class (being the putative 'man of the hour' for comparatively little effort--may want to target those of your preferred gender), rather than putting in this marginal 'copy protection'. Maybe you can get the best of both worlds and say, "Used my program? Buy me / [Let me buy you] a beer!"

    I won't even charge you my $4.75/copy royalty fee for the copy protection scheme! :wink:
  8. Mar 4, 2010 #7
    Haha! Yeah. Actually, the FEA techniques we are learning to do by hand are getting out of control. Many students cannot even complete the 3 problems given on a 100 minute exam. Homeworks take much longer. A 'few lines' is certainly an understatement, especially since Mech E's have very limited formal training in programming...and BASIC is certainly not one of the languages taught here. If someone cracks the serial lock, they earned it; but my money is on a student saying to themselves 'I rather just pay the $5 than take an hour or 2 of my life to figure out how this works.'

    And being 'the man of the hour' is overrated. :wink:
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook