RPL second impressions (HP 28)
|
07-11-2018, 11:22 AM
Post: #61
|
|||
|
|||
RE: RPL second impressions (HP 28)
(07-04-2018 10:10 PM)Valentin Albillo Wrote: That's the decades-long problem I've always resented: people will constantly produce this or that library, or this or that utilities ROM, or this or that utilities LEX files and so on and so forth, which are then published and/or made available for free or nearly so, intended to be used in people's own programs and such. So far so good. Well writing libraries is always fun and they are used at least once (I hope), during the tests of those libraries. For the programs you are talking to, I am not sure I follow you. While sharing a library or a function that can be applied to different problems is somehow useful, as it can be reused, sharing a program (or a solution) has a bit different scope. I like shared solution, even only to learn why this or that works how it works, but I can understand that people say "well, this solution may be interesting only to me, so I don't see the need to share it and make an effort in a post online". It is a pity, as someone else may find their effort instructive, but it happens often. I, for one, share my solutions mostly on my open git repository that is not immediately reachable as it is one of the N git repos online. When I do some more interesting research I try to combine it in a sort of an article / post. Trying to cover the results (and on the way to get them) even just for myself of the future. As I will be able to use the results in a faster way if I organize them in an article. Unfortunately more often than not I have little time so either I tinker a bit more or a write an article. Often I do the former instead of the more useful (as it pays off over time) latter part. Plus sometimes I want to read (for example the VA pdfs and what not) or do other tasks and so the time is gone. Wikis are great, Contribute :) |
|||
07-12-2018, 11:01 AM
Post: #62
|
|||
|
|||
RE: RPL second impressions (HP 28) | |||
07-14-2018, 12:59 PM
Post: #63
|
|||
|
|||
RE: RPL second impressions (HP 28)
(07-01-2018 10:35 PM)Thomas Klemm Wrote: That's great. Thus I assume these 109 lines of SysRPL code to calculate the complex inverse cosine are considered of "trivial size" as well. (02-28-2015 04:03 PM)Valentin Albillo Wrote: The HP-71B Math ROM has been dumped for its use with several emulators/simulators, I have the dumped file itself. Well then, probably not. |
|||
05-27-2022, 06:07 PM
Post: #64
|
|||
|
|||
RE: RPL second impressions (HP 28)
(01-09-2020 07:30 PM)J-F Garnier Wrote: - Support of complex arguments with the inverse trigonometric ASIN/ACOS/ATAN and hyperbolic ASINH/ACOSH/ATANH functions. For some unknown reasons these inverse functions didn't accept complex arguments in the HP-71B Math ROM. This is surprising because there is a lot of space available in the ROM (about 4KB) and the algorithms were well known by HP at the time since they are implemented in the HP-15C and in the HP-75C Math ROM too. This is the corresponding routine in the assembler code of release 2B7: Code: * ************************ (01-09-2020 10:36 PM)rprosperi Wrote: Wow, exciting announcement Jean-Francois, thank you for sharing this here! I couldn't agree more. Thanks to the comments I can follow the source code even though I'm not familiar with the entry points. Some of them can be guessed easily, like fdiv2, mp15s, ad15s, dv15s or sqr15. The program is mostly a list of go-subroutine calls with a little bit of "real" assembler code sprinkled here and there. To me that looks similar to the SysRPL code. Entry points start with %% and instead of using assembler to deal with registers, it uses stack shuffling instructions. Maybe not a surprise as both use the same algorithm. I have to admit that I wasn't aware that the complex ACOS function was missing from the original HP-71B Math ROM. This explains why I never got a response to my request. I am very happy that I finally got it. |
|||
05-27-2022, 07:38 PM
Post: #65
|
|||
|
|||
RE: RPL second impressions (HP 28)
(05-27-2022 06:07 PM)Thomas Klemm Wrote: [snip...] It's not surprising since many many members that worked on the 71B OS and IDS went on to work on the 28C/S and then the 48 ROM. Most folks don't realize that a vast majority of the underlying math libraries/routines in all post 71B machines up through the 50g are based on the foundation laid by the 71B OS. Cyrille has even commented that much of the 39GII and Prime's "guts" re-uses much of the same stuff, though ported to C for portability. --Bob Prosperi |
|||
05-28-2022, 05:38 AM
Post: #66
|
|||
|
|||
RE: RPL second impressions (HP 28)
(05-27-2022 07:38 PM)rprosperi Wrote: Most folks don't realize that a vast majority of the underlying math libraries/routines in all post 71B machines up through the 50g are based on the foundation laid by the 71B OS. Bill Wickes provided a port of the HP 71 Math Pac PROOT function for the HP 48S/SX which is the same assembly language code with a RPL front end: HP 48 Polynomial Rootfinder |
|||
05-28-2022, 09:35 AM
Post: #67
|
|||
|
|||
RE: RPL second impressions (HP 28)
(05-27-2022 06:07 PM)Thomas Klemm Wrote: The program is mostly a list of go-subroutine calls with a little bit of "real" assembler code sprinkled here and there. Yes, it looks a bit similar but with important differences: - RPL is using the stack for each operation. - HP-71 assembly uses the CPU registers pairs (A,B), (C,D) for the 1 or 2 arguments of each operation, and two scratch registers formed with registers R0-R3. The HP-71 also uses a 4-level stack for keeping intermediate values, but it's only for storage, operations are not directly done one the stack. For more complex algorithms, as encountered in the matrix operations, the HP-71 also uses other temporary memory locations, that must be managed "by hand" by the programmer. So programming in HP-71 assembly requires to juggle with these limited resources (with many opportunities for bugs), whereas System RPL, with its infinite stack, is much easier to program. It was the main benefit (and objective I guess) of System RPL, but it has a cost: a significantly slower execution speed. It is particularly visible between the 32S and 42S, the 32S even with its slower 640 kHz CPU is faster than the 42S for many operations. Although I recognize the benefits of System RPL vs assembly, I prefer to program in assembly for efficiency, in a way not so different from the many people who seem to still prefer programming in RPN/RPL rather than in a clear algebraic language :-) Quote:I have to admit that I wasn't aware that the complex ACOS function was missing from the original HP-71B Math ROM.On my side, I missed your article, it would have been useful for me when writing the complex inverse trig functions for the HP-71 ! (05-28-2022 05:38 AM)Didier Lachieze Wrote: Bill Wickes provided a port of the HP 71 Math Pac PROOT function for the HP 48S/SX which is the same assembly language code with a RPL front end: HP 48 Polynomial RootfinderUnfortunately, Bill just provided the binary code , not the source file. PROOT code is still not commented in my "HP-71 Math ROM source file project". It may not be too difficult because the method is properly documented in the HP75/71 Math ROM manuals, so I may do it someday when I will work again on the HP71 Math Pac. J-F |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)