The Museum of HP Calculators

HP Forum Archive 21

[ Return to Index | Top of Index ]

Latest DIY calculator news
Message #1 Posted by Eric Smith on 22 Sept 2012, 10:45 p.m.

I just gave my presentation at HHC 2012. The news is that the DIY4X now runs a modified version of Thomas Okken's "Free42" software.

The LCD display has eight character rows, rather than two in the original HP-42S and in Free42. I reserve the bottom row for soft menus, so that everything else doesn't move up and down when the menus are activated and deactivated. In run mode, all four levels of the stack are displayed, and any error messages are shown at the top.

In program mode, seven program lines are displayed, and the scrolling is done such that whenever possible, at least two lines before and after the current line are displayed.

The DPLOT program from the 42S user manual works with only two lines changed to take into account the larger display.

The display hardware is capable of 400x240 pixel resolution. It is strictly black and white, though grey can be obtained by dithering. The Free42 code was written based on a 131-pixel wide display, so currently the pixels are scaled by a factor of 3 on both horizontal and vertical axes. Later I hope to make Free42 work at native resolution, which will look much smoother.

A subset of the HP-IL Mass Storage functions are implemented, allowing saving programs to and loading programs from a MicroSD card.

There is USB support in the bootloader, allowing firmware upgrades from either the MicroSD card or a host computer via USB. The calculator does not currently have USB support, though I plan to add it, making it look to the PC like a communications devices. The calculator will use HP-IL control functions such as OUTA to talk to the PC.

We didn't get the DIY5 hardware completed in time for the conference. It will have the 42S keyboard layout and the form factor will be similar to the 20b/30b.

      
Re: Latest DIY calculator news
Message #2 Posted by Paul Dale on 22 Sept 2012, 10:52 p.m.,
in response to message #1 by Eric Smith

Nice!

- Pauli

      
Re: Latest DIY calculator news
Message #3 Posted by Raymond Del Tondo on 22 Sept 2012, 11:21 p.m.,
in response to message #1 by Eric Smith

That sound great:-)

Quote:
[..]We didn't get the DIY5 hardware completed in time for the conference. It will have the 42S keyboard layout and the form factor will be similar to the 20b/30b.
Please don't use the awful housing of the 30b. A housing similar to the 17bII+ silver would be much nicer.

However, I wish you and the other HHC attendees a nice and informative Sunday:-)

            
Re: Latest DIY calculator news
Message #4 Posted by Eric Smith on 23 Sept 2012, 11:41 a.m.,
in response to message #3 by Raymond Del Tondo

The housing definitely won't be like the 20b/30b. The point was just that the overall dimensions will be close.

      
Re: Latest DIY calculator news
Message #5 Posted by Ángel Martin on 23 Sept 2012, 10:40 a.m.,
in response to message #1 by Eric Smith

Salivating over the news, looking forward to the release... :-)

      
Re: Latest DIY calculator news
Message #6 Posted by Walter B on 23 Sept 2012, 11:58 a.m.,
in response to message #1 by Eric Smith

Sounds promising for both DIY4X and DIY5 :-)

      
Re: Latest DIY calculator news
Message #7 Posted by Harald on 23 Sept 2012, 5:20 p.m.,
in response to message #1 by Eric Smith

Very much looking forward to further updates and pictures on the subject!

      
Re: Latest DIY calculator news
Message #8 Posted by uhmgawa on 23 Sept 2012, 7:26 p.m.,
in response to message #1 by Eric Smith

Quote:
...modified version of Thomas Okken's "Free42" software.

Would this be a fork of Free42 or are your modifications intended to be incorporated into Thomas's codebase? I'm particularly curious of the footprint you've been able to achieve. I did look briefly at paring down Free42's sprawl, but suspected a significant reduction would require major modifications to the code. Also are you using the toolchain's binary FP or BCD20?

            
Re: Latest DIY calculator news
Message #9 Posted by Paul Dale on 23 Sept 2012, 7:34 p.m.,
in response to message #8 by uhmgawa

You'll also have to watch for memory fragmentation. A calculator either needs a static memory layout or compacting garbage collection.

- Pauli

                  
Re: Latest DIY calculator news
Message #10 Posted by Eric Smith on 24 Sept 2012, 11:54 a.m.,
in response to message #9 by Paul Dale

Yes, I've been worried about memory fragmentation since I first looked at the Free42 source code some years ago. I think the only way to solve this problem in Free42 without a massive rewrite is to implement a double-indirection scheme similar to the "handles" used by the original MacOS (up through 9, not X).

When I brought up the issue in email with Thomas, he suggested the very same thing.

                        
Re: Latest DIY calculator news
Message #11 Posted by Paul Dale on 24 Sept 2012, 5:21 p.m.,
in response to message #10 by Eric Smith

Funnily enough, I was seriously considering the same approach for the 43S.

- Pauli

                              
Re: Latest DIY calculator news
Message #12 Posted by Walter B on 25 Sept 2012, 12:26 a.m.,
in response to message #11 by Paul Dale

Quote:
I was seriously considering the same approach for the 43S.
We shall seriously think about and carefully choose the name of any new calculator. While we always talked about a 43S as the dream calculator after the HP-42S and the WP 34S, I begin to doubt it will be a good choice ...
                        
Re: Latest DIY calculator news
Message #13 Posted by Andrés C. Rodríguez (Argentina) on 24 Sept 2012, 7:46 p.m.,
in response to message #10 by Eric Smith

Hi Paul and Eric:

If possible, please suggest readings about the "double indirection" method. Also, any comment from you will be most welcome. The topic of "memory management" and "memory fragmentation" is present in one of my courses, and I would like to give some extra information to the students. A real-world, current case as the DIY-X or WP-34X will be most interesting to mention or discuss, even without full depth analysis.

Thank you in advance.

Andres

(a#.#rodriguez "at" ieee#.#org) Please remove "#" as appropriate.

                              
Re: Latest DIY calculator news
Message #14 Posted by Paul Dale on 24 Sept 2012, 8:03 p.m.,
in response to message #13 by Andrés C. Rodríguez (Argentina)

MacOS memory management

- Pauli

                                    
Re: Latest DIY calculator news
Message #15 Posted by Andrés C. Rodríguez (Argentina) on 25 Sept 2012, 12:27 p.m.,
in response to message #14 by Paul Dale

Thank you!

                              
Re: Latest DIY calculator news
Message #16 Posted by uhmgawa on 25 Sept 2012, 10:31 a.m.,
in response to message #13 by Andrés C. Rodríguez (Argentina)

Quote:
If possible, please suggest readings about...

It's just the pervasive problem of aliasing memory object addresses to something more manageable in the associated API. Should the object move or be deleted the API can detect this via a simple operation on the alias handle and take appropriate action. Common examples include include file descriptors, process ids, etc..

            
Re: Latest DIY calculator news
Message #17 Posted by Eric Smith on 24 Sept 2012, 11:52 a.m.,
in response to message #8 by uhmgawa

I've sent the display modifications to Thomas. It is not yet determined whether he will merge them.

As per the GPL license, the source code as used in the calculator will be published when the calculator is made available.

The calculator is using BCD20. The processor does not have floating point hardware, so there is no benefit to using IEEE binary floating point. I'd prefer to use decNumber, but haven't yet tried to put it in.

                  
Re: Latest DIY calculator news
Message #18 Posted by uhmgawa on 25 Sept 2012, 10:16 a.m.,
in response to message #17 by Eric Smith

Quote:
As per the GPL license, the source code as used in the calculator will be published when the calculator is made available.

My question actually was of whether this effort would be in the context of an open project (public code repo, etc..). I don't think even a major modification of the codebase is unreasonable to reduce both static and runtime footprint. However attaining sufficient traction to maintain the effort on a long term basis would otherwise be my concern.

Quote:
The calculator is using BCD20. The processor does not have floating point hardware..

While BCD20 does make an effort to map operations assuming the availability hardware arithmetic instructions, I would still expect a straight binary representation to be more efficient. Not that I'd recommend using the latter, but was curious if you'd configured for both and had any rough performance metrics relative to a cortex m3.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall