Hello everyone,
This is the first time I have every posted on a board. Ever. In my entire life (Facebook doesnt count right?). So please forgive my poor etiquette because I am very new at this but I need help from the experts.

History:
My workplace used to use a highly modified (read: custom programmed) HP 41CV calculator to store, manipulate and return information. For obvious reasons, the HP41CV was discontinued about 20 years ago but it was not replaced with a similar device so we now have to do all of the math by hand with crappy calculators (TI-30XA). Well, I like math but I hate doing the same thing over and over again and I am particularly lazy so I figured 'Hey, what if I wrote a TI 84 CE program to do this for me'? I spent the next year, roughly 400 hours in all, to learn how to program in BASIC and come up with a program that I think could be the next replacement for what the old HP41CV used to do. (Yes, I spent 300 hours to save 10 seconds per calculation. I hope I find kindred spirits out there with a similar reason to want to learn coding.)

The Goal:
To sell the program and calculator settings to my employer and co-workers. Think of the end-product to look like this: a Ti-84 CE that can ONLY run Doom but can also do calculator functions. (It wont actually run Doom but its the best example I can think of).

The problems:
1. Is this even legal? Can I sell a program to my boss? I will be reaching out to Texas Instruments Inc to see if this is even possible. But maybe one of you has some experience out there to help me out with this before I step into a legal hornet's nest.

2. How do I make this project user-friendly? The end users of this program are people who like calculators only slightly more than doing math by hand. I need to make this project user friendly and difficult to alter by accident. I wrote this program for me only. I know the in's and out's. I know where problems can come up. I also know how to fix it on the fly if there is a problem. Currently my program is saved in my TI 84 (and backed up extensively on my laptop). The program is more of an agglomeration of programs and subroutines that all work interconnectedly. This means that the user needs to press the 'prgm' button and choose from a list of programs the right one to execute and hopefully not click the program with the 'edit' option selected. I am nervous that a user might get lost or accidently overwrite the program. If my co-workers do not feel comfortable with this program then they just wont use it and so all of the work would be for nothing. Does anyone have any experience with this kind of idea?

3. I want my Ti-84 CE to be able to do the following things: can execute only my program , is difficult to reprogram and break, and can act as a calculator as normal. Any ideas on how to achieve this?

Conclusion
Internet learning was great for TI BASIC programming but I feel as though my project is next level stuff. I spent the past week trying to follow random blog posts, learning Assembly, downloading half a dozen IDEs, emulators and notepad programs. I am completely lost right now . I am hoping that someone could please point me in the right direction.

Thank you very much.
Well, you're able to lock a basic program so people can't see the insides- I believe TI Connect has this functionality in some capacity in their editor, and external tools like SC3 can do it as well. Assembly programs (and C programs, which are compiled to Assembly) are difficult to reverse-engineer and even harder to change- reverse-engineering programs is an entire field of study.

I'm not entirely sure if what you're doing is, like, ethical, even if it is legal (but IANAL and I also haven't looked into any laws). I suspect others here will take the same point of view, but I won't hold you or others back from pursuing this goal if you think it's alright.

As far as overwriting, I'd focus on streamlining the process of users obtaining the programs in the first place. If they lose the program, it's not a problem because they can get new copies in hopefully only a minute or two.

Edit:
Obligatory relevant xkcd, 1205.
If you wrote the program in C using the CE C Toolchain, you could avoid having multiple programs: https://ce-programming.github.io/toolchain/index.html
Quote:
Conclusion
Internet learning was great for TI BASIC programming but I feel as though my project is next level stuff. I spent the past week trying to follow random blog posts, learning Assembly, downloading half a dozen IDEs, emulators and notepad programs. I am completely lost right now . I am hoping that someone could please point me in the right direction.


Welcome to Cemetech, I hope you enjoy your stay!! Smile

If you want to move further in learning how to program for the CE, there are a couple of languages out there. Here are some few:

1. ASM, ASM is very very powerful and allows developer to make programs without needing external libraries. (personal I won't choose this as my first langue "there a big learning curve")

2. C, C is power and very easy for new programmer to learn with an unlimited scope of functions and etc.

3. ICE, "ICE Compiler is a program that compiles TI-BASIC-like language to ASM, the machine code. Create insane games, use the color screen, and make the step to ASM smaller" (But, it's a bit out dated right now and limited)

If I were you I would start with something very easy, ICE, or C. As for IDE's, There are many IDE's out there, but I mainly use Notepad++ but many users on Cemetech use visual studio. (There is one huge difference though ... I have no Idea how to add C CE toolchain syntax to Notepad++ Sad , and visual studio takes a very long time to boot while Notepad++ boots very fast and has a range of plugins)
I think it would be a waste of a TI 84 plus CE to only allow it to run one program! Maybe you could just give a 2 minute explanation or provide a 1 page manual for your co-workers on how to get around on the calculator. It's kind of simple to run a program without deleting it. Also, I'm sure that it would be illegal to sell the calculators, and I doubt that all your co-workers would want to buy a $130 TI-84 Plus CE for themselves. And lastly, I've never even heard of a program being sold for a calculator and half of the programs out there are open source!
dazedandcomputted wrote:
1. Is this even legal? Can I sell a program to my boss?
There's nothing that says you can't sell a calculator program, but as others have commented it's rare to do so for TI programs specifically (Zoom Math being one of the most prominent exceptions).

More problematic to your idea is probably that depending on your employment contract and jurisdiction, your employer may already be able to claim ownership of your work if you used work resources (including time) to make it. In addition, if they haven't seen fit to invest in a newer solution, what reason do you have to believe that they would pay you for a tool that they may be able to simply claim ownership of?

Quote:
2. How do I make this project user-friendly? The end users of this program are people who like calculators only slightly more than doing math by hand. I need to make this project user friendly and difficult to alter by accident.
Others have already observed that you can edit-lock programs so they can't be accidentally edited. One option for making the program easy to launch is to simply give it a name that will appear early in the program list (extreme example: prgmA).

Quote:
3. I want my Ti-84 CE to be able to do the following things: can execute only my program , is difficult to reprogram and break, and can act as a calculator as normal. Any ideas on how to achieve this?
The requirements of running only your program and working as a normal calculator seem like they're at odds. As long as the program is easy enough to launch and difficult to modify accidentally I think it's fine.

I also wonder if this program is really important that it be a calculator program, rather than something that runs on a computer. Does it need to be handheld and portable? If no, it may be easier to provide this as a program that runs on a computer, since that's probably a more familiar tool to most users.
  
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