RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
|
11-20-2023, 09:25 PM
(This post was last modified: 07-19-2024 09:09 PM by bxparks.)
Post: #1
|
|||
|
|||
RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
[Updated on 2024-07-19 for v1.0.0]
RPN83P is an RPN calculator app for the TI-83 Plus series and TI-84 Plus series calculators, inspired mostly by the HP-42S, with significant features from the HP-12C and HP-16C. RPN83P also hopes to be the easiest and cheapest gateway app that introduces new users to the beauty and power of RPN calculators. RPN83P is a flash application written in Z80 assembly language that consumes 3 pages (48 kiB) of flash memory. Since it is stored in flash, it is preserved if the RAM is cleared. Project Home: Installation:
Exiting:
Features [Updated for v1.0.0]:
Missing features (partial list):
|
|||
11-20-2023, 11:31 PM
Post: #2
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
That's very cool!
You've made me want a TI calculator. Could be a reasonable option for those who want RPN but not the price of HPs. How does roll and x-y work? |
|||
11-21-2023, 12:59 AM
(This post was last modified: 11-21-2023 12:59 AM by bxparks.)
Post: #3
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
(11-20-2023 11:31 PM)dm319 Wrote: You've made me want a TI calculator. Could be a reasonable option for those who want RPN but not the price of HPs. Yeah, these TI-83+ and TI-84+ are dirty cheap on eBay. I recommend the 84+, it has the better LCD screen. I have now implemented enough of the HP-16C (which I don't have), that I find myself preferring to use my app to do hexadecimal, bitwise, and logical calculations. I follow the HP-30b conventions with regards to roll and x<->y:
|
|||
11-21-2023, 03:34 AM
Post: #4
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
It's nice to be reminded of an old thread: Looking for TVM formulas
|
|||
11-21-2023, 09:26 AM
Post: #5
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
Very nice work, bxparks, bravo!
PRIM actually finds a factor, otherwise returning 1 for prime input. PRIM works very fast - What algorithm have you used? |
|||
11-21-2023, 10:46 AM
(This post was last modified: 11-21-2023 12:03 PM by floppy.)
Post: #6
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
Interesting. Widely spread hardware.
Has the TIs possibilities for external memory storage? (PC-link or SD or..) HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
11-21-2023, 05:24 PM
(This post was last modified: 11-21-2023 05:31 PM by bxparks.)
Post: #7
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
(11-21-2023 09:26 AM)Gerald H Wrote: Very nice work, bxparks, bravo! Thanks! Early versions of PRIM just returned a boolean (0 or 1) to indicate prime, but it was more useful to return the smallest prime factor. I have updated the README.md and USER_GUIDE.md to make that more clear. I don't know if you saw it, but I explained how to get all the prime factors of a number N (< 2^32) iteratively (https://github.com/bxparks/rpn83p/blob/d...me-factors), because PRIM lifts the original N to Y, then pushes the prime factor into X. So you can just hit / to get the next number to factor, and hit PRIM again. The largest prime number <= 2^16 is 65521, so the longest execution time of PRIM is the factorization of 65521*65221=4 293 001 441. That takes 33 seconds on a TI-84+SE. I spent far too much time optimizing the PRIM function. :-) I just added notes about how PRIM works in the DEVELOPER.md notes here: https://github.com/bxparks/rpn83p/blob/d...VELOPER.md . I am copying the info below to save a click:
I think there are additional micro-optimizations left on the table that could make the PRIM function maybe 1.5X to 2X faster, without resorting to a completely different algorithm. But I suspect that the resulting code would be difficult to understand and maintain. So I decided to stop here. |
|||
11-21-2023, 05:46 PM
Post: #8
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
(11-21-2023 10:46 AM)floppy Wrote: Interesting. Widely spread hardware. I am not aware of an SD card extension (although it sounds like something someone, somewhere would have hacked together). But the USB-serial link to upload the RPN83P program from the host computer to the calculator is bi-directional. That means the external storage limit of the calculator is limited only by your host computer. (Unless I misinterpreted your question...) |
|||
11-21-2023, 06:00 PM
(This post was last modified: 11-21-2023 06:01 PM by bxparks.)
Post: #9
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
(11-21-2023 03:34 AM)Thomas Klemm Wrote: It's nice to be reminded of an old thread: Looking for TVM formulas Yes, definitely, that is one of the links that I referenced in my USER_GUIDE.md. During the implementation of the TVM functionality in the RPN83P app, I researched and read almost every post in every thread about TVM formulas and algorithms on the hpmuseum.org site. They were extremely helpful. I was planning to summarize my findings to the recent TVM formula error in programming manual? thread shortly. |
|||
11-21-2023, 07:38 PM
Post: #10
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
I don't have an 83 or an 84, but I do have an 89 Titanium laying in a drawer. Is there any possibility that this could be ported to that platform? I think there was an RPN app of some kind for the non-Titanium version of the 89, but it doesn't work on the Titanium.
|
|||
11-21-2023, 08:50 PM
Post: #11
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
(11-21-2023 07:38 PM)spiff72 Wrote: I don't have an 83 or an 84, but I do have an 89 Titanium laying in a drawer. Is there any possibility that this could be ported to that platform? I think there was an RPN app of some kind for the non-Titanium version of the 89, but it doesn't work on the Titanium. I guess the important questions are: * What is the state of the development tools for those calculators? How well are they supported and documented? * How much time and energy do I have? The TI-89, TI-89 Titanium, TI-92, TI-92+, and the TI Voyage 200 calculators use the Motorola 68000 processor, not the Z80. Basically nothing of the RPN83P code base would be reusable. The development tools of the 89/92/200 are completely different as far as I know, and I have not done any research on those tools. I don't know if TI ever published an SDK for those calculators, similar to their 83 Plus SDK. I know that those calculators can be programmed in C instead of assembly language, which would increase productivity. On the question of time and energy, I have so many projects in my backlog, I'm not sure what would cause the RPN89T/RPN92P project to rise above the others. By the time I get to v1.0 on this RPN83P project (in a couple of month hopefully), I will have spent 2-3X longer on it than I had expected. The 83+ and 84+ calculators were attractive targets, because there are millions of them out there, and they are dirt cheap on eBay. You can pick one up for $15-$35 on eBay including shipping. I get the impression that the 89, 92, and 200 calculators are far less popular. It seems like a LOT of work, for not many potential users. I tell you what. If you want to increase the chances of seeing a port to the 89T, 92+, and 200, I request that you scout ahead on the development tools for the TI-89T. Figure out how to download and setup the C compiler on Ubuntu 22.04 (my dev environment). Figure out if there is an SDK, figure out where the docs are located, figure out how to create a "hello world" program for the 89T, how to transfer the executable to the calculator, how to read the keyboard, how to print to the screen, how to read and store variables. There is so much more, but I guess that would be a start. That's probably a month or two of effort. If you come back and tell me that the dev environment for the 89/92/200 is easy to set up, and the OS routines are well-documented, then I would be more likely to be persuaded to do a port. Or, you will have learned enough to do the port yourself. :-) |
|||
11-21-2023, 09:07 PM
Post: #12
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
(11-21-2023 05:46 PM)bxparks Wrote:Rewording: any program on the TI83/84+ can be(11-21-2023 10:46 AM)floppy Wrote: Interesting. Widely spread hardware. a) uploaded into a PC storage place (or SD or whatever standard storage) b) deleted from the TI c) uploaded again into the TI if any need ? HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
11-21-2023, 09:26 PM
(This post was last modified: 11-21-2023 09:28 PM by bxparks.)
Post: #13
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
(11-21-2023 09:07 PM)floppy Wrote: Rewording: any program on the TI83/84+ can be Yes. There is a host app that runs on Windows (TI Connect), Mac (TI Connect) or Linux (TiLP2). It gives you a view of the contents of the calculator's memory that looks like a file system. You can drag-and-drop any app or variable from the calculator to the host. You can drag-and-drop those files from the host back to the calculator. You can also connect 2 TI calculators together through a 2.5 mm cable, and transfer files between them. I've actually never done it myself, but apparently it's possible. |
|||
11-21-2023, 10:02 PM
(This post was last modified: 11-21-2023 10:14 PM by floppy.)
Post: #14
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
(11-21-2023 09:26 PM)bxparks Wrote: Yes. There is a host app that runs on Windows (TI Connect), Mac (TI Connect) or Linux (TiLP2). It gives you a view of the contents of the calculator's memory that looks like a file system. You can drag-and-drop any app or variable from the calculator to the host. You can drag-and-drop those files from the host back to the calculator. Ouch. Perhaps you just signed the death of my HP35S (no exchange with PC possible with that weird one). Now the TI84+ is on my amazon list. In few days will probably make its way to me. Then after install/test probably bye bye HP35S via eBay. The TI-84 Plus C Silver Edition would be ok? lt seems to be the highest spec version. HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
11-21-2023, 10:18 PM
Post: #15
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
(11-21-2023 08:50 PM)bxparks Wrote:(11-21-2023 07:38 PM)spiff72 Wrote: I don't have an 83 or an 84, but I do have an 89 Titanium laying in a drawer. Is there any possibility that this could be ported to that platform? I think there was an RPN app of some kind for the non-Titanium version of the 89, but it doesn't work on the Titanium. Sorry - I didn't realize they ran different processors and "porting" wasn't that simple. (I'm more of a hardware/sticker guy (see my signature)... Maybe I will look into picking up an 83+ or 84+ to add to the collection. Is there a preferred one for this project? I'm guessing the 84+ silver is the better option? WP31S/WP34S, WP43/C47, newRPL (various), and DB48X adhesive and tabbed overlays: https://www.hpmuseum.org/forum/thread-20113.html |
|||
11-21-2023, 10:58 PM
Post: #16
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
(11-21-2023 06:00 PM)bxparks Wrote:(11-21-2023 03:34 AM)Thomas Klemm Wrote: It's nice to be reminded of an old thread: Looking for TVM formulas Please do! I wrote a TVM solver for the DM42 (available here) specifically for NSTK mode. I suspect it may need a bit more work/optimising though as just managed to get a divide by 0 error putting in a really big N. |
|||
11-22-2023, 02:43 AM
Post: #17
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
(11-21-2023 10:02 PM)floppy Wrote: Ouch. Perhaps you just signed the death of my HP35S (no exchange with PC possible with that weird one). Now the TI84+ is on my amazon list. In few days will probably make its way to me. Then after install/test probably bye bye HP35S via eBay. Texas Instruments seems to have thoroughly abused the "TI-84 Plus" brand. There are at least 4 calculators by that name: * TI-84 Plus * TI-84 Plus Silver Edition * TI-84 Plus C Silver Edition * TI-84 Plus CE Plus the "Python" versions of some of those. Some of them are quite incompatible with each other. Make sure you are getting what you think you are getting. The RPN83P works with the TI-84 Plus, and TI-84 Plus SE (and the TI-83 Plus), but *not* the TI-84 Plus C SE, and most *definitely* not the TI-84 Plus CE. With regards to the HP-35S, it all depends on what you want the calculator for. Most reviewers seem to love the retro-quality of the 35S, with echoes of the old Voyager (10C to 15C) and Pioneer series (20S, 32S, 42S). All of its functions seem to be available directly through the buttons instead of menus. Some people really like that. I'd probably enjoy having this calculator, but not at the prices that I see on eBay. (11-21-2023 10:02 PM)floppy Wrote: The TI-84 Plus C Silver Edition would be ok? lt seems to be the highest spec version. I don't have this calculator, but everything I read on the internet says, *never* get this calculator. It uses the same 15 MHz Z80 processor as the 84+ and 84+SE, but has a 320×240 color screen that requires a much higher CPU and memory resources. The Z80 processor apparently cannot render the fonts fast enough and does not have enough bandwidth to push the bits quickly enough to the LCD screen. |
|||
11-22-2023, 05:43 AM
Post: #18
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
My own preference is the 83+SE - awfully elegant. The 84+SE is merely greyish & looks much bulkier although it in fact weighs less.
|
|||
11-22-2023, 01:32 PM
Post: #19
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
TI 84 PLUS
This cable is for the connectivity to the PC? https://www.amazon.de/TI-Graph-Texas-Ins...6BXBS?th=1 Or this one ? https://www.amazon.de/Datenkabel-Ladekab...10&sr=8-17 Looks like 2 different types are listed. Not sure which one is the best. HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
11-22-2023, 03:53 PM
Post: #20
|
|||
|
|||
RE: RPN83P: RPN calculator for TI-83+ TI-84+ inspired by HP-42S
(11-21-2023 06:00 PM)bxparks Wrote: Yes, definitely, that is one of the links that I referenced in my USER_GUIDE.md. I noticed the link while reading the source code of lnOnePlus in float.asm. A few lines above we can find the following comment: Quote: ; This uses ln(1+x) = x * log(1+x) / ((1+x)-1). I think this algorithm is What do you mean exactly with "certain computers"? Does it work with these TI calculators? Otherwise, can you debug the code and maybe provide a trace of OP1, OP2 and FPS? |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)