The dummy asks again

General discussion about calculators, SwissMicros or otherwise
Post Reply
User avatar
rudi
Posts: 413
Joined: Wed Nov 03, 2021 9:03 am
Location: Denmark
Contact:

The dummy asks again

Post by rudi »

I am desperately trying to load a 1001 byte program into my C47.

I encoded it with the DM Programming Tool, in the belief that the C47 is DM42 program compatible?
The program runs fine on my Windows Free42 simulator.

After having loaded the encoded RAW file to my C47, I can not see it when trying to load it from the system menu.

I have also browsed the WP43S OM and found something in Data exchange with your computer, where a function named READP is briefly mentioned.
Executing READP on my C47, yields the message "Item to be coded" - hmmm....

So I have one, maybe two questions:
1) Is the C47 DM42 program compatible?
2) If yes to 1), then how do I load it?

Sorry, if the answer is obvious to you guys, but I have really tried searching the documentation.
/Rudi

DM-42 (s/n 06999), HP-42S, HP-35s, HP-11c, HP-32SII (ex HP-41CV, ex HP-75C, ex HP-48G + a lot, really lot of a accessories)
Denmark
Thomas_ER
Posts: 192
Joined: Mon Jul 24, 2017 3:19 pm
Location: Germany

Re: The dummy asks again

Post by Thomas_ER »

Hello Rudi,

at WP43S READP and WRITEP are only visible at the Menues, but not available.

In gitlab there are some issues relatet to WRITEP / READP, e.g.
https://gitlab.com/rpncalculators/wp43/-/issues/1122
https://gitlab.com/rpncalculators/wp43/-/issues/469
Both are open issues.
[ HP48/49/50/42S/WP34/HP Prime/ DM42 (#00185+00318) ]
User avatar
rudi
Posts: 413
Joined: Wed Nov 03, 2021 9:03 am
Location: Denmark
Contact:

Re: The dummy asks again

Post by rudi »

Thomas_ER wrote:
Wed Mar 22, 2023 12:40 pm
Hello Rudi,

at WP43S READP and WRITEP are only visible at the Menues, but not available.

In gitlab there are some issues relatet to WRITEP / READP, e.g.
https://gitlab.com/rpncalculators/wp43/-/issues/1122
https://gitlab.com/rpncalculators/wp43/-/issues/469
Both are open issues.
Thanks Thomas. But how do one go about loading a program into a C47 then?
I noticed the existing program files were all in plain text format.
I also tried my DM42 program as plain text, but I cant see it on the physical C47.
/Rudi

DM-42 (s/n 06999), HP-42S, HP-35s, HP-11c, HP-32SII (ex HP-41CV, ex HP-75C, ex HP-48G + a lot, really lot of a accessories)
Denmark
User avatar
RJvM
Posts: 276
Joined: Wed Jun 02, 2021 9:21 am
Location: Gelderland, Netherlands

Re: The dummy asks again

Post by RJvM »

I am quite sure that I have to disappoint you, afaik, the C47 and predecessors are not binary compatible with DM42, only the underlying DMCP is common. We are after all developing complete new firmware, only maintaining the primary key locations; all code is new (albeit based on earlier projects like WP34 and of course WP43 and C43);

Moreover, READP and WRITEP are not implemented yet, that's why they are represented with a diagonal strike in the menus.

The only program input from file I know of is through the C43/47 XXEQ/XEQM format, which is experimental and dates from before "regular" programming was possible on this platform. This uses more or less the same "labels" as the calculator shows. As an example, look in the programs folder in FAT. It is not documented (yet) and may be dropped at a later stage, to my knowledge.
Robbert Jan, MSEE, RPN user since 1976 and a collector for many years I now own all the important ones: HP-35, 45, 55, 65, 97, 19, 21, 25, 34, 10-16, 41, 42, 71, 48, 50, Prime, DM41, DM42, WP43, C47, R47; Project 47 team member https://47calc.com
User avatar
rudi
Posts: 413
Joined: Wed Nov 03, 2021 9:03 am
Location: Denmark
Contact:

Re: The dummy asks again

Post by rudi »

Thanks for the info. That’s what I was fearing, but I understand that C47 is still under development, and highly value the effort of the development team 👍
I have been doing some “manual” programming of my C43/C47 (modded DM42), which works fine.
The DM42 program I am working on now, uses basic program flow, XEQ, LBL, RTN and basic register operations, RCL, STO, RCL* STO+ etc and basic arithmetic. I guess it will be easy to port that to C47, once an import function has been implemented. Are C47 programs text that is interpritated runtime? Or translated to HEX codes at import?
Good thing, that the DM42 platform is so flexible, I’ll be switching back to DM42 while making final touches on my program ;-)
/Rudi

DM-42 (s/n 06999), HP-42S, HP-35s, HP-11c, HP-32SII (ex HP-41CV, ex HP-75C, ex HP-48G + a lot, really lot of a accessories)
Denmark
User avatar
Jaymos
Posts: 1634
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: The dummy asks again

Post by Jaymos »

rudi wrote:
Wed Mar 22, 2023 6:18 pm
Thanks for the info. That’s what I was fearing, but I understand that C47 is still under development, and highly value the effort of the development team 👍
I have been doing some “manual” programming of my C43/C47 (modded DM42), which works fine.
The DM42 program I am working on now, uses basic program flow, XEQ, LBL, RTN and basic register operations, RCL, STO, RCL* STO+ etc and basic arithmetic. I guess it will be easy to port that to C47, once an import function has been implemented. Are C47 programs text that is interpreted runtime? Or translated to HEX codes at import?
Good thing, that the DM42 platform is so flexible, I’ll be switching back to DM42 while making final touches on my program ;-)
Further to Robbert's accurate post above:

- Standard C47 RPN code is binary based, that is, no interpreter is running to decode program commands. Same as C43 and WP43. Saving and loading of individual programs are not yet supported. And there are no plans to save programs in a text readable format. Of course that has been discussed, but there is no easy way to do that. Text - to - code conversions may have to be made at some point.

- The text based XXEQ that he mentioned, has been on prototype level since a few years and was made to test code for graphing and experiments before RPN code was done in the parent WP43. This XXEQ (a.k.a. XEQM code) works but is *very* basic with a reduced instruction set and a few caveats, see the summary I made here with the help of Robbert's document system. The spreadsheet should display the normally unprintable calculator text correctly if you have the C43 fonts installed.

Remember: (1) it is a development tool developed before normal programming worked properly. (2) It dates from Q1 2020 and it actually is a wonder that it has survived the three years of progress since. (3) It is internally marked to be either re-done or removed, (4) you can try it and if you don't like it, either leave it or fix it ;-). (5) Did I mention it is sensitive to accurate text!

Having said that, once the text is correct, it works well. There are some 3 old commands for example [zyx->M], [M->zyx] and [A] in ELEC, still running internally from XXEQ text command strings. They will be converted to c code still.



Let me show an example I just cobbled together: Store a text file in PROGRAMS called XEQM01.TXT, containing the following example code for creating a 4x1 matrix containing random numbers:

Code: Select all

XEQC43 XEQLBL 01 TESTMX4                                       // Prep XXEQ program to slot 1, name TESTMX4, to create and populate a random 4x1 matrix. R99 is used as temp.
FIX 02                                                         // Setup modes needed, like FIX, SCI, etc. Or ERPN or RPN.
4 EXIT 1 M.NEW STO 99 DROP INDEX 99 4 EXIT 1 STOIJ DROP DROP   // Setup matrix. Use EXIT instead of ENTER otherwise the DROPs must be adjusted.
GSB M1                                                         // Place number into matrix.
GSB M1                                                         // Place number into matrix.
GSB M1                                                         // Place number into matrix.
GSB M1                                                         // Place number into matrix.
RCL 99 RETURN                                                  // RETURN is a special command for the main program.

LBL M1                                                         // LBL is used only for sub-routines.
RAN# STOEL DROP I-                                             //    Store random number into next matrix element.
RTN                                                            // RTN is a special looping command for sub-routines.

END                                                            // parsing stops in all cases when END is reached.
Longpress XEQ and release when XXEQ appears to get the menu (or go to HOME Up Up f[F4] to reach the XXEQ menu).
Then from the XXEQ menu, [X.LOAD] 01 [X.XEQ] to load and execute said text program number 01.

The "XEQLBL 01" in the file must align with the file name being XEQM01.TXT, then it will use the label defined under XEQLBL, i.e. TESTMX4 in the XEQM menu on position 01, or F1. These positions are F1 to g[F6] (for 01 through 18).

You mention "STO+ 01", it is handled as "STO + 01" for example register 01. There are many more things, some listed in the spreadsheet but most importantly syntax checking is not included. Use the simulator to test the program and know incorrect code will crash the calculator or simulator - no warnings, just crash, so be sure to have backups if you are playing with this.
Jaco Mostert
Elec Eng, South Africa
https://47calc.com C47 (s/n 03818 & 06199), WP43 (0015). In box: HP42S, HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; ex: FX702P, 11C, HP67 & HP85; iOS: 42s Byron, Free42+, WP31S/34S, HCalc.
Panchdara
Posts: 148
Joined: Sat May 15, 2021 9:02 am

Re: The dummy asks again

Post by Panchdara »

Question about the longpress rolling of key functions.

Can there be a user defined time between roll-over (in ms I guess)?

Thanks again. This is a dawg's calculator! (ie. very nice indeed)
User avatar
rudi
Posts: 413
Joined: Wed Nov 03, 2021 9:03 am
Location: Denmark
Contact:

Re: The dummy asks again

Post by rudi »

@jaymos - thanks for the instructions of how to load a text program.
Didn't know of the XXEQ menu and the X.LOAD and X-XEQ functions...

Will test it, once my DM42 morphes back to a C47 again ;-)
/Rudi

DM-42 (s/n 06999), HP-42S, HP-35s, HP-11c, HP-32SII (ex HP-41CV, ex HP-75C, ex HP-48G + a lot, really lot of a accessories)
Denmark
Post Reply