### Author Topic: A Calculator for the TI-83+/84+  (Read 538 times)

0 Members and 1 Guest are viewing this topic.

#### Xeda112358

• Xombie.
• Moderator
• LV12 Extreme Poster (Next: 5000)
• Posts: 4537
• Rating: +711/-6
• meow :3
##### A Calculator for the TI-83+/84+
« on: February 19, 2019, 01:05:18 am »
I have been working on a side project for a little while that will revolutionize the 83+/84+ monochrome series: A basic calculator program.

That's right, your TI-83+ is no longer just for games. If you want to add or subtract-- or even multiply and divide-- this program can do that for you!

Be warned, some of the math is a little buggy still. You'll need the Floatlib app located here, but otherwise just run it as an assembly program. I made a custom input routine, so it might feel a little clunky, but it should be pretty straight-forward (except [DEL] actually acts as a backspace). Exit with [ON].

#### Eeems

• Mr. Dictator
• LV13 Extreme Addict (Next: 9001)
• Posts: 6156
• Rating: +318/-36
• C'est la vie
##### Re: A Calculator for the TI-83+/84+
« Reply #1 on: February 20, 2019, 08:44:53 am »
Obvious question, but how does it compare to TI-OS in terms of calculation speed etc?
/e

#### Xeda112358

• Xombie.
• Moderator
• LV12 Extreme Poster (Next: 5000)
• Posts: 4537
• Rating: +711/-6
• meow :3
##### Re: A Calculator for the TI-83+/84+
« Reply #2 on: February 20, 2019, 10:40:14 am »
Since I'm using the z80float library, addition and subtraction are slightly slower on average (about 350cc, which translates to 20%), multiplication and division are about three times faster. The real bottleneck is in converting to and from strings which is significantly slower than the TI-OS since they use a BCD format.

Eventually, I want to make a fairly simple programming language and my plan is to tokenize/precompile so that the bottleneck is only in displaying strings (converting from a string to an integer or a float will be done once). Since I had this idea in mind as I worked on this, evaluation from plaintext first compiles to a bytecode and then runs it through a parser. If I wanted it to be a non-programmable calculator I could combine both into one step that uses less memory (and slightly less CPU time).