Post Reply 
Hypothetical: 12C program editing
01-07-2023, 05:53 AM
Post: #1
Hypothetical: 12C program editing
Suppose a new firmware version for the HP-12C added program editing via new INS and DEL features in program mode, which would insert or delete one program step at the current location.

if the program was already full (99 steps, step 99 not "g GTO 00", and you pressed INS, would you want the calculator to give an error and not change the program, or would you want it to silently delete step 99 ot make room for the new step?
Find all posts by this user
Quote this message in a reply
01-07-2023, 12:41 PM
Post: #2
RE: Hypothetical: 12C program editing
The first, that would surprised me less. The principle of least astonishment…
Find all posts by this user
Quote this message in a reply
01-07-2023, 07:30 PM
Post: #3
RE: Hypothetical: 12C program editing
Agreed. I would “want the calculator to give an error and not change the program”
Find all posts by this user
Quote this message in a reply
01-07-2023, 10:30 PM
Post: #4
RE: Hypothetical: 12C program editing
I agree with Dwight and Vaklaff

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
01-07-2023, 10:36 PM
Post: #5
RE: Hypothetical: 12C program editing
My intuitive first thought: give an error. So I agree with the guys …
Find all posts by this user
Quote this message in a reply
01-08-2023, 08:51 AM (This post was last modified: 01-08-2023 08:51 AM by Didier Lachieze.)
Post: #6
RE: Hypothetical: 12C program editing
It’s sibling the HP-11C returns Error 4 if you try to insert an instruction while having already reached the maximum 203 steps, so yes returning an Error 4 seems the right thing to do.
Find all posts by this user
Quote this message in a reply
01-08-2023, 11:42 AM
Post: #7
RE: Hypothetical: 12C program editing
Replace the last line and give an error saying "memory full".

HP-12C Gold / HP-12C Platinum
Find all posts by this user
Quote this message in a reply
01-12-2023, 05:57 PM
Post: #8
RE: Hypothetical: 12C program editing
This hypothetical DEL means register rearrangement also, which is painfully not possible on the 12C (eg. I have a root finder, I type in f(x), later I type in a 7 steps shorter g(x) and I don't get back one storage register) .
Find all posts by this user
Quote this message in a reply
01-12-2023, 07:59 PM
Post: #9
RE: Hypothetical: 12C program editing
The hypothetical DEL would free a register when possible.

Any GTO instructions in the program would be adjusted to keep the same targets.
Find all posts by this user
Quote this message in a reply
01-12-2023, 09:18 PM
Post: #10
RE: Hypothetical: 12C program editing
The INS on 12C is not as simple as you wrote here. Eg. I want to INS one step, but you're not use all program memory but use all program steps with the current memory partitioning, it is possible to
1.) get an error message and nothing change
2.) get a message and you must to decide you'll change one storage register to 7 program steps or
3.) if you reached the 99 steps the another error message

Cs.
Find all posts by this user
Quote this message in a reply
01-12-2023, 11:27 PM
Post: #11
RE: Hypothetical: 12C program editing
My hypothetical INS would potentially convert a register to program steps, changing the partitioning. If there were already the maximum number of program steps, it would result in Error 4.
Find all posts by this user
Quote this message in a reply
01-13-2023, 08:07 AM
Post: #12
RE: Hypothetical: 12C program editing
(01-12-2023 11:27 PM)brouhaha Wrote:  My hypothetical INS would potentially convert a register to program steps, changing the partitioning. If there were already the maximum number of program steps, it would result in Error 4.

This is the possible worst method! What if your program requires ALL the currently available registers for proper running and your INS re-partitioning the memory (and decreases the number of storage registers)? Your program can't run.
Thats why DIM on 15C and all the scientific programmable TI's has PART command. You MUST to keep the original memory partitioning unless the user do not want to change.

Cs.
Find all posts by this user
Quote this message in a reply
01-14-2023, 12:13 AM (This post was last modified: 01-14-2023 12:16 AM by brouhaha.)
Post: #13
RE: Hypothetical: 12C program editing
(01-13-2023 08:07 AM)Csaba Tizedes Wrote:  
(01-12-2023 11:27 PM)brouhaha Wrote:  My hypothetical INS would potentially convert a register to program steps, changing the partitioning. If there were already the maximum number of program steps, it would result in Error 4.

This is the possible worst method! What if your program requires ALL the currently available registers for proper running and your INS re-partitioning the memory (and decreases the number of storage registers)? Your program can't run.
Thats why DIM on 15C and all the scientific programmable TI's has PART command. You MUST to keep the original memory partitioning unless the user do not want to change.

Cs.

That's not how HP calculators of that era with automatic partitioning (HP-34C, HP-38E, HP-38C, HP-10C, HP-11C, HP-12C, HP-16C) work. They all will convert numbered registers to program steps automatically as the program grows, without any warning. On these calculators, the "MEM' function shows the current partitioning. On the HP-10C, HP-11C, HP-12C, and HP-16C, MEM will also show you how many program steps you can add before you will lose a numbered data register.

The calculators with manual partitioning (HP-41C series, HP-15C) are the exception, not the rule.

Changing the 12C to manual partitioning would require a huge amount of work.

In my opinion, changing the 12C to manual partitioning would fundamentally change the nature of 12C programming, and would not be what 12C users would expect.
Find all posts by this user
Quote this message in a reply
01-14-2023, 10:39 AM
Post: #14
RE: Hypothetical: 12C program editing
(01-14-2023 12:13 AM)brouhaha Wrote:  The calculators with manual partitioning (HP-41C series, HP-15C) are the exception, not the rule.
Changing the 12C to manual partitioning would require a huge amount of work.

I'm sure if this is came from a HP developer in 80's they fired immediately.

(01-14-2023 12:13 AM)brouhaha Wrote:  In my opinion, changing the 12C to manual partitioning would fundamentally change the nature of 12C programming, and would not be what 12C users would expect.

I'm an user also and my expectations differ than other users. IMHO if you have originally something in your head, why do you asked? You think all the users want same as you want? 15C is the most advanced and yes, the memory particioning is the most important part, I'm sure the average user never find themself in this situation what I wrote above.

BTW: these stuffs not really important, implement what you want, the price of bread and butter not affected by your written code lines.

Cs.
Find all posts by this user
Quote this message in a reply
01-14-2023, 05:44 PM (This post was last modified: 01-14-2023 05:45 PM by Eddie W. Shore.)
Post: #15
RE: Hypothetical: 12C program editing
My vote would be an error message, only to indicate the 99 steps are full.

I would also be in favor of doing away with "volatile" memory and just have a set amount of steps and a set amount of registers. For example, 99 steps and 20 memory registers, neither of these parameters change. HP 13C anyone?
Visit this user's website Find all posts by this user
Quote this message in a reply
01-14-2023, 06:13 PM
Post: #16
RE: Hypothetical: 12C program editing
(01-14-2023 05:44 PM)Eddie W. Shore Wrote:  I would also be in favor of doing away with "volatile" memory and just have a set amount of steps and a set amount of registers. For example, 99 steps and 20 memory registers, neither of these parameters change.

I wasn't going to bring it up, but I've already got that working in almost that way. There are always 20 registers, but the program still grows in steps of seven steps. However, it gets the seven new steps out of thin air, rather than by converting data registers. I thought it might be nice to keep the program variable sized, so that g MEM can still give you an idea of how big your program is.

On the other hand, if you'd rather have the program just always be 99 steps, that would be easy, and I could replace g MEM with another function.

The big question on program memory size is whether you want more of it. Would people find it annoying to always have to enter three digits for GTO non (and GTO . nnn)? Ot should it be normally two digits, with an optional key to enter more digits (like the 41C), perhaps GTO nn and GTO EEX nnn?

If there was a way to have multiple separate programs you could switch between, would you be happy with 99 steps per program, or would you want more?
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)