15C functions that can be cancelled with 'null' (quiz)
|
10-14-2024, 12:08 PM
(This post was last modified: 10-14-2024 12:26 PM by J-F Garnier.)
Post: #1
|
|||
|
|||
15C functions that can be cancelled with 'null' (quiz)
In his presentation at the HHC 2024 meeting, Bob talked about the HP-15C operations that can be cancelled (in run mode) by holding the key down.
Examples from the 15c manual (p.144): "STO A" or "RCL A" , A being a dimensioned matrix. Bob stated that there are 3 operations. I guess the third operation he had in mind was " x<> ". A more complete investigation gave me 10 "generic operations" (the first key of a sequence) that can be cancelled with a 'null' display, such as the STO, RCL and x<> operations on a matrix. All in all I counted 83 key sequences that possibly can be nulled out by holding down the last key. In this context, a key sequence is what would generate one step in program mode, such as " STO + . 6 ". Can you find the 10 generic operations and the 83 key sequences ? Or more, in case I missed a few... J-F |
|||
10-14-2024, 12:25 PM
(This post was last modified: 10-14-2024 12:26 PM by AnnoyedOne.)
Post: #2
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz)
(10-14-2024 12:08 PM)J-F Garnier Wrote: Examples from the 15c manual (p.144): "STO A" or "RCL A" , A being a dimensioned matrix. I looked and found no reference to run mode on that page. However for reference. Quote:If the letter key is held down for longer than about 3 HP-15C Collector's Edition Owner's Handbook, p144 (156 of the PDF) HP-15C Owner's Handbook (November 1985), p144 (146 of the PDF) HP-15C Owner's Handbook (Edition 2.4, Sep 2011) [LE], p144 (144 of the PDF) A1 HP-15C (2234A02xxx), HP-16C (2403A02xxx), HP-15C CE (9CJ323-03xxx), HP-20S (2844A16xxx), HP-12C+ (9CJ251) |
|||
10-14-2024, 01:36 PM
(This post was last modified: 10-14-2024 03:53 PM by J-F Garnier.)
Post: #3
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz) | |||
10-14-2024, 10:47 PM
Post: #4
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz)
I can only find 5 generic operations, but I'm counting 90 key sequences.
Compare page 173 of the Owner's Handbook. Code: 6 STO A..E, (i) FIX, SCI, ENG, as well as SF, CF, F? throw "Error 1" if a matrix descriptor is in the index register. I can't find anything that's not related to matrices. Program-related operations that display the instruction while the key is being pressed (R/S, SST, BST, SOLVE, ∫) don't have the "null" cancelation. |
|||
10-14-2024, 11:07 PM
Post: #5
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz)
(10-14-2024 01:36 PM)J-F Garnier Wrote:(10-14-2024 12:08 PM)J-F Garnier Wrote: Can you find the 10 generic operations and the 83 key sequences ? It took me quite a while as well!! And I will be real surprised if there is a 4th... --Bob Prosperi |
|||
10-15-2024, 07:51 AM
Post: #6
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz)
(10-14-2024 10:47 PM)naddy Wrote: I can only find 5 generic operations, but I'm counting 90 key sequences. Oh ! I missed that ones ! This leads to a total of 11 operations and 98 key sequences that can be cancelled. One little hint for the remaining 6 operations/8 key sequences, taken from the Owner's Manual, p.149: Quote:While the key used for any matrix operation that stores a result in the J-F |
|||
10-15-2024, 10:15 AM
Post: #7
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz)
(10-14-2024 12:08 PM)J-F Garnier Wrote: Can you find the 10 generic operations and the 83 key sequences ? This prompted me to find the microcode that displays "null". It probably would have been easy to capture a trace in Nonpareil (or another simulator), and work backwards, but I just scanned the source code for more instructions that write to the two hardware LCD registers (0x09 and 0x0a). Special display like Error, running, and null don't go through the normal display formatting code, but get written as bitmaps directly to the hardware. The subroutine used to wait for the key release is at 0x13b8, with the timing constant 8 loaded by "lc 8" at 13ba. If the key isn't released in time, it falls into the code at 0x13c1 that displays "null". The 0x13b8 subtrouine is called from just two places in the matrix operation code. I haven't really dug into the matrix operations yet. At some point I want to study the LU decomposition code. |
|||
10-15-2024, 12:26 PM
Post: #8
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz)
(10-15-2024 07:51 AM)J-F Garnier Wrote: One little hint for the remaining 6 operations/8 key sequences, taken from the Owner's Manual, p.149: Yes, this one was hardest to find! And if I ever knew this at all (back in the day) then I'd completely forgotten it! It's both frustrating to realize there are things about such a well-known product that have been forgotten, but also satisfying to find "new" features decades into use. It's a bit like dimensia, when you get to experience the joy of discovering new things each day, including some that were discovered the day before! --Bob Prosperi |
|||
10-15-2024, 12:41 PM
Post: #9
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz)
(10-15-2024 10:15 AM)brouhaha Wrote: This prompted me to find the microcode that displays "null". No peeking at NUT code. That's cheating! A1 HP-15C (2234A02xxx), HP-16C (2403A02xxx), HP-15C CE (9CJ323-03xxx), HP-20S (2844A16xxx), HP-12C+ (9CJ251) |
|||
10-15-2024, 01:41 PM
Post: #10
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz)
(10-15-2024 07:51 AM)J-F Garnier Wrote: One little hint for the remaining 6 operations/8 key sequences, taken from the Owner's Manual, p.149: Right! Knowing that, it's just a matter of going through the section "Summary of Matrix Functions" (p. 177ff) and noting where it says "Stores in result matrix". Yup, can confirm: 6 ops for a total of 8 key sequences. If we are talking literal key sequences, then the overall total of 98 can be inflated by redundant gold key presses, e.g. STO f A. |
|||
10-15-2024, 02:06 PM
Post: #11
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz) | |||
10-15-2024, 02:13 PM
Post: #12
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz)
(10-14-2024 10:47 PM)naddy Wrote: ...SOLVE, ∫) don't have the "null" cancelation. Which is curious since they could be "long" operations just like matrix ones. A1 HP-15C (2234A02xxx), HP-16C (2403A02xxx), HP-15C CE (9CJ323-03xxx), HP-20S (2844A16xxx), HP-12C+ (9CJ251) |
|||
10-15-2024, 02:51 PM
Post: #13
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz)
(10-15-2024 02:13 PM)AnnoyedOne Wrote:(10-14-2024 10:47 PM)naddy Wrote: ...SOLVE, ∫) don't have the "null" cancelation. I think the matrix operations can be canceled because they are (potentially) destructive. If you screw up, you may have to re-enter your data all over. Like any program, SOLVE and ∫ can be aborted any time by pressing a key while they are running. |
|||
10-16-2024, 07:27 AM
(This post was last modified: 10-16-2024 11:55 AM by J-F Garnier.)
Post: #14
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz)
(10-15-2024 01:41 PM)naddy Wrote:(10-15-2024 07:51 AM)J-F Garnier Wrote: One little hint for the remaining 6 operations/8 key sequences, taken from the Owner's Manual, p.149: I should have specified that use of the manual was forbidden ! Indeed, the 8 extra operations/sequences are + - * / when applied to one or two matrices 1/x when applied to a matrix MATRIX 5 matrix transpose-multiply MATRIX 6 residual MATRIX 9 LU decomposition and determinant Now, a few final comments: This is a list of key sequences that possibly can be cancelled with null, but there are cases where some (maybe all) of them are actually not nullable. This is obvious for + - etc, since these keys are nullable only when applied to matrices. Another example: RCL (i) is nullable if register I holds a matrix descriptor. This is determined at "run-time" only, it's not a characteristic of the key sequence. There are other subtle cases, for instance (assuming X holds a matrix descriptor): " 2 / " the / operation is nullable " 0 / " is not nullable and immediately produces Error 0. In the same way, RCL A and similar operations immediately give an error (non nullable) if the indexes are outside the matrix dimensions. Other nullable matrix operations can produce immediate errors too. In conclusion, the HP-15C function cancel operates very differently from the 41C, because the goal is different. It is not to check the function of a key (since 15C keys can't be redefined), but to check its action: which matrix cell is involved, or where will the result go. I'm curious to know how functional simulators (contrary to micro-code level simulators) replicate these HP-15C behaviour details, J-F |
|||
10-16-2024, 10:07 AM
Post: #15
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz) | |||
10-16-2024, 11:54 AM
Post: #16
|
|||
|
|||
RE: 15C functions that can be cancelled with 'null' (quiz) | |||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)