Post Reply 
RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
07-19-2024, 10:06 PM
Post: #115
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
I am happy and relieved to announce that RPN83P has graduated from Beta, and the latest release (v1.0.0) is available at https://github.com/bxparks/rpn83p/releases. Download the rpn83p.8xk file and transfer it to your 83+ or 84+ calculator. This version should be compatible with v0.12.0, no data should be lost.

For this release, I wanted to add enough improvements to be worth downloading, but not change the code too much as to introduce bugs and instability. Here are the major changes:
  • User Interface
    • the CLEAR button clears only to the end of line if the cursor is in the middle of the input buffer
    • this is similar to the behavior of the CLEAR button on the TI-89/92+/Voyage 200 series
    • this is also similar to the CLEAR button on the HP-50g, but only in Algebraic mode, not RPN mode
  • TVM
    • improve accuracy for small I%YR by adjusting the transition to small-i approximation
  • UNIT
    • add new conversion functions
    • convert between mpg (miles per US gallon) and liters per 100 km
    • convert between psi (pounds per square inch) and kPa
    • convert between acres and hectares
  • PRIM
    • improve performance of the Prime Factor function by 2.4X from v0.12
      • now 25X faster than the first floating point version
      • and 9X faster than the first u32 integer version
    • benchmarks for PRIM for 65521*65521=4_293_001_441:
      • TI-83+ (6 MHz): 8.3 s
      • TI-83+SE (15 MHz): 3.2 s
      • TI-84+SE (15 MHz): 3.9 s
      • TI-Nspire w/ TI-84+ keypad: 3.0 s

I'm not entirely sure why I spend so much time optimizing the PRIM function. I think it's because it's complex enough that optimization matters, but small enough that I can hold the entire problem in my head at once. There are other areas of RPN83P (e.g. some parts of the UI code) which are sometimes too big to hold in my head at the same time, and those problems are less attractive to work on.

What's interesting about PRIM is that essentially all of the 9X performance improvements from the first u32 integer version have come from micro-optimizations. Normally micro-optimizations don't produce such significant performance improvements, but the PRIM function pushes the Z80 processor to its limits.

What does v1.0 mean? I'm going to take a short break (several months?) from its development. It looks like I have spent about one year working on RPN83P, which is 6 months longer than I had initially estimated (which many of you know is completely normal for a software project). The list of future RPN83P features is long, and I plan to tackle them in the future. Just not immediately. In the meantime, my other open source projects are in need of maintenance and attention.

As always, bug reports are welcome. I will handle them as best as I can. Enjoy!

Brian
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S - bxparks - 07-19-2024 10:06 PM



User(s) browsing this thread: 1 Guest(s)