The Museum of HP Calculators

HP Forum Archive 13

[ Return to Index | Top of Index ]

HP-49G+ anomaly with 'CR'.
Message #1 Posted by r. d. bärtschiger. on 18 Nov 2003, 3:28 p.m.

I have discovered what may be an anomaly with 'CR' on the HP-49G+. In order to demonstrate this anomaly I will describe six different procedures, please bear with me. You may want to hold your 49g+ close to your ear while you do the following.

1.) Enter CR then press and hold the enter key for about a second. Did the calculator beep?

2. Enter CR then press and release the enter key as quickly as possible. Did the calculator Beep?

3.) Open the CATalog and scroll to CR. Press and hold the OK key for about a second. Did the calculator beep?

4.) Again find CR in the catalog. This time press and release the OK key as quickly as possible. Did the calculator beep?

5.) Create the following program and duplicate it a number of times on the stack:

\<< CR \>>

Now press and hold the EVAL key for about a second. Did the calculator beep?

6.) Then press and release the EVAL key as quickly as possible. Did the calculator beep?

7.) The answers I get are: Yes, No, Yes, No, Yes & Yes. Should the calculator really beep when it executes a CR? And in any event why does it react differently depending on how the executing key press is applied?

rdb.

      
Re: HP-49G+ anomaly with 'CR'.
Message #2 Posted by Raymond Del Tondo on 18 Nov 2003, 7:14 p.m.,
in response to message #1 by r. d. bärtschiger.

Maybe a problem with the key buffer ?

Perhaps the Xtra-Long-Hold gimmick isn't defined correctly there...

Raymond

      
Re: HP-49G+ anomaly with 'CR'.
Message #3 Posted by James M. Prange on 18 Nov 2003, 8:30 p.m.,
in response to message #1 by r. d. bärtschiger.

Well, it's not something new on the 49g+; essentially the same behaviour occurs on the 48SX, except of course that the 48SX lacks the catalogue. And it's not just CR, but all of the print commands. Notice that it doesn't actually send the CR until after you've released the key. I suppose that it beeps because it unexpectedly finds a key pressed when it tries to print.

Regards,
James

            
Re: HP-49G+ anomaly with 'CR'.
Message #4 Posted by r. d. bärtschiger. on 18 Nov 2003, 8:36 p.m.,
in response to message #3 by James M. Prange

Then why does the 49G+ beep when it encounters a 'CR' in a running program?

rdb.

                  
Re: HP-49G+ anomaly with 'CR'.
Message #5 Posted by James M. Prange on 19 Nov 2003, 2:40 a.m.,
in response to message #4 by r. d. bärtschiger.

Because a key is down when the CR tries to execute? I tried inserting a CR into a few programs without getting any beep from them, but just \<< CR \>> by itself, or CR as the first object in a program, does beep when I press the EVAL key on the 49g+. On the 48GX, this doesn't happen unless I intentionally hold the key down longer than normal. I expect that the "problem" is that on the 49g+, the program executes so fast that I don't have time to release the EVAL key before it tries executing the command. Maybe the fact that I have to press harder than "normal" on the 49g+ influences how fast I can release the key. With the program \<< .1 WAIT CR \>>, I don't get the beep with a normal keypress. Personally, I'd rather ignore this "problem" than have HP add a delay at the beginning of each print command.

But I am a bit curious about why the print commands beep when a key is down, but not the XMIT command (even when using the IR port) for instance.

If I use PR1 to print a string too long to fit on a single line, and hold the key down, then it prints out the first line and beeps. When I release the key, the rest of the string is printed. That it prints out the first line tells me that the "CR" ("print line and leave head at right", actually character 4) was sent while the key was still down.

The 48SX and 48GX seem to behave the same, so I continued experimenting with them. Using the INPRT program to capture the "Red Eye" IR stream does indeed confirm that the first line, beginning with the switch to ECMA 94 and ending with character 4, is sent while the key is down. If it can send that much, why the beep and delay in sending the rest of the string?

But with the CR command, with the key held down, it just beeps, and the character 4 isn't sent until after the key is released.

Switching to serial IR for printing and using the SRECV command to capture the print stream, the entire string is sent out while the key is held down, and then it beeps if the key is still down when it finishes sending. With the CR command, the line termination string is sent while the key is still down, and then it beeps. Printing by wire to either another calculator's SRECV or an actual serial printer shows the same behavior.

I really doesn't see a reasonable explanation for why it should behave this way. Maybe you've noticed a "bug" that's been in the ROM since the 48SX, but that nobody found objectionable until the 48g+'s extra speed made it so noticeable.

Maybe someone at comp.sys.hp48 has an answer? Should we take this discussion there?

Regards,
James


[ Return to Index | Top of Index ]

Go back to the main exhibit hall