RCL-57
|
05-20-2022, 01:06 PM
Post: #21
|
|||
|
|||
RE: RCL-57
(05-20-2022 07:36 AM)Werner Wrote:(05-16-2022 03:58 PM)pauln Wrote: Thank you! I plan to rewrite RCL-59. Interesting. Did you use a different algorithm or did you optimize the implementation? |
|||
05-20-2022, 05:16 PM
Post: #22
|
|||
|
|||
RE: RCL-57
(05-20-2022 12:12 AM)pauln Wrote: [...] Thanks for the link! I was unaware of that book! 10B, 10BII, 10C, 11C, 12C, 14B, 15C, 16C, 17B, 18C, 19BII, 20b, 22, 25, 29C, 32SII, 35, 38G, 39G, 39gs, 41CV, 48G, 97 |
|||
05-20-2022, 09:58 PM
Post: #23
|
|||
|
|||
RE: RCL-57
(05-16-2022 03:58 PM)pauln Wrote: Thank you! I plan to rewrite RCL-59. May I suggest when you rewrite RCL-59, maybe you could add the ability to install some of the Solid State Modules? May I also suggest as a first option to add the Math/Utilities module start with. |
|||
05-21-2022, 02:13 PM
Post: #24
|
|||
|
|||
RE: RCL-57
(05-20-2022 07:36 AM)Werner Wrote: [...] Gave me a chance to finally peek at the LinAlg routines of the Master Lib to see how they were written. Not so good, I figured, and rewrote them. Paradoxically, in a real device or emulator it could be a tie between your program and the one in the Master Library. Indeed the same program will run faster if run from a module than from regular memory. I think it is because module programs are guaranteed, if coded correctly, to never run in an infinite loop, so there is no need to check for user input ("R/S") while they are running. While coding RCL-57 I found out that the CPU spends a considerable amount of time checking for using input and updating the display (even when it doesn't change). |
|||
05-21-2022, 03:37 PM
Post: #25
|
|||
|
|||
RE: RCL-57 | |||
05-21-2022, 03:46 PM
Post: #26
|
|||
|
|||
RE: RCL-57
I don't know if the "no infinite loop" is right or not about Master Libraries (although I don't ever recall hearing that there was one!).
But a big reason programs run faster from rom on the TI-58/59 than from ram is that the calculator converts the number that would be displayed to and from an internal state to a displayable state every time a step is executed in RAM just in case the R/S key is pressed. While running in ROM it does not do this. Once this was realized, the TI User Group (TI-PPC Notes has a lot of info on this), discovered how to initiate a "Fast Mode" where programs running in RAM will execute as if they were running from ROM instead. At HHC 2015, I made a presentation on TI-Fast Mode: HHC 2015 Fast Mode |
|||
05-21-2022, 03:58 PM
Post: #27
|
|||
|
|||
RE: RCL-57
I'm sure your explanation is more accurate than mine : )
In fact, I just had a vague/fuzzy recollection from many years ago, possibly from your original website before it moved to rskey.org. I just found the current page: https://www.rskey.org/gene/hpgene/fastmode.html Thanks for the link to the video, I will definitely take a look. |
|||
05-21-2022, 04:25 PM
Post: #28
|
|||
|
|||
RE: RCL-57
You were quite correct, however, that once in fast mode, R/S would not terminate a running program. If you mistakenly made an infinite loop... you had to use the ultimate R/S key.
The ON/OFF switch at the top. :-) |
|||
05-23-2022, 07:39 AM
Post: #29
|
|||
|
|||
RE: RCL-57
(05-20-2022 01:06 PM)pauln Wrote: Interesting. Did you use a different algorithm or did you optimize the implementation? Both ;-) - all routines use a single dot product routine at their core. the LU-decomp of the Master Lib uses a very badly written and slow axpy (y:=y+a*x) routine. - pivotation vector is stored in a single register - inversion is done solving U*X*L = I (so X= inv(A) ), making max. use of the innermost dot product routine. The Master Lib calculates the inverse as inv(U)*inv(L), in three separate steps, spending quite a bit more time in loop setup and control. - only 640 steps (I simplified the interface a little bit as well). I do use some HIR registers (2 or 3), and of course the Opcodes to add or subtract 1 from a reg, which are not used in Pgm 02. (05-21-2022 02:13 PM)pauln Wrote: Paradoxically, in a real device or emulator it could be a tie between your program and the one in the Master Library. Seeing that there's a factor 3 difference in LU factorisation, I'm hoping to be left with some speed improvement ;-) But, on an emulator, I would not have both 100 registers and 960 program steps, I'm afraid, and so I would only be able to test small matrices (up to 5x5 I think), where the speed difference would not be so pronounced. Unless you can 'tweak' it a little. Cheers, Werner 41CV†,42S,48GX,49G,DM42,DM41X,17BII,15CE,DM15L,12C,16CE |
|||
05-24-2022, 02:29 AM
(This post was last modified: 05-24-2022 02:30 AM by pauln.)
Post: #30
|
|||
|
|||
RE: RCL-57
(05-21-2022 03:37 PM)Didier Lachieze Wrote:(05-21-2022 02:13 PM)pauln Wrote: Paradoxically, in a real device or emulator it could be a tie between your program and the one in the Master Library. Not that I am aware of, but you may find this interesting: http://www.datamath.org/Sci/WEDGE/PC-100_ModuleSel.htm |
|||
05-24-2022, 03:06 AM
(This post was last modified: 05-24-2022 04:16 AM by pauln.)
Post: #31
|
|||
|
|||
RE: RCL-57
(05-23-2022 07:39 AM)Werner Wrote: Seeing that there's a factor 3 difference in LU factorisation, I'm hoping to be left with some speed improvement ;-) Quite likely. As a test, I just run, in an actual TI-59, the diagnostic program directly from the Master Library: Code: Pgm 01 It took 14.8 seconds. Then I run the same program from memory: Code: Pgm 01 It took 16.7 seconds. Not a huge difference. Even taking into account the fact that the diagnostic program uses, in part, subroutines from other module programs, I would expect the speedup (running from module vs running from memory) to be closer to 50% than 200%. |
|||
05-24-2022, 11:31 AM
Post: #32
|
|||
|
|||
RE: RCL-57
Depends. Certain functions had no speed up at all. TRIG functions, for example, run at the same speed.
|
|||
05-24-2022, 03:27 PM
(This post was last modified: 05-24-2022 03:50 PM by pauln.)
Post: #33
|
|||
|
|||
RE: RCL-57
Could it be that no instruction (whether "sin x" or "x^2") has any speedup at all, and that the speedup only occurs between instructions?
Since "sin x" is much slower than "x^2", it would appear that the sequence "sin x sin x" has no speedup percentage-wise (even if it has a little bit of speedup) while "x^2 x^2" has a significant amount of speedup. |
|||
05-25-2022, 05:42 PM
(This post was last modified: 05-25-2022 05:43 PM by Matt Agajanian.)
Post: #34
|
|||
|
|||
RE: RCL-57
A new thought came to my mind.
Two-variable stats would be best. So, rather than having 10 registers, two up from eight in the original TI-57, how about 15 or even 20 which will leave nine or 14 registers for the user since the stat registers are using six? |
|||
06-04-2022, 03:02 AM
(This post was last modified: 06-04-2022 05:54 AM by pauln.)
Post: #35
|
|||
|
|||
RE: RCL-57
(05-12-2022 04:37 PM)pauln Wrote: [...] But a full biorhythm program seems beyond its capabilities. [...] Actually it's possible! By the way, I forgot how much fun it can be to write programs within 50 steps. The difficulty in this case is to find out the exact number of days between 2 dates in such limited space. The program works between 1901 and 2099 which should cover most of us... Note though the following: this program expects the user to write dates for January and February using some special convention. In general dates are written as MM.DDYYYY but, for January, MM should be 13 and, for February, MM should be 14. Also for these 2 months, the year should be 1 less than the actual year. Instructions:
Code:
|
|||
06-04-2022, 05:48 AM
Post: #36
|
|||
|
|||
RE: RCL-57
A little perplexed by the 3 INV 7 line. What does that do? What’s the RPN equivalent?
|
|||
06-04-2022, 05:56 AM
Post: #37
|
|||
|
|||
RE: RCL-57 | |||
06-04-2022, 10:54 PM
Post: #38
|
|||
|
|||
RE: RCL-57 | |||
06-12-2022, 06:48 AM
Post: #39
|
|||
|
|||
RE: RCL-57
New alpha/beta version of RCL-57. Same link: https://testflight.apple.com/join/FxfbbK0s
I have added a few fun programs. Make sure to play Lunar Lander! See attached screenshot for the list of programs. |
|||
06-12-2022, 10:05 AM
Post: #40
|
|||
|
|||
RE: RCL-57
(06-12-2022 06:48 AM)pauln Wrote: Make sure to play Lunar Lander! Is it the one from French magazine "l'Ordinateur de Poche"? It has a bit of boring solution for a perfect landing. Here's an online emulator: TI-57 Programmable Calculator |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 9 Guest(s)