thomasokken / free42

Free42 : An HP-42S Calculator Simulator
https://thomasokken.com/free42/
GNU General Public License v2.0
280 stars 54 forks source link

Complex menu #58

Closed sbridger closed 9 months ago

sbridger commented 10 months ago

One real failing of the '42 is the lack of complex number functions and an associated menu. Compared to statistics or matrices - both of which you are nowadays far more likely to use a computer for, complex numbers are well within the easy usability of the '42.

It would be good to have a complex menu with various functions on it. Perhaps this could replace the current function of the f-COMPLEX key to bring up a complex menu that has POLAR and RECT

if X,Y have real numbers then the button is a constructor, otherwise if they are complex already it does a mode conversion

I currently do this in the custom menu, but I lose the custom menu by doing this. Aside from making a hard coded complex menu, it could also be done as another custom menu attached to the complex key.

thomasokken commented 9 months ago

I'm not going to make any such drastic changes to the calculator's user interface. But creating a program that makes this functionality easily accessible, using CUSTOM or the programmable menu, would be an easy task.

This seems to be a possibility that is often overlooked: create programs to configure the CUSTOM menu in different ways. There's only one CUSTOM menu, but one could easily create multiple programs to set up the CUSTOM menu, each for a different use case.

sbridger commented 9 months ago

That's because the manual doesn't cover it, I only found it in the programming examples manual now. Looks like I can do what I want with KEYG+MENU, and make an adaptive complex menu to attach to the complex button.

sbridger commented 9 months ago

Any idea how to turn on the up/dn annunciator? MENU lets me make a menu, but I can't indicate that there are more than one menu lines without turning on the up/dn arrow.

sbridger commented 9 months ago

As an aside my complex number menu is type sensitive**. Unfortunately this requires an event to be fired anytime the contents of X changes to update the menu. This is pretty much any key being pressed. While I have yet to think it through, an any key: KEY 10 might be a way to do it.

**i.e. the menu changes according to X being real, rect complex or polar complex. As soon as you press a number key, it becomes a real number again. So I am testing CPX? and flag 73 (polar)