Touch 10i: the scientific calculator for iPhone and Android
Figure 1: Screenshot of horizontal layout - Android
Touch 10i is a basic scientific calculator for Android, iPhone and iPad. It implements most
features of the beloved HP-10C, including programming functions.
The app uses the same engine of the
HP-10C Web emulator. It aims to mimic all features (and limitations)
of the real device.
The calculator mimics the 10C as closely as practically possible, and shares the same
Touch the upper right corner of the screen to open a quick guide for some operations of the
Figure 2: Touch 10i - quick guide
Touch the upper left corner to copy the displayed value (the X register) to the
clipboard. The value is copied in a "spreadsheet-friendly" or
"data entry-friendly" format, that is: no thousand separators and point as decimal
Settings (iPhone version)
When installed on an iPhone, this app adds a panel to Settings. There you can change the
decimal separator and configure typing feedback (audible and visual).
The speed execution of a program is, by default, similar to a real calculator's speed;
turn on the "Fast" switch to run a program in a faster pace.
The ON key is a shortcut to the Settings panel.
Saving copies of the memory
The app allows to store and retrieve copies of the memory.
This is especially useful to have many different programs available and ready to use
(perhaps the programs would not fit in the memory all at once, or it is simply inconvenient
to have them all in the same memory image). In any case, the whole memory, including
all registers and configurations, is saved along with the program.
Saving copies of the memory in the iPhone
Use the following key combinations to access this feature:
- STO CHS: save memory. Type a label for the memory and touch OK.
- RCL EEX: load a previously saved memory. Select the memory from the list and touch OK.
- RCL g EEX: delete a previously saved memory.
The memories are stored locally as well as in iCloud. If you have configured iCloud
in your devices, you can transfer memories between
devices, provided that they are configured with the same iCloud account. Also, a new
device will have access to the previously saved memories, so you don't lose anything
when you exchange your old iPhone.
In Android, the app implements a menu that is accessible
by touching the upper left corner of the screen, or by keying RCL EEX.
Figure 3: Screenshot of menu
- Number format: A three-state menu option to select the thousand separator
between American (1,111,111.99), European (1.111.111,99), and Indian (11,11,111.99).
- Key feedback: a 4-state menu option that allows to choose the keypress feedback.
The available options are: audio click, strong haptic, mild haptic, and none.
- Display > Stretch on/off: a 2-state menu option that toggles the stretch mode.
"Stretching" fills the entire screen with the calculator. In some screens, it may look distorted.
Non-stretched mode uses less of the screen but the looks are preserved.
- Display > Fullscreen on/off: a 2-state menu option that toggles the fullscreen mode,
in which the status bar is hidden.
- Display > Never sleep/Allow sleep: prevents the screen to go to sleep when the calculator is at foreground.
- Display > Lock landscape/Lock portrait/Allow rotation: options that allow to lock the orientation.
- Memory: load/save memory operations.
- Load memory: loads calculator memory from a file.
- Save memory: saves calculator memory to a file. The user has the option of overwriting
an existing memory file or create a new one.
- Delete memory: remove a memory file from the phone.
- Speed: turn on/off fast speed on program execution. Slow speed (the default) mimicks a real device's
speed. Fast speed runs the program as fast as it can.
The app offers an alternative vertical layout.
It may be more practical if you prefer to work with the phone in vertical
Figure 4: Screenshot of vertical layout
By default the layout follows automatically the phone's orientation. If you
prefer to use a single layout all the time, you can
lock it to vertical or horizontal at Settings (iPhone) or in the menu (Android).
Differences from real calculator
First of all, it is important to mention that the calculator engine does
not use a ROM dump. It is a clean-room implementation.
So the results simply can not guaranteed to be exactly equal.
- Calculations use 15-digit precision
so there can be minor rounding differences in comparison to a real unit.
- Minus sign in LCD emulation looks different.
- Speed is different; generally this calculator is much faster.
- You can use all programming steps and all STO positions at the same time,
while in the real unit they share the same memory and there is a tradeoff.
- Footer elements like RUN, PRGM etc. occupy different positions.
- Also, there is a slight augmentation in footer elements. For example,
RUN shows the program step, STO-operation shows operation symbol and so on.
- Execution of programs may have a different speed and actual calculations
are shown instead of "Running...".
- Random number generation may use a different algorithm.
The calculator is offered "as is". There are no guarantees of precision,
exactness, or aplicability to any given purpose. The developer has no
responsability for any damages incurring from usage of this software.
Please use the comment section at this page, or contact me by e-mail
if you have any issues or feedback.
The app does not send any user data to any remote party, and it does not share
data with other apps.
In Android, when the user saves copies of the memory, they are written as
files in the "storage area". Files in this area can be manipulated by
any other app installed on the same phone. If this is a problem, remove
these files from the SD Card once they fulfill their intended usage.