Free42 for Zaurus X/Qt and Nokia 770 (1.4.35) 05/08/2007

This is a Zaurus port of the Free42 HP-42S calculator/HP-82240 printer emulator for Unix/Linux + GTK.

The HP-42S is arguably the best RPN calculator ever made (strong case can be make for the 15C and 41C as well, go to http://sense.net/zc/nonpareil for older RPN HPs).  If you are interested in RPL then checkout http://sense.net/zc/x48.

This port has only been tested with Cacko 1.23 on my c860 with X/Qt 1.9 for X11.  More information about Cacko and X/Qt can be found at http://www.zaurususergroup.com.

Zaurus X/Qt Installation Notes:

  1. Setup environment for GTK:

    mkdir /opt/QtPalmtop/etc/pango
    cd /opt/QtPalmtop/etc/pango
    pango-querymodules >pango.modules
    mkdir /opt/QtPalmtop/etc/gtk-2.0
    cd /opt/QtPalmtop/etc/gtk-2.0
    gdk-pixbuf-query-loaders >gdk-pixbuf.loaders
     

  2. Download the free42 binary and save in /usr/local/bin (or any other directory in your PATH).
     
  3. Fix permissions:

    chmod 755 free42
     
  4. Extract skins.  For skin type:

    mkdir -p $HOME/.free42
    cd $HOME/.free42
    tar zxvf skins.tgz
     
  5. To run type:

    free42
     
  6. Help support open software.  Go to http://home.planet.nl/~demun000/thomas_projects/free42/ and donate today.

Nokia 770 Installation Notes:

  1. Install xterm to run from the command line.
     
  2. Download the free42 binary and save in /var/lib/install (or any other directory in your PATH).
     
  3. Fix permissions:

    chmod 755 free42
     
  4. Extract skins.  For skin type:

    mkdir -p $HOME/.free42
    cd $HOME/.free42
    tar zxvf skins.tgz
     
  5. To run type:

    free42 -skin skin_name
     
  6. Help support open software.  Go to http://home.planet.nl/~demun000/thomas_projects/free42/ and donate today.

Known Bugs/Work-a-rounds:

  1. 42ck/42ct skins only.  Normally the top 6 keys of a 42S do double duty as function keys for the menus.  The 42ck and 42ct skins have the aforementioned keys moved to locations to better match the layout of a 15C.  Although the "top keys" still perform this secondary function the locations are counterintuitive.  This should not be an issue.  For the 42ck use F1-F6 for the menus.  For the 42ct just tap the menu in the LCD.

Screen Shots

42c Tablet Style Screen Shot

What if HP put the logic and display of a 42S in the compact and convenient form factor of a 15C?  You'd have the 42C.

This skin (42ct, t for tablet) was specifically designed for the Zaurus 640x480 display.  NOTE:  When selecting 42S menus tap the virtual LCD screen.

Below is a c860 with display rotated over keyboard.  The power of the 42S in a 15C form factor.

Nokia 770 42c Screen Shot

Free42 binary below supports the Nokia 770 Internet Tablet.

42c w/ Keyboard Hints Screen Shot

The 42ck (k for keyboard) skin sports keyboard hints (in blue) so that navigation can be completely performed without the use of the stylus.  Notice the low battery indicator.  This will appear when the battery drops to 20%.

Ehrling42sm Screen Shot

Orthodox 42S users will prefer the native look and feel of a true classic.  On the right is the output from the virtual HP 82240 printer.  More printer output examples can be found here:  http://home.planet.nl/~demun000/thomas_projects/free42/82240/index.html.  Printer output can be saved as text or GIF.

Downloads:

Description Date File
Free42 1.4.35 BCD Math

Tested with:

Clamshell Zaurus w/ Cacko 1.23 and X/Qt 1.9
05/08/2007 free42-1.4.35
Makefile (1.4.35) patch 05/08/2007 Makefile-1.4.35.patch
Free42 1.4.22 BCD Math

Tested with:

Clamshell Zaurus w/ Cacko 1.23 and X/Qt 1.9
05/22/2006 free42-1.4.22
Makefile patch 04/27/2006 Makefile.patch
shell_main.cc.patch patch to fix printer output default height 04/27/2006 shell_main.cc.patch
Free42 Home Page/Source   http://home.planet.nl/~demun000/thomas_projects/free42/
Free42 Skins for 640x480 displays (from Free42 source, extract in $HOME/.free42) 04/25/2006 landscape_skins.tgz
Free42 Skins for 480x640 displays (from Free42 source, extract in $HOME/.free42) 04/25/2006 portrait_skins.tgz
Free42 42c Skins for 640x480 displays only (extract in $HOME/.free42) 05/02/2006 42c_skins.tgz
Free42 Manual   http://joselauro.com/42s.pdf
Free42 Manual Cached 04/25/2006 42s.pdf
HP-42S Manuals   http://www.hpmuseum.org/cd/cddesc.htm
txt2raw.pl

txt2raw.pl requires Perl.  A suitable Perl for Cacko that is also small can be located here:  http://sense.net/zc/perl/
  http://home.planet.nl/~demun000/thomas_projects/free42/txt2raw/txt2raw.html
42s RPN Savage Benchmark
  1. Copy s.raw and s10.raw to Free42 (File -> Import Program...) or manually enter:

    S:


    S10:


     
  2. Set radian mode:

    MODES
    RAD
     
  3. Set unlimited precision:

    DISP
    ALL
     
  4. To run:

    XEQ S
     
  5. Use a stopwatch to time.  If too fast, then run S10 and divide time by 10.
     
  6. Results (x: 2,500) and iterations (y: 2,499) reported on the stack.  Ideally they should differ by one.
05/06/2006 s and s10 (text, use txt2raw.pl program to create program.raw)

OR

s.raw and s10.raw

Platform seconds
Real 42S (x: 2499.99948647) ~602
c860(PXA255)-free42
Base: 471 MHz, Turbo: 471 MHz
~6
c860(PXA255)-free42
Base: 398 MHz, Turbo: 398 MHz
~8
c860(PXA255)-free42
Base: 235 MHz, Turbo: 471 MHz
~8
c860(PXA255)-free42
Base: 199 MHz, Turbo: 398 MHz
~9
c860(PXA255)-free42
Base: 099 MHz, Turbo: 099 MHz
~44
Nokia 770-free42 ~9

Send questions/comments:  egan@sense.net