Page 152 of 211

Re: 43S News

Posted: Wed Jan 12, 2022 5:04 pm
by dlachieze
Walter wrote:
Wed Jan 12, 2022 3:39 pm
@Didier. Some answers:
  1. Please excuse my dumb question, but did you allocate any local registers? If not, you cannot access them...
  2. Thanks for reporting! 13 points more for you.
  3. Yes, this is a feature. Where do you suggest it should go during entry?
  4. This is as advertized (CLREGS is printed on violet background in the IOI to indicate it can't be programmed).
  1. Yes, just after the label of my program I inserted a LocR instruction to allocate local registers, but when you are entering a program and before running it there is obviously no local registers allocated yet, however you should be able to enter instructions referring to them.
  2. ;)
  3. I would expect it to go to the next program step. For example, if I have entered the step 003 COS and I press STO, I would expect it to be displayed as step 004 STO __, waiting for the store location as it is done on the DM42 for example, and not to have STO __ overlapping the COS instruction at step 003.
  4. So this is a difference with the 41C, 42S and 34S where CLRG/CLREGS is programmable. This is not indicated as a functional difference between the 43S and the 42S or 34S pages 178 and 186 of the Reference Manual. What is the rational driving this difference?

Re: 43S News

Posted: Wed Jan 12, 2022 6:11 pm
by Walter
dlachieze wrote:
Wed Jan 12, 2022 5:04 pm
  1. Yes, just after the label of my program I inserted a LocR instruction to allocate local registers, but when you are entering a program and before running it there is obviously no local registers allocated yet, however you should be able to enter instructions referring to them.
  2. ;)
  3. I would expect it to go to the next program step. For example, if I have entered the step 003 COS and I press STO, I would expect it to be displayed as step 004 STO __, waiting for the store location as it is done on the DM42 for example, and not to have STO __ overlapping the COS instruction at step 003.
  4. So this is a difference with the 41C, 42S and 34S where CLRG/CLREGS is programmable. This is not indicated as a functional difference between the 43S and the 42S or 34S pages 178 and 186 of the Reference Manual. What is the rational driving this difference?
  1. I concur. Another 13 points for you.
  2. Is repaired - will be available with next release. 8-)
  3. I was talking about a step inserted in an existing routine. As long as it isn't finished, you can't give it the next step number. Thus, it's presently displayed over the current step. Displaying it over the next step doesn't really solve the problem, does it?
  4. Clearing 100 general purpose registers automatically looked a bit ... ummh ... scary to me. :shock: But if we were braver ten years ago, well, ... it looks dangerous still.

Re: 43S News

Posted: Wed Jan 12, 2022 6:35 pm
by dlachieze
Walter wrote:
Wed Jan 12, 2022 6:11 pm
I was talking about a step inserted in an existing routine. As long as it isn't finished, you can't give it the next step number.
Why? If you insert a new step you know that it should be the next one. So from a user perspective it makes sense to insert it between the existing steps and not over any of them. Btw the issue is the same when entering a new routine.
Walter wrote:
Wed Jan 12, 2022 6:11 pm
Clearing 100 general purpose registers automatically looked a bit ... ummh ... scary to me. :shock: But if we were braver ten years ago, well, ... it looks dangerous still.
Sure, ideally it would be nice to be able to specify a range of registers to clear such as with the 41CX CLRGX instruction.

Re: 43S News

Posted: Wed Jan 12, 2022 6:51 pm
by Walter
dlachieze wrote:
Wed Jan 12, 2022 6:35 pm
Walter wrote:
Wed Jan 12, 2022 6:11 pm
I was talking about a step inserted in an existing routine. As long as it isn't finished, you can't give it the next step number. Thus, it's presently displayed over the current step. Displaying it over the next step doesn't really solve the problem, does it?
Why? If you insert a new step you know that it should be the next one. So from a user perspective it makes sense to insert it between the existing steps and not over any of them. Btw the issue is the same when entering a new routine.
Let's play it through: Assume a program section

Code: Select all

0010  arcsin
0011  |x|
Now we want to insert a step RCL 12 after arcsin. We put the program pointer on step 0010 and enter RCL which is echoed RCL __ on the display. This echo can be shown
  1. over step 0010 or
  2. over step 0011.
Tertium non datur (or do you want a vibrating display if you decide to abandon the new entry?). Please indicate what you suggest.

As soon as you completed the parameter entry, you will get

Code: Select all

0010  arcsin
0011  RCL 12
0012  |x|
but not earlier.

What did I miss?

Re: 43S News

Posted: Wed Jan 12, 2022 7:13 pm
by dlachieze
I don’t know how this is coded but as a user I would expect to see:

Code: Select all

0010  arcsin
0011  RCL __
0012  |x|
after pressing RCL.

Re: 43S News

Posted: Wed Jan 12, 2022 8:22 pm
by ManuMa
dlachieze wrote:
Wed Jan 12, 2022 7:13 pm
I don’t know how this is coded but as a user I would expect to see:

Code: Select all

0010  arcsin
0011  RCL __
0012  |x|
after pressing RCL.
Totally agree (possibly influenced by using an HP-41 since 1982).
Giving a line number to the new instruction only after completion sounds weird to me, as the new instruction is orphan until the very end of the input.

Regards,
Manuel.

Re: 43S News

Posted: Thu Jan 13, 2022 11:32 am
by dlachieze
dlachieze wrote:
Wed Jan 12, 2022 6:35 pm
Walter wrote:
Wed Jan 12, 2022 6:11 pm
Clearing 100 general purpose registers automatically looked a bit ... ummh ... scary to me. :shock: But if we were braver ten years ago, well, ... it looks dangerous still.
Sure, ideally it would be nice to be able to specify a range of registers to clear such as with the 41CX CLRGX instruction.
Going through the ReM I just realized that we have already R-CLR to clear a range of registers, but anyway it would be good to have CLREGS programmable for compatibility with previous models.

Re: 43S News

Posted: Thu Jan 13, 2022 11:38 am
by Walter
So let's play further:

Start with a program section as introduced above. Now you want to insert RCL 12 after step 0010. You put the program pointer to step 0010, which means this step will be in the center of the screen with the steps down to 0013 displayed (the steps 0007 - 9 are of no interest here):

Code: Select all

0010  arcsin
0011  |x|
0012  +
0013  MOD
Quickly press STO, and will see (almost) as you wanted and expect:

Code: Select all

0010  arcsin
0011  STO __
0012  |x|
0013  +
Rats! Wrong key! So press EXIT and get:

Code: Select all

0010  arcsin
0011  |x|
0012  +
0013  MOD
Press the right key now and get:

Code: Select all

0010  arcsin
0011  RCL __
0012  |x|
0013  +
Finish insertion with the register address:

Code: Select all

0010  arcsin
0011  RCL 12
0012  |x|
0013  +
0014  MOD
Now step 0011 is the current step and moves in the center. The procedure sketched here is what I called a 'vibrating display' in my post above, meaning there will be steps vanishing and popping up during insertion. Is this what you want? Just strive to understand your wishes.

Re: 43S News

Posted: Thu Jan 13, 2022 12:25 pm
by dlachieze
Walter wrote:
Thu Jan 13, 2022 11:38 am
The procedure sketched here is what I called a 'vibrating display' in my post above, meaning there will be steps vanishing and popping up during insertion. Is this what you want? Just strive to understand your wishes.
Yes, this is exactly what I want with the display reflecting each key press as it should. I didn't understand previously what you meant by 'vibrating display'.

Re: 43S News

Posted: Thu Jan 13, 2022 1:59 pm
by H2X
dlachieze wrote:
Thu Jan 13, 2022 12:25 pm
Walter wrote:
Thu Jan 13, 2022 11:38 am
The procedure sketched here is what I called a 'vibrating display' in my post above, meaning there will be steps vanishing and popping up during insertion. Is this what you want? Just strive to understand your wishes.
Yes, this is exactly what I want with the display reflecting each key press as it should. I didn't understand previously what you meant by 'vibrating display'.
And if I am not mistaken, this is also exactly how it would appear in any other code or text editor with line numbers enabled. Correct, dlachieze?

Which BTW seems to be a relevant reference to most modern users.