The Museum of HP Calculators

HP Forum Archive 18

[ Return to Index | Top of Index ]

Just for Fun...?
Message #1 Posted by Mike T. on 17 Oct 2008, 6:05 p.m.

Having read some items in the forum on this web site regarding reprogramming the HP20B, I decided to see what might be possible within the constraints of that machine's keyboard layout and display size. So I decided to test my new code using a hypothetical simulation based on the HP20B form factor and display size..

The aim is to produce a simulation of a 'simple' RPN scientific calculator using direct keystroke entry (no menus). Work on this is still at it's very early stages and is far from complete but I have implemented the basic arithmetic stuff, and an 'interesting' dynamic stack, but as you can see from the screen shots below there are a few gaps in the keyboard layout.

Hypothetical HP32B screenshot source code (updated - 17 Oct 08)

I really like the two line display and I'm reasonably happy with the layout of the numeric keypad and the main functions on the second and third rows of keys - but I'm not so sure about all the other shifted functions and need to fill in those six gaps. So I'd be interested to see what other function key layouts you think would work better and what functions I ought to add...

I know I'd like to add integrate and solve but haven't worked out how to implement them in a way that gives the same results as the real thing so will have leave those two functions out for now.

Mike T.

Edited: 18 Oct 2008, 3:05 p.m. after one or more responses were posted

Re: Just for Fun...?
Message #2 Posted by Walter B on 18 Oct 2008, 2:49 a.m.,
in response to message #1 by Mike T.

Hi Mike,

thanks for showing and sharing the fun.

1st view: looking very nice!

2nd view rises some questions:
> Why did you swap RDOWN and RUP?
> Why is "%" so prominent on a scientific calc?
> What is L.R. for, if you won't use menus? Todays computing speed allows for calculating the results after every input in milliseconds.

3rd view results in some suggestions:

  • Find a place for CLSIGMA (i.e. CLE in your notation)
  • Swap PI and "%"
  • Add "x<>" (like on 15C)
  • Instead of SST and BST, you may wish to use the more common primary UP and primary DOWN like on 42S
  • How about a primary XEQ ?
  • You may drop CLR PREFIX if you agree on F F = G G = NOP

More would require a 4th view ;)

Re: Just for Fun...?
Message #3 Posted by Mike T. on 18 Oct 2008, 10:05 a.m.,
in response to message #2 by Walter B

Thanks for the feedback:

  • I have to admit that I didn't mean to swap over 'Rv' and 'R^', it is defiantly wrong!..

  • There seems to be a consensus on the HP calculators I have used to use a shifted key for 'Pi' while "%" is only shifted on the HP34C and HP11C.

  • I'd intended that L.R function simply performs a best fit linear regression on statical data entered - nothing too complicated.

  • I wasn't sure if I should include the functions to Cl E or the function Cl All, eventually decided to include Cl All as the ability to clear all registers (and reset the program counter) is something I find I use quite often when using my HP33C simulator.

  • I've been looking at the way the functions on the HP97 are grouped as this model has a similar key board layout to the HP20B, though with more rows. If I adopt a key layout for the first row similar to the top row of function keys on that model then I will be able to have 'SST' and 'BST' on primary key strokes as you suggest, and may be able to move 'DEL' and 'n!' to make way for the '% E' (percent sigma function) as found on the HP34C.

  • I'm not very familiar with the HP15C as I've never owned or used one, would 'x<>' be X .ne. 0 or exchange X with something..?

  • 'Cl PREFIX' is commonly found on many of the early models, but I agree with your logic and I like that idea as it would allow me to include 'Cl E' on that row.

    Edited: 21 Oct 2008, 6:16 p.m.

    Re: Just for Fun...?
    Message #4 Posted by Mike T. on 18 Oct 2008, 3:04 p.m.,
    in response to message #2 by Walter B

    What about this...

    Hypothetical HP32B(2) screenshot source code (updated - 18 Oct 08)

    It isn't yet finished, as I've got a whole row to complete, but so far I think this works for me - just seems to look right.

    I'm trying to resist the urge to simply move the top function line down onto the top row of keys and replace them with labels A-F as I think some flag manipulation functions and other functions are probably more important...?

    Mike T.

    Re: Just for Fun...?
    Message #5 Posted by Mike T. on 21 Oct 2008, 6:01 p.m.,
    in response to message #2 by Walter B

    Hypothetical HP32B(3) source code (updated - 21 Oct 08)

    Finally - I think this is about the best I'm going to manage for now...

    I've concentrated on including every function available on two 'basic' scientific keystroke programmable models, the HP33C and HP29C. Admittedly these not the most advanced calculators in the world but there is a respectable library of programs available for both these machines covering a wide range of disciplines and they are easy to understand and straight forward to use.

    I've also tried to include some 'useful' functions from the HP34C and HP97 but though I really wanted to include solve and integrate I am not able to do so as I haven't managed to work out how implement them properly.

    This feature comparison table allows you can see at a glance what the differences between the different models are.

    I've tried to group the keys as logically as I can, and though I'm not sure about moving 'INT' 'FRAC' 'ABS' to the top row and replacing them 'SF' 'CF' and 'F ?' this did allow me to keep all the conditional tests together in the right hand column.

    I did notice that even though I have only used two shift keys it should be possible to include ALL the original HP34C functions given the layout of the HP20B keyboard. I'm not sure how this might work in practice but I may try it at some point in the future...

    Mike T.

    [ Return to Index | Top of Index ]

    Go back to the main exhibit hall