Free42 for Android, first alpha


Hi all,

I've been working on the Free42 Android port for a few weeks now, and it's at the stage where it is actually usable.

There is still a lot of functionality missing (program import/export and printer emulation are the big ones), so I'm still in the early alpha stages. The missing functionality will take another 2-4 weeks, at which point I'll start calling it a beta, and then I'll spend another 2-4 weeks fixing bugs and polishing the app to get it ready for general release.

If you're not interested in testing an early alpha, I totally understand; that's up to you. :-)

If you just want to keep an eye on my progress, take a look at every now and then.

If you are feeling adventurous, please try my alpha release and let me know what you think. The HP-42S emulation should work right now on any Android phone with a 320x480 screen and OS version 1.5 or later. You can't download it from Android Market yet, so if your phone does not allow side-loading, you won't be able to use the alpha, unfortunately.

Looking forward to hearing from you!

Thank you, and best regards,

- Thomas


Thomas- What a great November surprise! I've installed the alpha release using the eoeAppInstaller application in the Droid Market. It runs the basic checks very nicely! I will report any bugs found at your email address.

I'm impressed so far with the speed and performance on OS1.6!


I've installed the alpha release using the eoeAppInstaller application in the Droid Market.

I tried installing it on an AT&T HTC Aria using eoeAppInstaller, but that didn't work. It gave me an error message telling me to go to Settings -> Applications and allow unknown sources, but that option wasn't there. Not surprising, since I knew that this phone does not allow sideloading, but apparently eoeAppInstaller doesn't let you get past that restriction, either.

I did manage to install the app in the end, using the adb tool from the Android SDK. That wasn't exactly painless, either; I had to download and install "HTC Sync" just to get the Android USB driver (for Windows), and that package also installed some other junk that I don't think I want. And just finding HTC Sync on the HTC web site was a bit of a trek, too.

Writing up installation instructions for non-Market-users will be a ton of fun, I can already tell...

I'm impressed so far with the speed and performance on OS1.6!

Thanks! I'm pretty pleased with it on the Aria, too. I was worried at first because it felt a bit slow on the emulator (both on my Mac and my PC), but, then again, the Free42 core is native code, which runs on an emulated ARM CPU in the emulator, and that slows things down a lot. On the real device, it looks like a dead heat between the Aria and the iPod touch 4 so far, which is pretty good, considering that the Android app has a Java UI and lots of JNI calls between the UI and the core. While I do try to keep the overhead to a minimum, it's nice to hear that that's actually working out.

- Thomas

Edited: 29 Nov 2010, 11:55 p.m.


In case anyone is interested, it's fairly easy to install on a Droid X. Just copy the APK file to the SD card, go to Settings/Applications and Select "Unknown Sources" to allow for installation of non-Market applications. Use "Files" to go to the APK file and select it to install it. Be sure to go back and deselect "Unknown Sources". No need for any special application installer.

Free42 works great. I've already made use of it at an office meeting yesterday.




Perfect so far! Thank you for letting us alpha test. I will report if I have problems.

Looking forward to high resolution skins, or at least full screen UI.

Motorola Droid (WVGA 854x480); Android 2.2 FRG22D.

Thanks again.


This is good news.

I installed Free42.

Then I uninstalled Realcalc.



Thank you very much!

Works on T-Mobile G1 with Android 1.6.

Works also on the Booq Verne tablet, with Android 1.5. This has a bigger screen (800x600). The calc remains at the designed size.

On both devices the application terminates when the devices is turned from landscape to portrait and vice versa (no visible forced close).
Also on both, one has to start the application sometimes twice, as the first start returns nothing.



On both devices the application terminates when the devices is turned from landscape to portrait and vice versa (no visible forced close). Also on both, one has to start the application sometimes twice, as the first start returns nothing.

I haven't tried dealing with landscape mode yet -- I should probably just disable that until I'm ready to to deal with it. Crashing is certainly not desirable behavior. :-)

I just installed the app on a borrowed AT&T HTC Aria, and I have to start it twice quite often, too. I don't know what's going on there yet, but I'll have to look into it. I've noticed this failure to launch even in the simulator, but it doesn't happen very often there. On the real phone, it happens a lot. Clearly something that needs to be looked into! (UPDATE: Actually, it happens all the time in the simulator, or more precisely, every second time. It just doesn't seem to happen while running under debugger control. Looks like I have some old-fashioned printf debugging to do!) (UPDATE 2: Maybe I'm just not dealing with the Android app life cycle correctly, and the app appears to die on startup when the OS tries to revive an instance that wasn't shut down cleanly.)

I'll put both items on my to-do list. Thank you for the feedback!

- Thomas

Edited: 29 Nov 2010, 9:38 p.m.


Works fine on Samsung Galaxy S, Android 2.2

(Installation is simple: allow unknown sources. Browse to web site, select the .apk file. Once downloaded, go to downloads and long-touch the .apk then select "complete with package installer".)

Thomas: if you use something like you can generate a QR-code of the URL of the .apk file and embed it on your web page. Then, android users (running "Barcode Scanner") can just point their phones at the QR-code on their computer screens, scan the image and download (like a really lazy form of networking)

great work, thanks



On both devices the application terminates when the devices is turned from landscape to portrait and vice versa (no visible forced close). Also on both, one has to start the application sometimes twice, as the first start returns nothing.

I get the impression that in both scenarios -- the app exiting when the device switches to landscape mode, and the app failing to launch -- the app isn't actually exiting, it's merely hidden. The next time you try to launch after either scenario, the app slides into view, rather than popping up, which makes it look like it was running already. Also, I don't see anything in the logs to indicate app death.

As long as you make a point of leaving the app using the "home" button, rather than using the "back" button or the OFF function, the app comes up at the first attempt every time (or until the OS decides to unload it by itself, of course).

I clearly have some figuring out to do as to how Android manages app state; presumably there are some messages from the OS that Free42 needs to handle that it currently doesn't.

To fix the landscape problem, for now I've just set a flag that prevents landscape mode altogether. I want to support landscape mode eventually, but this will at least prevent the annoying pop-down until then. (The new version is on my web site now.)

- Thomas

Edited: 30 Nov 2010, 8:36 p.m.



Fantastic - early Chrismas Present.

I tried downloading it, but got a zip file in lieu of a APK file. The link points to Free42Android.apk but when I click on it I get the file

Am I doing something wrong?

Can't wait to try it out.




That sounds like Internet Explorer being a smartass. It looks at the file contents, sees a zip file, and decides that it should have a zip extension. You can just rename it back to Free42Android.apk (apk files really are zip files).



You're right - stupid Internet Exploder.

Renamed it, set the Droid X to allow it to be installed, and it is now working great.

Now I can uninstall the other calculators (may keep the Droid48, even though I don't use it much).

Thanks for all your hard work. Can hardly wait for the finished product.



The one big thing I haven't figured out yet is what would be the best way to support getting *.raw program files into and out of Free42 on Android. So here's a question to you all: in your experience, do all Android phones have (micro-)SD card slots that can be used to transfer files onto and off the device?

If they do, then my job will be pretty easy, but if they don't, the next question is: do Android phones that do *not* have a card slot offer some other way of copying files between the phone and a computer via USB, by allowing the phone to be mounted as an external USB disk drive or some similar means?

I can support import/export etc. even if the answer is "no" on both counts, by using the approach I used in the iPhone version (built-in web server), but it would be nice if I didn't have to do that, since it is a bit of a pain to support that properly. Even the iPhone version is far from complete in that area.

- Thomas



I don't know if all of the Android phones have a SD card or not, but I think most do. I strongly recommend just storing the raw and any other files in a directory on the SD card. Much much easier to have all my files with me rather than pointing to a web site, etc. That's one reason I never made much use of the HP calculators on the Ipod Touch.

With the various models and operating system versions for the Android, you may need to select a subset and develope for that subset, rather than try for a home run on all of the various models.




Hi Bill,

I will definitely implement SD card support -- it's by far the easiest option to implement, and, I think, also by far the easiest and most intuitive to use.

Having said that, I don't want to exclude models that don't provide an easy way to copy files onto and off the device, either, and those can be supported using the embedded web server code from the iPhone version. But if I can support all models using just option A, so much the better!

(Even the embedded web server is nothing compared to the lengths I went to to support SD-card-less Palm devices. I don't think I want to do *that* again. :-) )

- Thomas


Hi Thomas,

Another posbility is to email the files as attachments and then just save them to either the sd card or the internal memory (is it possible to save to internal memory if no sd card is present?).

That's the way I just installed the latest build - download it, email it, save and then install. Quicker than using the cable which I don't usually have with me.


Edited: 1 Dec 2010, 7:56 a.m.


I just uploaded a new version that prevents the landscape-mode problem. Also, one thing that immediately bothered me when I tried to use it on my HTC Aria was the lack of key-press feedback, so I implemented keyboard click.

N.B. I'm not going to announce every new version on this forum; if you want to keep up to date with the latest bleeding edge release, keep an eye on the provisional Free42 for Android page. The official release will be announced on the Free42 home page when it's ready.

Thank you all for all your feedback! Please keep it coming, either here or (preferably) by sending me email.


- Thomas

Edited: 30 Nov 2010, 8:40 p.m.

Possibly Related Threads...
Thread Author Replies Views Last Post
  OT: Graphing calculator for Android ? Ivan Rancati 4 564 11-18-2013, 12:33 PM
Last Post: Alberto Candel
  What About An iOS/Android HP-41 Barcode Reader App? Jake Schwartz 0 303 07-10-2013, 10:39 AM
Last Post: Jake Schwartz
  WP-34S: Alpha lock Marcel Samek 15 1,273 07-08-2013, 08:23 AM
Last Post: Reth
  Our 11C Scientific Calculator Android app is on launch sale, 0.99$ only John 1 370 06-22-2013, 01:38 PM
Last Post: Marcus von Cube, Germany
  [alpha]SR wp34s Andrew Nikitin 9 892 06-17-2013, 11:48 PM
Last Post: Andrew Nikitin
  Vicinno 11C Scientific Calculator app is on Android now John 0 299 06-14-2013, 02:28 PM
Last Post: John
  41-MCODE: Auto XEQ+ALPHA possible? Ángel Martin 5 606 05-29-2013, 06:15 AM
Last Post: Ángel Martin
  HP-67 Emulator for Android Tablets MikeO 7 698 04-17-2013, 09:36 PM
Last Post: MikeO
  HP 50G emulation for android Olivier De Smet 3 491 04-14-2013, 12:01 PM
Last Post: CompSystems
  New emulators for Android Olivier De Smet 8 830 01-28-2013, 09:14 AM
Last Post: Bill (Smithville, NJ)

Forum Jump: