I've been experimenting around with emulators of keypress programmable calculators, some of which are the TI-95 and TI-59. For you people who don't know what keypress programming is, I made a nice article of what it is. Keypress Programming: What is it?

Keypress programming is the kind of programming used on old, vintage calculators like the TI-66 Galaxy.



Notice how there are some programming instructions - and they're all on seperate buttons (or using 2nd.)
The LRN button is for making a program. Each programming instruction is on a seperate "step". Every step has a number. Some calculators can only hold 112 or less steps. The reason it's called keypress programming is because to enter a command, all you had to do was press a key. Every key press is a step. For example, a program to multiply a number by 2 would be 3 steps long, meaning 3 keypresses long. You would press [*] to multiply, [2], and [=] to return the value. Now, the R/S and RST commands are crucial too. They stop/start the program, and reset the step counter to 0.[/quote]

Hopefully that helped. Well, I'm making a keypress programmer in TI-Basic. So far, I have added buttons 0 through 8 (it takes a long time to add in the code to detect the button and do whatever it's supposed to do). Your programs are stored in L1, and can be up to 100 steps long (just like the old keypress programmable calcs). I'll try my best to simulate the keypress programming of the TI-59 calculator. I'll also add in a parser which will run the program stored in L1. Soon, I should have a good enough program for screenshots, source, and downloads.

Ideas and suggestions would be greatly appreciated Very Happy.
This sounds really cool! Which commands are you emulating? Just the four functions, other math commands, variables, functions? In what format are they stored in L1? How do you distinguish constants from commands in L1? I almost think it would be better as a string of commands, so that you could loop through the string, pulling out one-element substrings, mostly because then you could use literal tokens like sin() and could even consider a way to use the eval() function to help you out. Most important, it would save about 8/9ths of the space. Smile
  
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