HP Forums
RCL-57 now available at the App Store - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: Not HP Calculators (/forum-7.html)
+--- Forum: Not remotely HP Calculators (/forum-9.html)
+--- Thread: RCL-57 now available at the App Store (/thread-18660.html)



RCL-57 now available at the App Store - pauln - 08-11-2022 09:39 PM

[Moving the original post to its own thread for clarity]

I've finally released RCL-57 for the iPhone:

https://apps.apple.com/us/app/rcl-57/id1621959742 or search for "RCL-57" within the App Store.

If you have any issue, please send me a PM or reply directly in this thread. Thanks!


RE: RCL-57 now available at the App Store - Matt Agajanian - 08-11-2022 09:50 PM

Congrats! And thanks for making it a freebie!

Any chance of an expanded mode with 10 registers and 100 program steps?


RE: RCL-57 now available at the App Store - Steve Simpkin - 08-12-2022 03:33 AM

Outstanding! I had bought a HP-25 in mid 1977 shortly before the TI-57, 58 and 59 were available and mostly stayed with HP models for school/work after that. I now enjoy catching up on programmable calculator models that I missed out on over the years.

I seem to have found two different manuals for the TI-57. A 94 page version named "TI-Programmable 57 Introduction to Programming" and a much longer 244 page version titled "Making Tracks into Programming". They are both copyright 1977. The latter one is mentioned in the TI-57 pamphlet from TI so I assume that is the more common one that initially came with the calculator. Maybe someone could shed some light on why there were two manuals. Perhaps the smaller manual was used with the later TI-57s as the selling price when down over time.
http://www.datamath.org/Sci/MAJESTIC/TI-57.htm

RCL-57 works really well on my phone and has a great set of features. I am having a log of fun learning with it. Thank you, Pauln Smile


RE: RCL-57 now available at the App Store - EdS2 - 08-12-2022 06:43 AM

Oh, interesting note about the two very different manuals. My TI-57, bought in the UK, came with the shorter version. Both manuals, I note, have a space in the front pages for the owner to record the serial number - so I think one or other would have been shipped with each calculator. Both are copyright 1977, but I'd hazard that the shorter one would have been a cost-reduced development, perhaps for non-US markets.

The longer one can be read online here
https://archive.org/details/Makingtracksintoprogramming/a4compilationgood/mode/1up


RE: RCL-57 now available at the App Store - pauln - 08-12-2022 02:51 PM

(08-11-2022 09:50 PM)Matt Agajanian Wrote:  Congrats! And thanks for making it a freebie!

Thanks and you're welcome!

(08-11-2022 09:50 PM)Matt Agajanian Wrote:  Any chance of an expanded mode with 10 registers and 100 program steps?

I was thinking about it earlier in this project. But when I started writing a few sample programs such as Lunar Lander or Biorhythms, I realized that much of the fun of the TI-57 was the challenge of fitting these programs within those 50 steps.

I would be very interested in finding out what other programs can be written for the TI-57... Some programs for the HP-25 are quite impressive...

(08-12-2022 03:33 AM)Steve Simpkin Wrote:  Outstanding! I had bought a HP-25 in mid 1977 shortly before the TI-57, 58 and 59 were available and mostly stayed with HP models for school/work after that. I now enjoy catching up on programmable calculator models that I missed out on over the years.

That's great! One of my goals is to explore more in depth the early HP calculators such as the HP-25 and HP-41C.

(08-12-2022 03:33 AM)Steve Simpkin Wrote:  RCL-57 works really well on my phone and has a great set of features. I am having a log of fun learning with it. Thank you, Pauln Smile

You're welcome!


RE: RCL-57 now available at the App Store - prino - 08-18-2022 04:26 PM

Here are four extended precision programs, sorry for the "formatting", it's IBM's DCF/Script, but I'm sure you can make sense of it, it's a bit html-like, and at some stage I'll put it in the as yet unpublished calculator pages of my website.
Code:

.if SYSPAGE = ODD .pa
.pn pref D-
.pn 1
:h1.Appendix D: A few programs for the TI-57
:p.This appendix gives a short description of a few extended precision
programs for the TI-57 [The old LED-display version!]
:p.The programs included in this appendix are:
:dl tsize=9
:dt.EPF57-I
:dd.Extended Precision Factorials I
.br
This program can calculate factorials up to 34!
:dt.EPF57-II
:dd.Extended Precision Factorials II
.br
This program can calculate factorials up to 52!
:dt.EPe57-I
:dd.Extended Precision e I
.br
This program calculates e to 32 places.
:dt.EPe57-II
:dd.Extended Precision e II
.br
This program calculates e to 48 places.
:edl
.sk;.pa
:h2.Extended Precision Factorials I
:h3.About the program
:p.This program can calculate factorials up to 34!, using more or less
the same method as in the TI-58/59/66 versions. The main difference is
the fact that this program cannot avoid multiplications with zero!
:p.The execution time of the program for 34! is about 2'45".
:h4.User Instructions
:p.The instructions for this program are:
:ol
:li.Enter the program.
:li.Initialise the program by pressing :hp1.RST\INV\CT:ehp1..
:li.Enter the number you want to "factorialize".
:li.Start the program by pressing :hp1.R/S:ehp1..
:li.When the program has finished, you can find the result in R5\[MSD]
through R1\[LSD].
:eol
:h4.Listing of EPF57-I
.fo off
00  66    X=T            17 -49   IINT            34  25    1/X
01  01     1             18  38 2  EXC 2          35  86 1  LBL 1
02  32 0  STO 0          19  61 2  SBR 2          36  39 1  PRD 1
03  08     8             20  34 3  SUM 3          37  39 2  PRD 2
04  84    +/-            21  33 3  RCL 3          38  39 3  PRD 3
05 -18   ILOG            22 -49   IINT            39  39 4  PRD 4
06  32 1  STO 1          23  38 3  EXC 3          40  39 5  PRD 5
07  32 6  STO 6          24  61 2  SBR 2          41  00     0
08  86 0  LBL 0          25  34 4  SUM 4          42 -61   ISBR
09  33 0  RCL 0          26  33 4  RCL 4          43  86 2  LBL 2
10  61 1  SBR 1          27 -49   IINT            44  49    INT
11  33 1  RCL 1          28  38 4  EXC 4          45  42    EE
12 -49   IINT            29  61 2  SBR 2          46  08     8
13  38 1  EXC 1          30  34 5  SUM 5          47  84    +/-
14  61 2  SBR 2          31  56    DSZ            48 -42   IEE
15  34 2  SUM 2          32  51 0  GTO 0          49 -61   ISBR
16  33 2  RCL 2          33  33 6  RCL 6
.fo on
:p.It should be noted that :hp1.all:ehp1. arithmetic in this program is
done by means of the registers!!
.pa
:h2.Extended Precision Factorials II
:h3.About the program
:p.This program can calculate factorials up to 52!, using more or less
the same method as in the TI-58/59/66 versions. Just as
:hp1.EPF57-I:ehp1.,
this program cannot avoid multiplications with zero!
:p.The extended range, compared to :hp1.EPF57-I:ehp1., is obtained by
using a rotating stack with wrap-around. A disadvantage of this method
is a severe increase in execution time!
:p.The execution time of the program for 52! is about 8'20".
:h4.User Instructions
:p.The instructions for this program are:
:ol
:li.Enter the program.
:li.Initialise the program by pressing :hp1.RST\INV\CT:ehp1..
:li.Enter the number you want to "factorialize".
:li.Start the program by pressing :hp1.R/S:ehp1..
:li.When the program has finished, you can find the result in all 7
registers, but the format may need some clarification:
:ul
:li.Your entry is less than or equal to 44:
:p.The result can be found in R1 [LSD] through R7 [MSD].
:li.Your entry is between 45 and 49 (inclusive):
:p.The result can be found in R1 [Most MSD] and R7 [Next MSD] through
R2\[LSD], that is, the most significant digits overlay the trailing
zeroes in R1. [Factorials of numbers between 45 and 49 have ten
trailing zeroes]
:li.Your entry is 50, 51 or 52:
:p.These three numbers have 12 trailing zeroes, so the MSD extend into
the last four digits of R2!
:eul
:eol
.pa
:p.Some examples, leading zeroes are indicated by a .:
.sk;.fo off
       48!          50!          52!
R7: 15592536     .1713378     43878571
R6: .7267086     .4361260     66063685
R5: 22890473     81660647     64037669
R4: 73375083     68844377     75289505
R3: 52148635     64156896     44088327
R2: 46777600     .5120003     78248065
R1:   124139     .4140932     81751709
.fo on
:p.The above indicates that the actual values of 48!, 50! and 52! are:
:ul
.fo off
:li.48! = 1241391559 ..... 8635467776 E+10.
:li.50! = 3041409320 ..... 1568960512 E+12.
:li.52! = 8065817517 ..... 0883277824 E+12.
.fo on
:eul
:h4.Listing of EPF57-II
.fo off
00  66    X=T            17  49    INT            34  32 0  STO 0
01  01     1             18  42    EE             35  56    DSZ
02  32 0  STO 0          19  08     8             36  51 0  GTO 0
03  08     8             20  84    +/-            37  08     8
04  84    +/-            21 -42   IEE             38 -18   ILOG
05 -18   ILOG            22  38 1  EXC 1          39  86 2  LBL 2
06  32 1  STO 1          23  38 7  EXC 7          40  39 1  PRD 1
07  86 0  LBL 0          24  38 6  EXC 6          41  39 2  PRD 2
08  43     (             25  38 5  EXC 5          42  39 3  PRD 3
09  07     7             26  38 4  EXC 4          43  39 4  PRD 4
10  38 0  EXC 0          27  38 3  EXC 3          44  39 5  PRD 5
11  75     +             28  38 2  EXC 2          45  39 6  PRD 6
12  61 2  SBR 2          29  34 1  SUM 1          46  39 7  PRD 7
13  86 1  LBL 1          30  56    DSZ            47  00     0
14  33 1  RCL 1          31  51 1  GTO 1          48 -61   ISBR
15 -49   IINT            32  00     0
16  38 1  EXC 1          33  44     )
.fo on;.pa
:h2.Extended Precision e I
:h3.About the program
:p.This program calculates "e" to 32 places, using the same method as
used in the TI-58/59/66 versions.
:p.The execution time of the program is about 3"20', which translates
to about 6" per digit.
:h4.User Instructions
:p.The instructions for this program are:
:ol
:li.Enter the program.
:li.Start the program by pressing :hp1.SBR\0:ehp1..
:li.When the program has finished, you can find the result in R2\[MSD]
through R5\[LSD].
:eol
:h4.Listing of EPe57-I
.fo off;.tr $ 4E
00  43     (             17  32 5  STO 5          34  86 2  LBL 2
01  00     0             18  44     )             35  55     &ML
02  61 2  SBR 2          19  86 1  LBL 1          36  33 0  RCL 0
03  33 2  RCL 2          20  07     7             37  44     )
04  61 3  SBR 3          21 -18   ILOG            38  43     (
05  32 2  STO 2          22  34 2  SUM 2          39 -42   IEE
06  61 2  SBR 2          23  56    DSZ            40  42    EE
07  33 3  RCL 3          24  71    RST            41  08     8
08  61 3  SBR 3          25 -39 2 IPRD 2          42  75     $
09  32 3  STO 3          26  15    CLR            43 -61   ISBR
10  61 2  SBR 2          27 -61   ISBR            44  86 3  LBL 3
11  33 4  RCL 4          28  86 0  LBL 0          45  65     -
12  61 3  SBR 3          29 -19   ICT             46  32 1  STO 1
13  32 4  STO 4          30  03     3             47  89    |x
14  61 2  SBR 2          31  00     0             48  49    INT
15  33 5  RCL 5          32  32 0  STO 0          49 -61   ISBR
16  61 3  SBR 3          33  51 1  GTO 1
.fo on;.tr;.pa
:h2.Extended Precision e II
:h3.About the program
:p.This program calculates "e" to 48 places, using the same method as
used in the TI-58/59/66 versions. The extended capability, compared to
the program on the previous page, is obtained by using a rotating stack,
which allows repeated calculations to be performed on one single
register. The disadvantage is once again a much longer execution time!
[7'40", or almost 10" per digit]
:h4.User Instructions
:p.The instructions for this program are:
:ol
:li.Enter the program.
:li.Start the program by pressing :hp1.SBR\0:ehp1..
:li.When the program has finished, you can find the result in R1\[MSD]
through R6\[LSD].
:eol
:h4.Listing of EPe57-II
.fo off
00  06     6             17  65     -             34  86 2  LBL 2
01  38 0  EXC 0          18  89    |x             35  32 0  STO 0
02  22    X:T            19  49    INT            36  07     7
03  43     (             20  55     x             37 -18   ILOG
04  00     0             21  38 6  EXC 6          38  34 1  SUM 1
05  55     x             22  38 5  EXC 5          39  56    DSZ
06  86 1  LBL 1          23  38 4  EXC 4          40  71    RST
07  33 0  RCL 0          24  38 3  EXC 3          41 -39 1 IPRD 1
08  22    X:T            25  38 2  EXC 2          42  15    CLR
09  32 0  STO 0          26  38 1  EXC 1          43 -61   ISBR
10  44     )             27  33 0  RCL 0          44  86 0  LBL 0
11 -42   IEE             28  22    X:T            45 -19   ICT
12  42    EE             29  32 0  STO 0          46  04     4
13  08     8             30  56    DSZ            47  00     0
14  34 1  SUM 1          31  51 1  GTO 1          48  51 2  GTO 2
15  43     (             32  44     )
16  33 1  RCL 1          33  22    X:T
.fo on

Finally, just a question, is this emulator based on the actual TI-57 microcode?


RE: RCL-57 now available at the App Store - pauln - 08-18-2022 06:24 PM

(08-18-2022 04:26 PM)prino Wrote:  Here are four extended precision programs, sorry for the "formatting", it's IBM's DCF/Script, but I'm sure you can make sense of it, it's a bit html-like, and at some stage I'll put it in the as yet unpublished calculator pages of my website.
Code:

.if SYSPAGE = ODD .pa
.pn pref D-
.pn 1
:h1.Appendix D: A few programs for the TI-57
:p.This appendix gives a short description of a few extended precision
programs for the TI-57 [The old LED-display version!]
:p.The programs included in this appendix are:
:dl tsize=9
:dt.EPF57-I
:dd.Extended Precision Factorials I
.br
This program can calculate factorials up to 34!
:dt.EPF57-II
:dd.Extended Precision Factorials II
.br
This program can calculate factorials up to 52!
:dt.EPe57-I
:dd.Extended Precision e I
.br
This program calculates e to 32 places.
:dt.EPe57-II
:dd.Extended Precision e II
.br
This program calculates e to 48 places.
:edl
.sk;.pa
:h2.Extended Precision Factorials I
:h3.About the program
:p.This program can calculate factorials up to 34!, using more or less
the same method as in the TI-58/59/66 versions. The main difference is
the fact that this program cannot avoid multiplications with zero!
:p.The execution time of the program for 34! is about 2'45".
:h4.User Instructions
:p.The instructions for this program are:
:ol
:li.Enter the program.
:li.Initialise the program by pressing :hp1.RST\INV\CT:ehp1..
:li.Enter the number you want to "factorialize".
:li.Start the program by pressing :hp1.R/S:ehp1..
:li.When the program has finished, you can find the result in R5\[MSD]
through R1\[LSD].
:eol
:h4.Listing of EPF57-I
.fo off
00  66    X=T            17 -49   IINT            34  25    1/X
01  01     1             18  38 2  EXC 2          35  86 1  LBL 1
02  32 0  STO 0          19  61 2  SBR 2          36  39 1  PRD 1
03  08     8             20  34 3  SUM 3          37  39 2  PRD 2
04  84    +/-            21  33 3  RCL 3          38  39 3  PRD 3
05 -18   ILOG            22 -49   IINT            39  39 4  PRD 4
06  32 1  STO 1          23  38 3  EXC 3          40  39 5  PRD 5
07  32 6  STO 6          24  61 2  SBR 2          41  00     0
08  86 0  LBL 0          25  34 4  SUM 4          42 -61   ISBR
09  33 0  RCL 0          26  33 4  RCL 4          43  86 2  LBL 2
10  61 1  SBR 1          27 -49   IINT            44  49    INT
11  33 1  RCL 1          28  38 4  EXC 4          45  42    EE
12 -49   IINT            29  61 2  SBR 2          46  08     8
13  38 1  EXC 1          30  34 5  SUM 5          47  84    +/-
14  61 2  SBR 2          31  56    DSZ            48 -42   IEE
15  34 2  SUM 2          32  51 0  GTO 0          49 -61   ISBR
16  33 2  RCL 2          33  33 6  RCL 6
.fo on
:p.It should be noted that :hp1.all:ehp1. arithmetic in this program is
done by means of the registers!!
.pa
:h2.Extended Precision Factorials II
:h3.About the program
:p.This program can calculate factorials up to 52!, using more or less
the same method as in the TI-58/59/66 versions. Just as
:hp1.EPF57-I:ehp1.,
this program cannot avoid multiplications with zero!
:p.The extended range, compared to :hp1.EPF57-I:ehp1., is obtained by
using a rotating stack with wrap-around. A disadvantage of this method
is a severe increase in execution time!
:p.The execution time of the program for 52! is about 8'20".
:h4.User Instructions
:p.The instructions for this program are:
:ol
:li.Enter the program.
:li.Initialise the program by pressing :hp1.RST\INV\CT:ehp1..
:li.Enter the number you want to "factorialize".
:li.Start the program by pressing :hp1.R/S:ehp1..
:li.When the program has finished, you can find the result in all 7
registers, but the format may need some clarification:
:ul
:li.Your entry is less than or equal to 44:
:p.The result can be found in R1 [LSD] through R7 [MSD].
:li.Your entry is between 45 and 49 (inclusive):
:p.The result can be found in R1 [Most MSD] and R7 [Next MSD] through
R2\[LSD], that is, the most significant digits overlay the trailing
zeroes in R1. [Factorials of numbers between 45 and 49 have ten
trailing zeroes]
:li.Your entry is 50, 51 or 52:
:p.These three numbers have 12 trailing zeroes, so the MSD extend into
the last four digits of R2!
:eul
:eol
.pa
:p.Some examples, leading zeroes are indicated by a .:
.sk;.fo off
       48!          50!          52!
R7: 15592536     .1713378     43878571
R6: .7267086     .4361260     66063685
R5: 22890473     81660647     64037669
R4: 73375083     68844377     75289505
R3: 52148635     64156896     44088327
R2: 46777600     .5120003     78248065
R1:   124139     .4140932     81751709
.fo on
:p.The above indicates that the actual values of 48!, 50! and 52! are:
:ul
.fo off
:li.48! = 1241391559 ..... 8635467776 E+10.
:li.50! = 3041409320 ..... 1568960512 E+12.
:li.52! = 8065817517 ..... 0883277824 E+12.
.fo on
:eul
:h4.Listing of EPF57-II
.fo off
00  66    X=T            17  49    INT            34  32 0  STO 0
01  01     1             18  42    EE             35  56    DSZ
02  32 0  STO 0          19  08     8             36  51 0  GTO 0
03  08     8             20  84    +/-            37  08     8
04  84    +/-            21 -42   IEE             38 -18   ILOG
05 -18   ILOG            22  38 1  EXC 1          39  86 2  LBL 2
06  32 1  STO 1          23  38 7  EXC 7          40  39 1  PRD 1
07  86 0  LBL 0          24  38 6  EXC 6          41  39 2  PRD 2
08  43     (             25  38 5  EXC 5          42  39 3  PRD 3
09  07     7             26  38 4  EXC 4          43  39 4  PRD 4
10  38 0  EXC 0          27  38 3  EXC 3          44  39 5  PRD 5
11  75     +             28  38 2  EXC 2          45  39 6  PRD 6
12  61 2  SBR 2          29  34 1  SUM 1          46  39 7  PRD 7
13  86 1  LBL 1          30  56    DSZ            47  00     0
14  33 1  RCL 1          31  51 1  GTO 1          48 -61   ISBR
15 -49   IINT            32  00     0
16  38 1  EXC 1          33  44     )
.fo on;.pa
:h2.Extended Precision e I
:h3.About the program
:p.This program calculates "e" to 32 places, using the same method as
used in the TI-58/59/66 versions.
:p.The execution time of the program is about 3"20', which translates
to about 6" per digit.
:h4.User Instructions
:p.The instructions for this program are:
:ol
:li.Enter the program.
:li.Start the program by pressing :hp1.SBR\0:ehp1..
:li.When the program has finished, you can find the result in R2\[MSD]
through R5\[LSD].
:eol
:h4.Listing of EPe57-I
.fo off;.tr $ 4E
00  43     (             17  32 5  STO 5          34  86 2  LBL 2
01  00     0             18  44     )             35  55     &ML
02  61 2  SBR 2          19  86 1  LBL 1          36  33 0  RCL 0
03  33 2  RCL 2          20  07     7             37  44     )
04  61 3  SBR 3          21 -18   ILOG            38  43     (
05  32 2  STO 2          22  34 2  SUM 2          39 -42   IEE
06  61 2  SBR 2          23  56    DSZ            40  42    EE
07  33 3  RCL 3          24  71    RST            41  08     8
08  61 3  SBR 3          25 -39 2 IPRD 2          42  75     $
09  32 3  STO 3          26  15    CLR            43 -61   ISBR
10  61 2  SBR 2          27 -61   ISBR            44  86 3  LBL 3
11  33 4  RCL 4          28  86 0  LBL 0          45  65     -
12  61 3  SBR 3          29 -19   ICT             46  32 1  STO 1
13  32 4  STO 4          30  03     3             47  89    |x
14  61 2  SBR 2          31  00     0             48  49    INT
15  33 5  RCL 5          32  32 0  STO 0          49 -61   ISBR
16  61 3  SBR 3          33  51 1  GTO 1
.fo on;.tr;.pa
:h2.Extended Precision e II
:h3.About the program
:p.This program calculates "e" to 48 places, using the same method as
used in the TI-58/59/66 versions. The extended capability, compared to
the program on the previous page, is obtained by using a rotating stack,
which allows repeated calculations to be performed on one single
register. The disadvantage is once again a much longer execution time!
[7'40", or almost 10" per digit]
:h4.User Instructions
:p.The instructions for this program are:
:ol
:li.Enter the program.
:li.Start the program by pressing :hp1.SBR\0:ehp1..
:li.When the program has finished, you can find the result in R1\[MSD]
through R6\[LSD].
:eol
:h4.Listing of EPe57-II
.fo off
00  06     6             17  65     -             34  86 2  LBL 2
01  38 0  EXC 0          18  89    |x             35  32 0  STO 0
02  22    X:T            19  49    INT            36  07     7
03  43     (             20  55     x             37 -18   ILOG
04  00     0             21  38 6  EXC 6          38  34 1  SUM 1
05  55     x             22  38 5  EXC 5          39  56    DSZ
06  86 1  LBL 1          23  38 4  EXC 4          40  71    RST
07  33 0  RCL 0          24  38 3  EXC 3          41 -39 1 IPRD 1
08  22    X:T            25  38 2  EXC 2          42  15    CLR
09  32 0  STO 0          26  38 1  EXC 1          43 -61   ISBR
10  44     )             27  33 0  RCL 0          44  86 0  LBL 0
11 -42   IEE             28  22    X:T            45 -19   ICT
12  42    EE             29  32 0  STO 0          46  04     4
13  08     8             30  56    DSZ            47  00     0
14  34 1  SUM 1          31  51 1  GTO 1          48  51 2  GTO 2
15  43     (             32  44     )
16  33 1  RCL 1          33  22    X:T
.fo on

Finally, just a question, is this emulator based on the actual TI-57 microcode?

Quite a feat with only 50 steps and no indirect register!

Attached a screenshot from running the 4th program (48 digits of e) on RCL-57. (Takes ~1 second in Turbo Mode).

(And yes, RCL-57 is based on the actual TI-57 microcode).

[attachment=10997]


RE: RCL-57 now available at the App Store - Eddie W. Shore - 08-20-2022 08:51 PM

(08-11-2022 09:39 PM)pauln Wrote:  [Moving the original post to its own thread for clarity]

I've finally released RCL-57 for the iPhone:

https://apps.apple.com/us/app/rcl-57/id1621959742 or search for "RCL-57" within the App Store.

If you have any issue, please send me a PM or reply directly in this thread. Thanks!

Thank you!


RE: RCL-57 now available at the App Store - johanw - 08-24-2022 12:03 PM

Will there be an Android port of this? Or does RCL-58 run all programs a TI-57 can run?


RE: RCL-57 now available at the App Store - pauln - 08-24-2022 04:00 PM

(08-24-2022 12:03 PM)johanw Wrote:  Will there be an Android port of this? Or does RCL-58 run all programs a TI-57 can run?

I don't plan to write an Android port anytime soon but the code is publicly available: https://github.com/n3times/rcl57. A full port would take some time but a barebones version (just the calculator without the other screens) should be relatively straightforward.

By the way I believe there are already 2 TI-57 emulators for Android: pockemul and go57c. The first one is free (I think), in case you want to take a look.

Programs for the TI-57 can be ported to the TI-58 but typically they need to be slightly modified.


RE: RCL-57 now available at the App Store - Dan C - 08-25-2022 02:44 PM

(08-11-2022 09:39 PM)pauln Wrote:  [Moving the original post to its own thread for clarity]

I've finally released RCL-57 for the iPhone:

https://apps.apple.com/us/app/rcl-57/id1621959742 or search for "RCL-57" within the App Store.

If you have any issue, please send me a PM or reply directly in this thread. Thanks!

Thanks for the RCL-57 app!
I installed it and used it with joy!

But i wonder, how do you make such an app?


RE: RCL-57 now available at the App Store - KeithB - 08-25-2022 05:41 PM

"But i wonder, how do you make such an app? "
This is a really open ended question.

Do you mean who do you make an iPhone App?

If you mean how to code an emulator, there are three ways. You can build up the interface and hand code all the functions using the underlying math functions as they are. It looks OK, but not very accurate.

You can use the underlying math functions and jigger the output to match the target. More fidelity, but you need extensive knowledge of the target.

You use the original ROMS from the calculator to perform the functions, easier than re-jiggering the native code and the best fidelity, bugs and all.


RE: RCL-57 now available at the App Store - pauln - 08-25-2022 09:10 PM

Good question. This was my first time writing a hardware based emulator so it wasn't obvious for me either.

How To Write a Computer Emulator by Marat Fayzullin gives a good overview of the general process.

For RCL-57, I used Patent US4125901A which describes carefully the instruction set. Here is my translation of this patent into C code: https://github.com/n3times/rcl57/blob/master/engine/ti57.c.

This should be enough to write an accurate but barebones emulator.

In my opinion, an emulator is much more fun to use if it gives information about the state of the calculator. For example the list of steps in readable form, the trigonometric mode, the log of operations etc. To do this one needs to understand the internal state of the calculator. The TI-57 memory map by Claus Buchholz covers some of it and is a good starting point. See https://github.com/n3times/rcl57/blob/master/engine/state57.c for my own code and more of the internal state deciphered.

What I have described until now is what I call the engine. For RCL-57, it is standard C code that can be easily packaged into a library and used to write a TI-57 emulator for most common platforms (iOS, Android, ...).


RE: RCL-57 now available at the App Store - Dan C - 08-26-2022 06:02 AM

(08-25-2022 09:10 PM)pauln Wrote:  Good question. This was my first time writing a hardware based emulator so it wasn't obvious for me either.

Wow, thats way beyond my knowledge! Thanks for explaining, i was thinking making an CASIO fx-4000P app, cuz thats my fav. calculator. But i realize know that i newer can do it Smile


RE: RCL-57 now available at the App Store - vaklaff - 08-26-2022 08:32 AM

(08-26-2022 06:02 AM)Dan C Wrote:  Wow, thats way beyond my knowledge! Thanks for explaining, i was thinking making an CASIO fx-4000P app, cuz thats my fav. calculator. But i realize know that i newer can do it Smile

Good taste, it's a beauty :-)

Don't let the perceived complexity stop you.

If you are a beginner, start small. Try to write a simple four-banger, without any operator precedence. Think about its state: maybe it could be represented by just two numbers (regX = the number on the display, lastX = the previous one) and one character/symbol for the operation (+ - * /) the two. Now each key press changes the state. How? Draft a graph or table of the changes. Implement with a simple UI. Yay, your first calculator!

What about adding an independent memory? Probably a new number in the state, regM. More keys that usually go with it. Let's rethink the graph/table ("state transitions" in the lingo). Implement.

Operator precedence. Does it need new data in the state? What it means for the state transitions?

After a short while, with the experience growing, the previous comments will start to make sense to you. You'll be in the position to decide what you actually want to achieve. An fx-4000P lookalike that behaves similarly but not precisely the same (e.g. different precision)? A bug-to-bug same-precision faithful simulator (not doubt more complicated state)? An emulator, a somewhat different beast (you "implement" the HW and then let it run the firmware copied from the calculator)?

I hope now it sounds much less scary :-) Good luck!
v.