===============================================================================
i41CX+ Version History
================================================================================
4.4.1 Maintenance Release 7/09/2010
o Minor bug fixes.
o Added High Tech Black skin.
NOTE: Like the Dark Metal and High Tech skins, the High Tech Black skin is
not visually compatible with the bundled overlays. If you frequently
use overlays, we recommend either using other skins or creating your
own custom overlays.
================================================================================
4.4 Full iOS 4 Compatibility Release 6/30/2010
***************************** NEW in this release *****************************
- Full Support for iOS4
- Multitasking
- iTunes File Sharing
- Hardware Keyboard
- Improved I41CXED search
- New High Tech Oblique skin
*******************************************************************************
o Implemented support for multitasking and iTunes file sharing. [iOS 4 Only]
o Implemented "Find Again" menu item in I41CXED searches. [iOS 4 Only]
o Updated I41CXED and back tables to be hardware keyboard aware. [iOS 4 Only]
o Fixed cosmetic anomalies that occurred under iOS4.
o I41CXED macro keyboard now works under iOS 4.
o Added High Tech Oblique skin.
NOTE: Like the Dark Metal and High Tech skins, the High Tech Oblique skin is
not visually compatible with the bundled overlays. If you frequently
use overlays, we recommend either using other skins or creating your
own custom overlays.
================================================================================
4.3 Feature Upgrade Release 6/17/2010
***************************** NEW in this release *****************************
- 15-key user-configurable macro keyboard for I41CXED
- LOADOVL function to load specified overlay
- Searchable reference tables
- Searchable I41CXED text
- Color support for CAS fancy output
- Horizontal swipe gesture action options
- More "Usage & Examples" items
- Significantly smaller binary (30% smaller than 4.2)
*******************************************************************************
o Added macro keyboard to I41CXED. The macro keyboard contains 15 configurable
buttons that can hold any text. By default, the buttons are configured with
commonly used CAS operators and commands. The macro keyboard can be
activated by horizontal swipes in the text area when the keyboard is active.
Swiping horizontally again dismisses it. To edit the contents of a macro
button, tap and hold down the button for 1 second or longer.
Instances of "\n" (without the surrounding quotes) in macros
get automatically converted into new lines. This makes it possible to create
macros with text spanning multiple lines.
Assigning "\b" (without the surrounding quotes) to a macro button turns that
button into a backspace/delete key.
Assigning "\c" (without the surrounding quotes) to a macro button turns that
button into a clear key.
The macro buttons can be optionally labelled by including the desired
label surrounded by the # character in the macro text. For example, if
a macro contains #LABEL#, the button will display LABEL in a larger font
instead of the actual contents of the macro. Moreover, the following labels
(in uppercase) are automatically displayed with the mathematical symbol
for the corresponding CAS operator/constant: DF, E, I, INFINITY, INT, PI,
PROD, and SUM.
The default integral, derivative, pi, imaginary number, natural number,
and infinity buttons are examples that utilize these features.
o Added "Default Keyboard" option to the "Text Editor and CAS" section of the
i41CX+ global settings. The available options are "System" (default) and
"Macro". The selected keyboard will be the default keyboard shown when the
text area is tapped for editing.
o Added "Auto Hide Macros" option to the global settings. If enabled, the
I41CXED macro keyboard is automatically replaced by the system keyboard
after one of its buttons is pressed, unless the button has the delete or
clear operation assigned to it. If the macro keyboard is primarily used
to enter CAS functions and operators, this makes it more convenient to enter
a function/operator and then immediately fill in the arguments with the
system keyboard without having to swipe the screen to switch back to the
system keyboard.
o Added "Return Shows Macros" option to the global settings. If enabled, the
I41CXED macro keyboard is automatically shown whenever the "Return" key is
pressed on the system keyboard. This option can be used in conjunction with
the "Default Keyboard" and "Auto Switch Keyboard" options to make the macro
keyboard effectively the primary I41CXED keyboard. In this case, the system
keyboard is relegated to just edit inserted macros. Of course, it is still
possible to switch back to the system keyboard by horizontally swiping in
the text area.
o Added "Macro Insertion Point" option to the global settings. This option
controls the location of the insertion point when a macro is inserted
into the text using the macro keyboard. The available options are "Context
Dependent" (default), "Beginning", "Middle", and "End". The "Beginning",
"Middle", and "End" options specify the insertion point to be the beginning,
middle, or end of the macro text, respectively.
If the "Context Dependent" option is enabled, the insertion point is set
as specified by the string "\^" (without the surrounding quotes) in the
macro itself or, if the macro does not contain an instance of "\^", after
the first "(", first space, first newline, or at the end of the macro, in
that order. The following examples illustrate this, where "^" denotes the
insertion point.
Macro Text Insertion Point Location
----------- ------------------------
f(x) := \^ f(x) := ^
plot( , x); plot(^ ,x);
begin \nend; begin ^
end;
begin\nend; begin
^end
INFINITY INFINITY^
o Implemented LOADOVL function that loads the overlay specified in the Alpha
register. To remove the existing overlay, specify an empty overlay name
(i.e. empty Alpha register). Overlay names are treated as case insensitive
and must be 24 characters or less.
o Added ability for SAVTXT, SAVREG, and SAVFLG functions to overwrite saved
files by setting user flag 10. If flag 10 is clear, attempting to overwrite
a saved file results in the "DUP FL" error as before.
o Added pagecolor(), color(), and defcolor() commands to the CAS
environment. The pagecolor and color commands accept any one of the 68
standard color names defined by dvips(*) or a custom color name defined using
defcolor(). The names must be specified as strings (i.e. "color name").
pagecolor() specifies the background color and color() specifies the text
color for input text (when the "echo" switch is on) and error messages, if
any, in fancy output. defcolor() takes four arguments:
defcolor(colorname, red, blue, green),
where colorname is the name of the color as a string and red, blue, and green
are integers in the range [0, 255]. For example, defcolor("PureRed", 255,
0, 0) would specify a 100% red color. defcolor() must precede the use of the
defined color in the file. The calculator display foreground and background
colors are pre-defined as "i41CXForegroundColor" and "i41CXBackgroundColor",
respectively.
The following is an example to generate a fancy CAS output file with a light
blue background, red input text, and black output.
defcolor("lightBlue", 237, 243, 254);
pagecolor("lightBlue");
color("Red");
fancy_output();
.
.
.
The default colors are white background and black text, as before. Output
is hard-coded to black and cannot be changed at this time.
Note that in the event that you inadvertently specify psychedelic colors,
there is no need to re-run CAS. Simply edit the CAS output file with
I41CXED and correct the color specifications of the appropriate command(s).
(*) Please see http://en.wikibooks.org/wiki/LaTeX/Colors for the list of
supported color names.
o Added support for \pagecolor, \color, \textcolor, and \definecolor
in the I41CXED LaTeX rendering engine. The supported color specification
for \definecolor is RGB. Therefore, colors must be specified in the range
[0, 255].
o Added ability to search for text in I41CXED. To perform a search, tap the
magnifying glass icon at the top left of the I41CXED view, enter the text
to search for, and tap the keyboard's "Search" button. Searches are
performed starting at the last active cursor location or at the beginning of
the text if the text hadn't been edited yet. Searches wrap around to the
beginning of the text if the end of the text is reached.
o Added ability to search the "Usage & Example", "Quick Reference Guide", and
"CAS Quick Reference" tables. To initiate a search, tap the magnifying glass
icon at the top left of the table. Tap the magnifying glass icon again to
dismiss the search bar when done.
o Added "Horizontal Swipes" option to the global settings. This option
specifies the action invoked by horizontal swipe gestures in the display
area of the calculator and the inactive areas of the printer screens. The
available options are "Disabled", "Calculator <-> Printer" (default),
"SST/BST (Single)", and "SST/BST (Repeat)". If either of the "SST/BST"
options is selected, right and left horizontal swipes in the calculator
display area are equivalent to pressing the SST and BST keys, respectively.
If the "SST/BST (Repeat)" option is selected, the SST/BST action will be
repeated until the finger is lifted from the screen. While a repeat action
is active, reversing the swipe direction also reverses the action. For
example, if a right swipe gesture originates in the center of the display,
SST will be pressed repeatedly while the finger is held down in the right
half of the display but if the finger is moved to the left half of the
display, BST will be pressed repeatedly instead and vice versa. The SST/BST
options are particularly useful to step through programs. Due to technical
limitations of the HP-41, back stepping with BST is a much slower process
than forward stepping with SST. This is true regardless of whether the BST
key is pressed directly on the keyboard or dispatched via a swipe gesture.
This can be somewhat mitigated by increasing the calculator speed.
Note that unless "Disabled" is selected, horizontal swipes in the printer
screen always invoke switching between the calculator and printer screens.
o Added "Vertical Swipes" option to the global settings. This option specifies
whether vertical swipes in the display area of the calculator and the
inactive areas of the back screens invoke the front <-> back flip action.
o Eliminated the "Access Saved Files" option in the global settings. I41CXED
and CAS will now always look for the specified files in extended memory
first and if the files are not found, saved files will be used, if
they exist.
o Added "Create New Files In" option to the global settings. This option
specifies the location where I41CXED and CAS create new files. The available
options are "Extended Memory" and "Saved Files Directory".
o Added the following items to the "Usage & Examples" table.
- [I41CXED] How To Use
- [I41CXED] Keyboards
- [I41CXED] Macro Keyboard
- [I41CXED] Macro Insertion Point
o Added new "General" global settings category and reorganized existing
settings.
o Improved synthetic tones support.
o Bug fixes.
o Significantly reduced the application size (over 30% smaller than before).
================================================================================
4.2 Feature Upgrade Release 05/15/2010
o Added fancy_output command to CAS environment. Executing this command will
generate subsequent output in a format that can be viewed in a more natural
mathematical format with I41CXED. The fancy output can be emailed in LaTeX
format for final typesetting or for incorporating into other documents using
the "Mail" button in the fancy output viewer.
NOTE: fancy_output sets the calculator's flag 13.
As a side bonus feature, I41CXED can do basic rendering of LaTeX documents.
I41CXED will recognize a document that contains "\begin{document} É \end
{document}" (without the quotes) as a LaTeX document and display a
translucent button on the top right corner of the text window. Tapping the
button will render and display the LaTeX document.
o Implemented support for shake gesture to undo edits in I41CXED.
o Changes made with I41CXED are now automatically saved when it is dismissed
by tapping the "Done" button.
o Implemented ability to change the skin and LCD display style using the
Overlay picker.
o Implemented support for using swipe gestures to switch between calculator,
printer, and back views. Horizontal swipes are supported in the calculator
display area and inactive printer areas (i.e. areas without buttons, etc.).
Vertical swipes are supported in the calculator display area and inactive
back view areas.
o Added "Create Fancy Output" global option. If enabled, CAS output will be
automatically generated in the fancy format. Enabling this option is
equivalent to including "fancy_output;" at the beginning of CAS input
files. Fancy output can still be manually disabled in individual
CAS input files by using "off fancy;" (or "off fancy$").
o Added "Show Fancy Source" global option. If enabled, I41CXED will display
the raw fancy source generated by CAS rather than automatically rendering it.
In this case, I41CXED will display a translucent button on the top right
corner of the text window when it detects the raw fancy format. Tapping
the button displays the output in a more natural mathematical format as it
would be if the "Show Fancy Source" option was set to OFF.
o Added "Always Load gnuplot" global option. If enabled, the gnuplot package
will be automatically loaded every CAS session. Enabling this option is
equivalent to including "load_package gnuplot;" at the beginning of CAS
input files.
o Added "Default Plot Title" global option that can be used to replace the
default "i41CX+ Plot" title used in plots without specified plot titles. The
default plot title can, of course, be overridden be specifying a title in the
plot command with the title="
" argument.
o Added [HP-41] items, fancy switch, fancy_output command, sync_and_quit
command, quit_with_error command, and gnuplot package to CAS Quick Reference.
o CAS is now in sync with REDUCE 6.04.
o Interface tweaks and improvements.
o Internal optimizations to improve speed.
================================================================================
4.1.1 Maintenance Release 04/25/2010
o Fixed bug that prevented CAS plotting from working for some users.
o Minor interface improvements.
===============================================================================
4.1 Feature Upgrade Release 04/01/2010
o Implemented support for CAS plotting. The CAS optional package "gnuplot" is
now fully supported. This provides powerful 2D and 3D color plotting
capabilities. The generated plots are saved can be viewed or emailed with
I41CXED for viewing on larger screens and/or printing. The plot files are
generated in the SVG (Scalable Vector Graphics) format. Therefore, they are
resolution independent, allowing for crisp plots regardless of the display or
print resolution.
NOTES: 1) The default and only supported output type by the i41CX+ CAS
gnuplot package is svg. Attempting to set the output type to any
other format will be silently ignored.
2) The default plot file name is "CASPlot.svg". The output file name
can be changed using the output="" parameter of the plot
command. If the output file name is missing the .sag extension,
i41CX+ will automatically add it.
o Added "Overwrite Plots" global option. If enabled, CAS will overwrite any
existing plots with the same name as plot being generated. Otherwise, if a
plot of the same name exists, it won't be overwritten and an error will be
flagged.
o Enhanced I41CXED with the ability to view and email CAS plots.
o Added CAS plot examples to the Usage & Examples table.
o Added Dark Metal and High Tech skins, both featuring a modern style and large
buttons. In addition to the large buttons, the Dark Metal skin is unique
in that the button borders match the background color of the display, as if
they were backlit with the same light source as the display.
NOTE: Due to size constraints, the Dark Metal and High Tech skins are not
visually compatible with the bundled overlays. If you frequently use
overlays, we recommend either using other skins or creating your own
custom overlays.
o The typeface used when using the I41CXED Mail button now matches the font
style of the I41CXED window.
================================================================================
4.0.1 Minor Feature Upgrade Release 03/21/2010
o Added "Mail" button to I41CXED view to provide a quick and easy way to email
text files being viewed/edited.
o Added flag_reg() variable to CAS environment. This array contains the
values of the corresponding flags in the RPN environment. Flags 0-29 can be
modified in the CAS environment using this variable.
NOTES: 1) Flag changes made in the CAS environment are NOT reflected until
the active CAS session completes execution. For example, modifying
flag 13 in the CAS environment does not affect the output for that
CAS session and will only affect subsequent CAS sessions.
2) Changes to system flags (flags 30-55) are ignored.
3) Assigning non-numerical values to flags 0-29 results in DATA ERROR.
o Added quit_with_error command to CAS environment. Executing this command will
terminate the CAS session just like sync_and_quit but will also cause a CAS
ERROR.
o Bug fixes.
================================================================================
4.0 Major Feature Upgrade Release 03/15/2010
o Implemented Computer Algebra System (CAS) with the following capabilities.
- Expansion and ordering of polynomials and rational functions
- Substitutions and pattern matching in a wide variety of forms
- Automatic and user controlled simplification of expressions
- Calculations with symbolic matrices
- Arbitrary precision integer, real, and complex arithmetic
- Facilities for defining new functions
- Analytic differentiation and integration
- Factorization of polynomials
- Solving a variety of algebraic equations
- Facilities for the output of expressions in a variety of formats
The following are just a few simple examples to illustrate the capabilities
of the CAS system.
- Arbitrary precision, including complex numbers
Input: precision 20; 2.3^(5.6i);
Output: - 0.048079349091427726016 - 0.99884351937175055583*I
- Solve algebraic equation
Input: solve(x^2+8x+15=0,x);
Output: [X=-3,X=-5]
- Solve simultaneous equations
Input: solve([x+3y=7, y-x=1],[x,y]);
Output: [[X=1,Y=2]]
- Differentiate a function
Input: i=sqrt(-1); u:=(x*exp(i*y)*log(z)); df(u,x,1,y,2,z,1);
Output: i*y
- e
---------
z
- Integrate a function
Input: f:=x*exp(x); int(f,x);
Output: x
e *(x - 1)
- Matrix operations
Input: m:=mat((a,b),(c,d)); det(m);
Output: a*d - b*c
- Special functions
Input: load_package specfn; on rounded; zeta(4);
Output: 1.08232323371
The i41CX+ CAS function is part of the updated I41CX-MATH module and uses
text files as mini notebooks, similar to Mathematica. CAS performs the
operations in the input text file whose file name is specified in the Alpha
register. Upon completion, the CAS output is appended to the text file. It
is also possible to specify separate input and output files by entering the
input and output file names separated by a comma into the Alpha register
(e.g. "CASIN,CASOUT" without the quotes). To ignore the CAS output, an empty
output file name can be specified (e.g. "CASIN," without the quotes). This
is useful for cases where the CAS operations manipulate and place the
result(s) in calculator registers. Moreover, if the new "Access Saved Files"
global option is enabled, CAS will look for the specified file(s) in the
saved text files directory of your device (i.e. the items that show up in the
Load Data picker) if a specified file is not found in extended memory. This
allows the use of a large CAS input file or the generation of a large CAS
output file that won't fit in extended memory. Saved text files can be
edited/viewed using the new I41CXED text editor function.
By default, the CAS output is converted into uppercase letters to allow it to
be viewed in the i41CX+ calculator display (using ED, for example). The
conversion to uppercase can be disabled by setting flag 13. In either case,
the CAS output is best viewed using the I41CXED text editor function or
emailed using the MAILTXT function since the vast majority of cases will
involve long output strings and in many cases spanning multiple lines that
are difficult to view using the 12 character calculator display.
The i41CX+ CAS environment provides complete access to the calculator
registers. They can be accessed within the CAS environment using the
following variables.
X: x_reg
Y: y_reg
Z: z_reg
T: t_reg
L: l_reg
A: a_reg
Rnnn: data_reg(nnn)
Any changes made to these variables in the CAS environment are reflected in
the calculator registers upon completion of the CAS operations. To maintain
data typing intact between the calculator internal registers and the CAS
environment, strings in the calculator register variables in the CAS
environment need to be surrounded with double quotes (e.g. if a register
contains the string ABC the corresponding variable will contain "ABC"
instead of just ABC) and non-normalized numbers (NNN) are treated as strings
(e.g. if a register contains 0xaabbccddeeff, the corresponding variable will
contain "0xaabbccddeeff").
Upon completion, the values of the calculator registers are updated based on
the values of the variables in the CAS environment. Therefore, to write a
string to a calculator register in the CAS environment, include the
surrounding double quotes as part of the string (e.g. to write the string
FOO, assign the corresponding variable in the CAS environment with
"""FOO""" so that the CAS variable contains the string "FOO") and if
you wish to assign a NNN to a calculator register in the CAS environment,
assign it as a string (e.g. to write 0x77665544332211 into a register,
assign the corresponding variable in the CAS environment with
"0x77665544332211").
The i41CX+ CAS function is based on version 3.8 of REDUCE, a system for doing
scalar, vector and matrix algebra, and arbitrary precision numerical
calculations. For details on the syntax, supported operations, functions,
packages, etc. please see the online REDUCE User's Manual at
http://reduce-algebra.sourceforge.net/manual/manual-pdf.html.
NOTES: 1) If you had the I41CX-MATH module loaded prior to applying this
update, please reload it using the module picker on the back view
of the calculator to activate the new CAS function.
2) I41CXED, PASTXT, CCD module, XTOA, or other means must be used to
enter parentheses, square brackets, and semicolons as these
characters cannot be entered using the standard alphanumeric input
keys.
3) Because the HP-41CX character set does not include curly braces
("{" and "}"), these are substituted by square brackets ("[" and
"]") in the i41CX+ CAS for both input and output. The new
"{ } <-> [ ] Conversion" global option can be used to automatically
make this conversion when importing/exporting and when using the
new I41CXED text editor. Enabling this option provides seamless
compatibility between REDUCE and the i41CX+ CAS.
4) The bye/quit command terminates the CAS session immediately and
without updating the calculator registers. Therefore, in general,
it is best to let CAS complete on its own without specifically
ending the session using bye/quit. If, however, it is desirable
to conditionally end the session based on calculation results, you
can use the sync_and_quit command. Executing this command will
terminate the session after updating the calculator register
values with any changes made in the CAS environment up to that
point.
TIPS: 1) A quick and efficient way to perform CAS operations is to use the
new I41CXED to pop up a text editor window, use it to write/edit
the CAS input, save the text file, execute the CAS function, and
use I41CXED again to view the results. The following is a short
program that can be used for this purpose. Note that this program
uses separate CAS input and output files.
01 LBL "DOCAS"
02 SF 25 ; Set flag 25 in case CASOUT does not exist
03 "CASOUT" ; CAS output file
04 PURFL ; Delete CAS output file if it exists
05 CF 25 ; Clear flag 25
06 "CASIN,CASOUT" ; Specify CAS input and output files
07 I41CXED ; Open text editor
08 CAS ; Execute CAS
09 "CASOUT" ; CAS output file
10 I41CXED ; View CAS output results with text editor
11 END
2) The default CAS output line width is set for optimal viewing
with the new I41CXED text editor based on the set font size.
The default output line width can be overridden using the
linelength operator. For example, "linelength 72$" sets the
output line width to 72 characters.
3) CAS output can be suppressed by using "$" instead of ";" to
terminate each operation. Thus, we recommend using "$" to
terminate intermediate operations and only use ";" to produce
the results of interest.
4) Open the CAS notebook file with I41CXED or with MAILTXT and turn
your device sideways to better view long CAS output in landscape
mode.
5) Use the "Colors" button in i41CXED to toggle between the system
and i41CX+ display color scheme.
6) Use the "text style" buttons in i41CXED to select either a
monospace or proportional font.
7) Use the "font size" buttons in i41CXED to decrease and increase
the i41CXED font size.
o Implemented 2 new functions:
- I41CXED: Edit text file specified in the Alpha register. I41CXED accepts
arguments in the "file1,file2" format used by the CAS function. If a
comma is present in the Alpha register, I41CXED uses the string up to the
comma as the file name (i.e. it will open the first filename).
TIP: The keyboard can be hidden by tapping the filename being edited that
is shown at the top center of the window. This provides access to
the font style, font size, and color controls that are otherwise
hidden when the keyboard is visible.
- SHOWPRT: Switch to the printer view. This is useful to signal either the
end of a plotting/printing program run or for a program to require the
user's inspection of the printer output. This function was actually
implemented in 3.1 and has been in the built-in Quick Reference Guide ever
since but it was inadvertently left out of the release notes.
o Added new "Skinny" skins created by Kim Hill. These skins should appeal to
purist users as they have a more genuine text aspect ratio.
o Sharpened Aluminum skin.
o Added CAS Quick Reference that is accessed by swiping past the standard
Quick Reference Guide view.
o Added Usage & Examples table that is accessed by swiping past the Registers
table. The Quick Reference Guide is now behind the Usage & Examples table.
The description cell contents can be copied by tapping the cell to select it
and then tapping the Copy button that appears.
o Renamed "Option Settings" view to "Frequently Used Options" to make it clear
that these are not the only options available. The full set of options are
available in the global Settings application.
o Added new "Text Editor and CAS" section in i41CX+ section of the global
Settings application with the following options.
- "{ } <-> [ ] Conversion": If enabled, curly braces are replaced by square
brackets and vice versa for all import/export operations and i41CXED.
Enabling this option allows seamless sharing of source and output code
between the i41CX+ CAS and REDUCE.
- Line Length Warning: If enabled, the text color changes to a warning
color if any line exceeds the maximum character length (254) supported
by HP-41CX text files.
- Access Saved Files: If enabled, I41CXED and CAS will look for the specified
file in the saved text files directory of your device (i.e. the items
that show up in the Load Data picker) if the specified file is not
found in extended memory. This is useful if you wish to create a CAS
input file that won't fit in extended memory and to view CAS output in
a saved text file.
================================================================================
3.5 Major Feature Upgrade Release 2/20/2010
o Implemented 2 new functions:
- COPYTXT: Copy the contents of the specified extended memory text file into
the clipboard.
- PASTTXT: Paste clipboard contents to specified extended memory file. If
the specified file does not exist, a new file is created with the contents
of the clipboard. If the specified file exists, the contents of the
clipboard are appended to the end of the file.
o Added support for using the traditional HP-41 "bbb.eee" format to specify a
range of registers to copy or mail with the COPYR and MAILREG functions. To
specify a range of registers, place the string "b.e" without the quotes in
the Alpha register and then execute the COPYR or MAILREG function. The
function will interpret the value in the X register in the traditional
bbb.eee format (e.g. 1.042 specifies registers 1 through 42) and use the
specified range of registers for the operation. Note that when using "b.e",
the register name labels are NOT included in the generated text. The text
will contain one register value per line. This is to make it easier to
transfer the values into a spreadsheet, for example.
o Added "Import from clipboard..." item to Overlay picker. This provides an
alternative way to import overlays in addition to downloading from a URL.
Valid images are 320x460 pixel images in PNG format. For example, this
feature makes it possible to import an overlay from an email.
o Added support for extended memory data files. All the operations supported
for other data types are supported: downloading, loading, saving, mailing,
importing from clipboard, and custom URL links. Extended memory data files
are associated with the new "DATA" data type image in the Load Data and Save
Data pickers and are recognized by a .DAT file extension when downloading
from a URL.
o Added support for extended memory program files. Extended program files are
distinguished from regular program items in the Save Data picker by the blue
"PROG" label (regular ones have a white "PROG" label) and are listed
following any text and data files. Extended programs can be emailed or saved
just like regular programs. The Load Data picker now shows all program files
under both white and blue "PROG" labels. If a program file is selected from
the white "PROG" label picker, it is loaded into main memory as before. If,
on the other hand, a program file is selected from the blue "PROG" label
picker, the program file is loaded into extended memory. In effect, the
white and blue Load Data "PROG" pickers select the destination of the program
file.
IMPORTANT NOTE: The same program files are shown in the Load Data white and
blue "PROG" lists. The white and blue labels merely specify the load
destination. The underlying files are one and the same. Thus, deleting a
file from the blue PROG listing will delete the item from the white PROG
listing as well and vice versa.
o Completely overhauled file load/save operations and handling of extended
memory files.
- It is now possible to overwrite extended memory files. Previously, i41CX+
would ask the user to delete the existing files or use a different name.
- i41CX+ will now check the first global label of programs when loading
them into main memory. Regardless of the program file name, when the
user attempts to load a saved program file, i41CX+ will check the first
global label in the program file against the first global labels of all
programs in main memory and notify the user if a program with the same
first global label exists. i41CX+ then provides the option to proceed
or cancel the operation.
- For extended memory file load operations, i41CX+ will use the file's name
for the extended memory file name if the file name conforms to the HP-41
file naming convention (1-7 characters with no commas). If the file name
does not conform to the HP-41 convention, i41CX+ will ask the user to
provide a valid file name when loading the file into extended memory.
Previously, i41CX+ would ask the user to delete the existing files or
use a different name.
The revised scheme makes it possible to use flexible file names for files
saved on the iPhone file system and going back and forth between extended
memory and the iPhone file system no longer requires first deleting files
when wishing to overwrite them. It is also possible to use the "invalid
name" exception handling to load the same files into extended memory under
different names.
o Added "Bauhaus Smooth" to the "LCD Display" global setting, a version of
"Bauhaus" without "cracks" between segments.
o Added 3 new skins: "Aluminum", "La Pomme", and "La Pomme Mies". While it
is a very non-traditional looking skin, the "Aluminum" skin is particularly
well suited for use under bright daylight conditions. The "La Pomme" skins
have large buttons and an uncluttered display area. We recommend setting
the "LCD Display" global setting to "Bauhaus" or "Bauhaus Smooth" when
using these new skins.
o Added "Quick Start" option to the global settings. Depending on the device
model and system load, enabling this option reduces the app launch time
by 25-50%. Note that while this option is enabled, the app ignores the
"Key Click Sound Type", printer "Volume Control", and "Ignore Mute Switch"
global option settings. These options are forced to "System", OFF, and OFF,
respectively, while "Quick Start" is enabled.
We recommend leaving this option disabled unless you are willing to
accept these limitations for a reduced launch time.
For most users we recommend the following tips to reduce the launch time
without incurring the above mentioned limitations. These tips slightly
reduce the launch time whether the "Quick Start" option is enabled or not.
- Leave the module ports empty before quitting the app so they'll be empty
next time it is launched. The effort to do this can be mitigated by
creating an empty modules configuration and a configuration with
frequently used modules. To save a configuration, use the "Save Data"
button and to load a configuration, use the "Load Data" button.
- If you don't use the i41CX+ specific extended functions (accelerometer,
GPS, import/export, mail, etc.), set the "Disable I41CX Module" to "ON"
in the global Settings application.
- Set the Printer "Power At Launch" to "Off" and "Start With New Roll" to
"ON" in the global Settings application. If you set the latter option,
please make sure to save any printer contents before you quit the app.
o Created new SandMath overlay and made cosmetic improvements to the 41Z
overlay. These can be downloaded from the i41CX+ overlay repository at
http://alsoftiphone.com/i41CXplus/Overlays/.
o Added copy and paste to the calculator information screen.
o Renamed "Suspend Enable" setting to "Sleep Enable" to make its purpose
more clear. As a reminder, this option controls whether all i41CX+
operations are suspended while the device is inactive (i.e. screen locked)
to minimize battery drain. This option is useful for users that leave
i41CX+ running (open) for prolonged periods of time. Conversely, disabling
this option allows programs to run, alarms to go off, etc. even after the
device/screen becomes inactive at the expense of reduced battery life.
o Bug fixes, internal code optimizations, and improved exception handling.
================================================================================
3.4.9 Maintenance Release 01/16/2010
o Fixed bug introduced in a recent update that under certain conditions could
cause flags 21 and 55 to not reflect the correct printer state.
================================================================================
3.4.8 Maintenance Release 01/07/2010
o Fixed bug introduced in a recent update that prevented i41CX+ from going to
sleep when the device is on standby mode. i41CX+ will now be completely
idle and consume no power when the device is on standby mode and the
"Suspend Enable" option is ON.
o Added the following "Tips and Tricks" items to the i41CX+ Mini-Manual.
- Expand the available memory and program in MCODE
- Unit conversions
- Take advantage of i41CX+'s non-modal design
================================================================================
3.4.7 Minor Feature Upgrade Release 12/04/2009
o Added new printer global setting called "Volume Control". If this option is
enabled, the volume of printer sounds is controlled by the "Sounds Volume"
slider. If this option is disabled, the printer sounds play at the device
system volume level as in previous versions. Note that regardless of this
setting, the printer sounds can still be independently muted using the
speaker button on the left side of the printer screen.
o Changed Vintage skin's default display colors to red foreground and black
background. Reminder: to use the default display colors for any skin, make
the Colors picker visible and shake the device.
o Added support for additional shake gestures:
- Remove the active overlay when the overlay picker is visible. This has the
same effect as selecting "No Overlay" in the overlay picker.
- Unload the active module from the selected port when the module picker is
visible. This has the same effect as selecting "No Module" in the module
picker.
o Fixed Financial MONEY overlay label typo.
o Minor bug fixes and internal code optimizations.
===============================================================================
3.4.5 Maintenance Release 10/30/2009
o Changed Mies skin's default display foreground color to white.
o Overhauled the calculator clock and stopwatch implementations to be more
accurate and power efficient.
o Updated audio subsystem to allow iPod audio playback to continue even when
the "Ignore Mute Switch" option is enabled (previously, iPod audio would
get paused when the application was launched with this option enabled).
o Internal optimizations and bug fixes.
===============================================================================
3.4 Major Feature Upgrade Release 10/06/2009
o Added 14 new functions to the I41CX MATH module.
- BETA: Beta function.
- DIGAMMA: Digamma function.
- EXPINT1: Exponential integral function E1.
- EXPINTI: Exponential integral function Ei.
- EXPINTN: Exponential integral function En of X, with n specified in Y.
- IBETA: Incomplete Beta function, IBETA = Beta_Z(Y, X).
- IBETAR: Regularized incomplete Beta function, IBETAR = IBETA/Beta(Y, X).
- IGAMMAL: Lower incomplete gamma function, gamma(Y, X).
- IGAMMAU: Upper incomplete gamma function, Gamma(Y, X).
- IGAMMAP: P(Y,X) = gamma(Y,X)/Gamma(Y)
- IGAMMAQ: Q(Y,X) = Gamma(Y,X)/Gamma(Y)
- LOGINT: Logarithmic integral function li.
- POCHHAM: Pochhammer's symbol (Y)_X.
- TOTIENT: Euler's totient function.
o Added "Mail" button to printer screen to mail printer output in text
format (same effect as executing the MAILPRT function).
o "Save" and "Mail" program operations now start at the first line of the
program with the associated label rather than at the line with the label.
o Changed mail formatting to use monospace font for data, program, and
printout content.
o The stack paste operations now fully support alphanumeric data
(previously, alphanumeric paste was only supported for X and A paste
operations). The supported clipboard formats are as follows.
- REG data file format
.
.
.
Example: X 12345
Y "ABC"
Z 67890
- Space delimited list of values
...
Example: 12345 "ABC" 67890
In both cases, only the provided values are pasted into the stack. For
example, if the clipboard contains only "Y 10" only the Y register's
contents are replaced and all other stack registers are unaffected.
o The "Save Data" picker program and text file items are now sorted
alphabetically.
o Improved exception checking and handling.
o Updated GCD and LCM functions to return error if the result exceeds 10
digits of precision.
o Updated calculator and printer information screens.
o Corrected stack behavior for I41CX functions.
o Bug fixes.
===============================================================================
3.3 Major Feature Upgrade Release 09/18/2009
o Added I41CX-MATH module with the following functions.
- 2^X: 2 raised to the power X.
- ACOSH: Arc hyperbolic cosine.
- ASINH: Arc hyperbolic sine.
- ATANH: Arc hyperbolic tangent.
- ATAN2: Angle between the positive x-axis of a plane and the point (X,Y).
- BESSJ0: Bessel function of the first kind of the order 0.
- BESSJ1: Bessel function of the first kind of the order 1.
- BESSJN: Bessel function of the first kind of the integer order specified
in Y.
- BESSY0: Bessel function of the first kind of the order 0.
- BESSY1: Bessel function of the first kind of the order 1.
- BESSYN: Bessel function of the second kind of the integer order specified
in Y.
- COMB: Combinations of Y elements taken X at a time.
- COSH: Hyperbolic cosine.
- ERF: Error function.
- ERFC: Complementary error function.
- GAMMA: Gamma function.
- GCD: Greatest common divisor of X and Y.
- ISPRIME: Test for primality and place result in X (0 = Not prime, 1 =
prime).
- LAMBW0: Principal branch of Lambert W function.
- LAMBW1: Alternate branch of Lambert W function.
- LCM: Least common multiple of X and Y.
- LNGAMMA: Natural logarithm of gamma function.
- LOG2: Base 2 logarithm.
- NEXTPRM: Least prime number greater than X (for X less than 9999999967).
- PERM: Permutations of Y items taken X at a time.
- SINH: Hyperbolic sine.
- TANH: Hyperbolic tangent.
NOTE: To prevent potential conflicts with other modules and user programs,
the i41CX-MATH module is not automatically loaded. It is available in
the module picker and must be loaded like any ordinary module into any
of the four module ports prior to use.
o Added "Import from clipboard..." item to Load Data picker. This provides
an alternative to import data/programs from the clipboard in addition to
downloading from a URL. For example, this feature makes it possible to
import data from an email. In effect, it allows any text editing
application (e.g. Notes, Mail, etc.) on the iPhone to be used as a
data/program editor for i41CX+. Tip: this can be achieved within i41CX+ by
executing the MAILA function to pull up the mail composition window,
selecting all the body text, deleting it, and then using the mail body area
to enter data, program, or text file information and then copying it into
the clipboard to subsequently import it into i41CX+.
o Added Mies skin.
o Added support for shake gesture:
- Restore default display color settings for the selected skin when the
display colors settings picker is visible.
- Restore default printer colors when the printer color picker is visible.
- Restore default calculator speed when the calculator speed slider is
visible.
o Added "None" option to global "Key Click Sound Type" setting. When this
option is selected, calculator key/button presses will be silent. Note that
this has no effect on the calculator sounds (e.g. BEEP and TONE). As
before, calculator sounds can be silenced by setting the "Calc Volume"
slider all the way to the left.
o Eliminated option to use combined load data picker.
o Cosmetic improvements to the display hue sliders.
o Bug fixes.
===============================================================================
3.2 Feature Upgrade Release 08/29/2009
o Implemented ability to independently configure the display foreground
(characters) and background colors. The HSL (Hue, Saturation, and
Lightness) sliders can be accessed from the overlay picker by tapping the
"Overlays/Colors" button that is located where the "LCD Contrast" was in
previous versions. The "LCD Contrast" slider is no longer available since
the same effect can be achieved using the HSL sliders.
o Added Bauhaus to the global LCD Display options.
o Renamed Light, Normal, and Bold LCD display styles to Classic Light,
Classic Normal, and Classic Bold, respectively.
o The LCD display style can now be configured independently from the
selected skin. The Bauhaus LCD segments can be used with other skins and
the Classic Light, Normal, and Bold styles can also be used with the Bauhaus
skin.
o Added HP-32 inspired Vintage skin.
o Changed "Web Page" button in "About" dialog that previously opened the
i41CX+ product page in mobile Safari to "FAQ Page" which now opens the
i41CX+ FAQ page.
o Changed default skin from Classic Rectangular to Neo Classic and updated
the start-up "LOADING ..." image accordingly.
o Added http://hp41.org/raw/ as the default download URL for the Load Data
button's "Download from URL..." item.
o Improved error handling. When a text format program import error occurs,
i41CX+ now reports the line number where the error was detected.
===============================================================================
3.1 Minor Feature Upgrade Release 08/11/2009
o Implemented PASTSTK function which pastes the contents of the system
clipboard into the stack registers (X, Y, Z, T, and LastX). The following
two clipboard content formats are recognized:
-
- ...
In both cases, only the provided values are pasted into the stack. For
example, if the clipboard contains only "Y 10" only the Y register's
contents are replaced and all other stack registers remain unaffected.
o Added support to interactively copy and paste stack contents by double
tapping the mini stack display area. Note that this is only available when
not in Alpha mode and only if the stack display is enabled. The COPYSTK and
PASTSTK functions work regardless of the display mode or whether the stack
display is enabled.
o Updated all I41CX functions to push up stack elements rather than replace
them.
o Minor printer screen interface changes and other cosmetic tweaks and
improvements.
o Internal bug fixes.
===============================================================================
3.0.2 Maintenance Release 07/31/2009
o Fixed program mail bug that under certain conditions could introduce
extraneous characters into text labels in the program.
o Modified text file list creation code to be more resilient to some
synthetic programming techniques such as the byte grabber.
o Internal bug fixes.
===============================================================================
3.0.1 Maintenance Release 07/22/2009
o Fixed MAILOVL bug.
o Fixed MAILPRT formatting problems.
o Internal bug fixes.
o Compiled for OS 3.0 and later.
===============================================================================
3.0 Major Feature Upgrade Release 07/11/2009
o Added new Bauhaus skin designed by Lewis M. Dickens III, Architect. Note
that the Bauhaus skin uses a custom LCD display font so the "LCD Display"
global option has no effect.
o Updated all mail functions to use the in-app mail composition scheme.
This allows mail operations to be queued and handled in the background,
thereby eliminating the need to relaunch i41CX+ after performing a mail
operation.
o Added copy and paste support. Double tap the LCD display area to
copy/paste data from/to the displayed contents (X and Alpha register are
both supported). Double tap the printer paper to copy its contents in
text format. Double tap the flags or registers table to copy its contents
in text format. For paste operations with the X register, if the
clipboard contains numeric data, the numerical value will be pasted into
the X register. Otherwise, up to the first 6 characters will be pasted
into X as Alpha data. For paste operations with the Alpha register, up to
the first 24 characters of the clipboard contents are pasted into the
Alpha register. If the Alpha register is in append mode, the paste
operation will append to the existing contents. Otherwise, the pasted
data will replace the Alpha register contents.
o Implemented 24 new I41CX functions:
[iPhone 3GS] - COMPASS: Obtain the magnetic heading and place it in
the X register. The heading is the angle starting at due north and
continuing clockwise around the compass (0 = north, 90 = east, etc. when
in degrees). The calculator's mode determines the units used for the
heading (degrees, radians, or gradients). The accuracy (in the same units
as the heading) is stored in the Y register.
- COPYA: Copy the contents of the Alpha register into the system clipboard.
- COPYFLG: Copy the flags table in text format into the system clipboard.
- COPYR: Copy the contents of the specified register (all if none is
specified) into the system clipboard.
- COPYPRT: Copy the printout as text into the system clipboard.
- COPYSTK: Copy the contents of the stack (X, Y, Z, T, and LastX) into the
system clipboard.
- COPYX: Copy the contents of the X register into the system clipboard.
- PASTEA: Paste the contents of the system clipboard into the Alpha
register.
- PASTER: Paste the contents of the system clipboard into the specified
register. If no argument is specified, the contents will be
pasted into the X register.
- PASTEX: Paste the contents of the system clipboard into the X register.
- GETCSPD: Get the calculator speed factor and place it in X.
- GSCRON: Enable graphics screen mode.
- GSCROFF: Disable graphics screen mode.
- GSCRCLR: Clear graphics screen.
- GSETSEG: Set graphics segments at position specified in X to value
specified in Y. Please see i41CX+ FAQ entry C16 for the
segment values.
- GGETSEG: Get the value of segments at position specified in X.
- GSETSTY: Set "stack Y" mini-screen contents to specified characters
(maximum of 6 characters) in A.
- GSETSTZ: Set "stack Z" mini-screen contents to specified characters
(maximum of 6 characters) in A.
- GSETSTT: Set "stack T" mini-screen contents to specified characters
(maximum of 6 characters) in A.
- GSETSTL: Set "stack L" mini-screen contents to specified characters
(maximum of 6 characters) in A.
- GGETSTY: Get "stack Y" mini-screen contents and place them in A.
- GGETSTZ: Get "stack Z" mini-screen contents and place them in A.
- GGETSTT: Get "stack T" mini-screen contents and place them in A.
- GGETSTL: Get "stack L" mini-screen contents and place them in A.
NOTE: Graphics mode is only available while running a program. Executing
graphics mode related commands have no effect in interactive mode.
o Implemented support for "turbo" program execution mode. The maximum
allowed limit of the SETCSPD command is now 40 (10x the regular maximum)
when executed in a program. If set beyond the normal valid limit (4.0),
the calculator speed will revert back to the normal valid maximum limit
when the program stops running. This allows faster program execution.
However, note that this will also speed up key handling. Therefore, it
is imperative that the speed be throttled back to normal limits when/if
the program is handling user input.
o Added activity indicator feedback to all load operations (previously only
shown for program and text file load operations).
o Improved location service functions.
o Added global option to enable/disable I41CX module. This can be used to
deal with some rare conflicts between certain modules and the I41CX module.
o Made iPhone keyboard language selectable to allow users that use
non-alphabetic keyboards (e.g. Japanese) to be able to switch to the
English keyboard for alphanumeric entry.
===============================================================================
2.3 Feature Upgrade Release 06/19/2009
o Bug fixes.
o Fixed cosmetic issues in Modern skins.
o I41CX commands are now standalone functions and are individually listed
under CAT 2. The legacy scheme of specifying commands as arguments of
the I41CX function is also supported for backward compatibility purposes.
o Moved I41CX commands/functions into the Quick Reference Guide and
eliminated the I41CX Commands Guide.
o Implemented custom URL support for saving module and overlay files.
o Implemented 6 new I41CX module functions:
- MAILMOD: Mail specified module file.
- MAILOVL: Mail current overlay file.
- MAILA: Mail A register.
- MAILX: Mail X register.
- MAILSTK: Mail stack registers (X, Y, Z, T, and Last X).
- TIMZONE: Get system time zone information: abbreviated time zone name
in Alpha register, offset from GMT (without DST) in X, and DST
offset in Y.
o Updated MAILPRG and .TXT format program imports to recognize I41CX module
functions.
o Added global option to use system key click sound for key presses. This
is particularly useful for 1G iPod users because it is audible even
without the headphones. Note that changing the calculator volume slider
in the overlay picker view has no effect on the volume of the system key
click sound.
===============================================================================
2.2 Feature Upgrade Release 05/29/2009
o Bug fixes.
o Added support for downloading, loading, saving, and mailing text files
with .TEXT extension. Note that .TXT is reserved for user program files.
Text files must have a .TEXT extension to be recognized as text files.
o Added support to mail state and configuration files and share them with
other i41CX+ users via the custom URL feature.
o Implemented six new i41CX function commands:
- SAVTXT: Save specified text file.
- LOADTXT: Load specified text file.
- MAILTXT: Mail specified text file.
- MAILCFG: Mail current configuration.
- MAILSTA: Mail current state.
- MAILPRT: Mail printer output in text format.
o Improved accuracy of location services commands. Note that this can
result in longer times to acquire the location information than in
previous versions.
o Updated CURRLOC and CURRALT commands to provide accuracy of the location
information. CURRLOC provides the radius of uncertainty for the location,
measured in meters, in the Z register and CURRALT provides the accuracy of
the altitude value, measured in meters, in the Y register.
o I41CX function is now printer aware. It prints out results if the printer
is turned on.
o Streamlined Save Data picker items and changed its toolbar buttons to make
its operation more clear.
o Updated Load Data picker to display "Download from URL..." only for
supported data types. The functionality when selecting the "Download from
URL..." item remains the same: all supported data types at the URL will be
downloaded unless the URL points to a specific data file.
o Added visual feedback when loading and saving programs and text files.
===============================================================================
2.1 Feature Upgrade Release 05/15/2009
o Bug fixes.
o Implemented two new i41CX function commands:
- MAILPRG: Mail user program using syntax: MAILPRG .
- MAILHEP: Mail HEPAX RAM contents.
o Updated MAILREG command to accept an optional argument in the Alpha register
specifying the register to mail. If no argument is specified, the behavior
is to mail all allocated registers. Valid arguments are X, Y, Z, T, LASTX,
A, and Rnnn.
o Added option to email HEPAX RAM contents to Save Data picker.
o Implemented custom URL scheme.
o Implemented support for saving registers, flags, programs, and HEPAX RAM
contents via custom URLs.
o Added custom URL links to all mails generated by i41CX+. This greatly
simplifies sharing of i41CX+ data with other i41CX+ users. The
recipient(s) can now directly save/import the received data/program into
their i41CX+ application(s) by simply tapping the links in the Mail
application without having to place the data on a web server.
o Compatibility with OS 3.0.
===============================================================================
2.0 Major Feature Upgrade Release 05/06/2009
o Implemented new I41CX function that performs different operations
depending on the command supplied in the ALPHA register when it is
executed. The first version of the function supports the following
commands.
- RANDOM: Obtain cryptographically secure random number in the range [0,1]
and place it in the X register.
- ACCXYZ: Obtain the 3D accelerometer values and place them in the X, Y,
and Z registers. The accelerometer values are in units of g,
the acceleration constant of 9.80665 m/s^2.
- CURRLOC: Obtain the current latitude and longitude coordinates and place
them in the X and Y registers, respectively. The calculator's
mode determines the units used for the coordinates (degrees,
radians, or gradients).
- CURRALT: Obtain the current altitude and place it in the X register.
Altitude is given in units of meters above (positive) or below
(negative) sea level.
- CURRHDG: Obtain the current heading and place it in the X register. The
heading is the angle starting at due north and continuing
clockwise around the compass (0 = north, 90 = east, etc. when
in degrees). The calculator's mode determines the units used
for the heading (degrees, radians, or gradients).
- CURRSPD: Obtain the current speed and place it in the X register. The
speed is given in units of m/s.
- MAILREG: Mail registers; same as pressing the mail button in the
registers table.
- MAILFLG: Mail flags; same as pressing the mail button in the flags table.
- SAVREG: Save registers using syntax: SAVREG FILENAME; same as selecting
the "Save Registers..." Save Data picker item and entering
FILENAME into the dialog.
- SAVFLG: Save flags using syntax: SAVFLG FILENAME; same as selecting the
"Save Flags..." Save Data picker item and entering FILENAME into
the dialog.
- LOADREG: Load registers using syntax: LOADREG FILENAME; same as selecting
the FILENAME REG Load Data picker item.
- LOADFLG: Load flags using syntax: LOADFLG FILENAME; same as selecting the
FILENAME FLG Load Data picker item.
- SAVROLL: Save printer paper roll; same as pressing the Save button in the
printer. This function has no effect if the paper roll is empty.
- NEWROLL: Clear paper roll; same as pressing the New Roll button in the
printer.
- SETCSPD: Set calculator speed using the value in the X register. Valid
values are between 0.35 and 4.0 with 1.0 corresponding to the
default speed. Values outside this range are rounded up/down to
the closest values within the valid range. This function is
useful for speeding up calculation intensive portions of programs
and running interactive display intensive portions at the default
(or lower) speed.
- DWNLOAD: Download data using the first record in the specified ASCII file
as the download URL; same as selecting the "Download from URL..."
Load Data picker item and entering the first record of the
specified extended memory ASCII file as the URL.
NOTES: 1) The device's location services must be enabled in order for the
CURRLOC, CURRALT, CURRHDG, and CURRSPD functions to work. If
location services are not enabled, the OS will prompt the user to
enable location services in the Settings application. If the user
ignores the OS alert, i41CX+ will display UNAVAILABLE.
2) CURRALT, CURRHDG and CURRSPD are only supported on the iPhone 3G.
3) HEADING and SPEED are only supported on OS 2.2 and later.
4) The time to acquire location information can significantly vary
depending on network and/or GPS satellite reception strength. If
the acquisition is taking too long, the I41CX instruction can be
cancelled by pressing the delete/backspace or by pressing the ON
key twice. To avoid unnecessary power drain, location services
related commands are automatically aborted after 30 seconds if the
information could not be acquired in that time.
5) Any executing location commands are cancelled if the device goes
to sleep and "Suspend Enable" is enabled.
6) Use the "Sigma" character (SHIFT F) for "~" in URLs.
o Added I41CX Commands Guide behind the Quick Reference Guide.
o Modified the Load Data picker behavior to filter the picker list by data
types. This eliminates the need to scroll through a long list of items to
reach certain data types, particularly for users with a long list of
programs, etc. Users who prefer the 1.5 Load Data picker behavior with all
items combined in a single list can select that behavior by setting the new
"Combined Load Data" global option accordingly.
o Added support for loading and saving configurations. A configuration
specifies the loaded modules and their port locations and the selected
overlay, if any. This provides for a quick and easy way to switch between
different configurations for different purposes without having to
individually swap modules and overlays.
o Added support for the HEPAX module.
NOTES: 1) While HEPAX is loaded into a module port, its module name in the
picker list will be grayed out and selecting it will have no effect
to prevent it from being loaded into multiple ports.
2) The HEPAX module has port loading rules that must be followed to
avoid erratic behavior. Please consult its manual for details.
3) The HEPAX RAM contents are automatically saved when the HEPAX
module is removed from a port and when the application is quit. To
clear the HEPAX RAM contents, please use the appropriate HEPAX
functions.
o Added support for loading and saving HEPAX RAM contents. When HEPAX is
loaded into a module port, an item named "Save HEPAX RAM..." appears below
the "Save Configurations..." item in the Save Data picker. Select this item
to save the HEPAX RAM contents into files on your device just like
registers, flags, state, configuration, and program files.
o Added support for HEPAX memory modules (HEP-MEM and HEP-2MEM) which can be
used to increase the HEPAX RAM up to a maximum of 5,222 registers (HEPAX +
HEP-2MEM + HEP-MEM configuration). In practice, the vast majority of users
will have no need for these modules because the HEPAX RAM load/save
capability provides for virtually unlimited storage of HEPAX RAM contents.
In fact, using the HEPAX memory modules severely limit the ability to have
other modules loaded. They take up ports and in the case of the double
memory module (HEP-2MEM), it effectively occupies two module ports rendering
the port next to it unusable. Support for the HEPAX memory modules was
added primarily for completeness sake and for those very few users that may
enjoy seeing 5,222 available registers of HEPAX memory ;-). We recommend
that users utilize the RAM load/save capability for extra HEPAX storage
space instead of the HEPAX memory modules. Also note that HEPAX memory
module contents are NOT loaded/saved. The HEPAX RAM load/save feature only
applies to the HEPAX module's built-in RAM.
o Updated the contents of the modules repository at http://hp41.org/mod.
The newly added modules are: ALPHA, CCD-MODIFIED, HEPAX, HEP-MEM, HEP-2MEM,
and TOOLBOX.
o Added HEPAX HEXEDIT overlay.
o Fixed incorrect Survey CURVE and Structural SIMPLE overlay labels.
**** IMPORTANT ****
Your existing overlays will NOT be replaced by the new ones when updating
the application. This is to avoid replacing any overlays that you may have
customized. To get the new overlays, do either of the following:
1. Download the new overlays from
http://alsoftiphone.com/i41CXplus/Overlays. NOTE: This will overwrite any
existing overlays with the same names as the downloaded overlays.
2. Reinstall the application (i.e. delete the app on your device and then
sync with iTunes). NOTE: This will delete all existing overlays and
replace them with the bundled overlays.
===============================================================================
1.5 Major Feature Upgrade Release 03/21/2009
o Added ALPHA register to registers table.
o Added support for downloading programs in text format -- the same format
that i41CX+ uses to mail programs. This enables sharing programs with
other users and developing/editing programs on the computer without the
need to convert the mailed programs into RAW format using a third-party
utility. In conjunction with the program mailing feature, this also
provides for a simple means to manually back up your programs on your
computer (in addition to the behind-the-scenes backups made by iTunes
when syncing).
o Added support for downloading registers (.REG extension) and flags (.FLG
extension) data files from the web. The format for these files is the
same as the i41CX+ registers and flags tables mail formats. This
facilitates sharing register data and flag states with other users and
provides a simple means to manually back up the calculator data and flag
states on your computer (in addition to the behind-the-scenes backups
made by iTunes when syncing).
o Added support for loading and saving registers, flags, and calculator
states.
- The information saved for registers and flags is the same information
displayed in the respective tables in the back view of the calculator.
- The calculator state is a complete snapshot of the internal state of
the calculator. This feature can be used to keep multiple
configurations of the calculator for different purposes without having
to individually reload register data and programs.
o Program, registers, flags, and calculator states can be saved by tapping
the "Save Data" button on the back view of the calculator. Saved files
are loaded by selecting the desired file in the "Load Data" picker.
o Program, registers, and flags files can be downloads by tapping the "Load
Data" button on the back view of the calculator and selecting the
"Download from URL..." picker item. If a directory URL is given, i41CX+
will download all program, register, and flag files that it finds at the
URL.
o Updated contents of the modules repository at http://hp41.org/mod.
o Complete overhaul and redesign of all keyboard overlays with a unified
look and feel.
o Added four new overlays: Alarm Catalog, ALPHA Keyboard, ED Keyboard, and
NAVCOM.
o Modified behavior of dialogs that require optional user input (e.g.
download URL) to automatically reveal the keyboard.
**** IMPORTANT ****
Your existing overlays will NOT be replaced by the new ones when updating
the application. This is to avoid replacing any overlays that you may have
customized. To use the new overlays, do either of the following:
1. Download the new overlays from
http://alsoftiphone.com/i41CXplus/Overlays. NOTE: This will overwrite
any existing overlays with the same names as the downloaded overlays.
2. Reinstall the application (i.e. delete the app on your device and then
sync with iTunes). NOTE: This will delete all existing overlays.
===============================================================================
1.3.7 Minor Feature Upgrade Release 03/04/2009
o Added registers table that is accessed by swiping the flags view.
o Added options to email flags and registers table contents.
o Improved flags and Quick Reference Guide tables' responsiveness to scroll
gestures.
o Internal memory usage optimizations.
o Long overdue application icon name change to i41CX+.
===============================================================================
1.3.6 Minor Feature Upgrade Release 02/16/2009
o The switches to configure the Stack Display, Dynamic Overlays, and Suspend
Enable global options are now accessed by swiping the ED keyboard
(previously accessed by tapping the "ED" label).
o Added flags table that is accessed by swiping the options view.
o Added Quick Reference Guide that is accessed by swiping the flags view.
===============================================================================
1.3.5 Maintenance Release 02/04/2009
Minor bug fixes.
===============================================================================
1.3.4 Minor Feature Upgrade Release 01/14/2009
Added global option to ignore mute switch. When this option is enabled,
sounds are played through the speaker regardless of the mute switch setting.
Note that any other audio that is playing (e.g. iPod playback) will be
paused as soon as the application is launched when this option is enabled.
===============================================================================
1.3.3 Maintenance Release 01/12/2009
o Fixed bug that caused overlay to be displayed after a download completed
if dynamic overlays was enabled even if the calculator was not in USER
mode.
o Fixed bug that prevented the temporary display of the status bar if the
app was launched with the stack display disabled.
o Changed "Dynamic Overlays" to "Dynamic Overlay" to better reflect the
operation of the feature.
===============================================================================
1.3.2 Minor Feature Upgrade Release 12/19/2008
o Added switches to configure the Stack Display, Dynamic Overlays, and
Suspend Enable global options from within the application without having
to go to the global Settings application. To access these options, tap
the blue "ED" label of the ED keyboard on the back side of the calculator.
o Made overlay clip more prominent to make it more obvious that it is a
button and added i41CX+ logo
o Added modern skins by Antonio C. Lopez.
===============================================================================
1.3.1 Minor Feature Upgrade Release 12/07/2008
o Fixed in-call calculator information screen graphics.
o Added global option to enable glow effect as an alternative key press
feedback mechanism. This will be potentially useful to 1G iPod touch
users since the key press sound is not audible except through the
headphones.
===============================================================================
1.3 Feature Upgrade Release 11/30/2008
o Fixed toolbar button dimming bugs.
o Added support for skins. The first available skins are Classic (1.2.x
skin) and three skins by Antonio C. Lopez: Classic Rectangular, Neo
Classic, and Naked.
o Added different LCD display segment options: Light, Normal, and Bold.
NOTE: The "LOADING" image shown when the application is launched does not
reflect the skin, LCD, or stack display preference. The "LOADING" image
is hardcoded to the Classic Rectangular skin, light LCD display segments,
and no stack display for now.
o Completely overhauled the "ED" keyboard image on the back view of the
calculator.
o Added option to replace the status bar with a stack registers (Y, Z, T,
and Last X) display. To display the status bar when the stack display is
enabled, either tap the stack display area which will show the status bar
for ~3 seconds or access the back or printer screens which always display
the status bar.
o Changed print mode selection buttons' background color to light gray to
improve readability.
o Added support for in-call status bar.
===============================================================================
1.2.4 Minor Feature Upgrade Release 10/31/2008
o Changed overlay code to prevent issues in future updates. Unfortunately,
this will not rectify all lingering issues from the 1.2 update for all
users. Therefore, please do the following *after* updating to 1.2.4 to
avoid overlay problems in the future. Sorry for the inconvenience.
- If no overlays are listed in the overlay picker, please delete i41CX+
from your device and sync with iTunes to re-install it. Because only
overlays are affected by this issue, you can safely mail or print any
programs that you have entered before deleting i41CX+ such that you can
restore them later.
- If overlays are listed in the picker but selecting them has no effect,
please delete all the bundled overlays and re-download them from
http://alsoftiphone.com/i41CXplus/Overlays. Alternatively, delete
i41CX+ from your device and sync with iTunes to re-install it.
- if you experience neither of these symptoms, then your 1.2.4 update is
fine. No action is necessary.
o Added low calculator speed warning.
o Added global setting to suspend all operations while the device is
inactive to minimize battery drain. Note that time will still be
maintained with no power consumption impact because the app will determine
the time interval that it was inactive and adjust the time accordingly
when it resumes operation.
o Added global setting to specify default destination address for mailing
programs.
===============================================================================
1.2.3 Minor Feature Upgrade Release 10/28/2008
o Minor bug fixes to toolbar button dimming.
o Added overlay clip feedback sound.
o Added button to visit product web page to About dialog to make it easier
for users to navigate to either the product FAQ or Known Issues pages.
o Improved exception (e.g. HTTP error 404) handling for file downloads.
===============================================================================
1.2.2 Maintenance Release 10/23/2008
o Cosmetic bug fixes
o Fixed flickering of overlays when pressing certain keys with dynamic
overlays enabled.
===============================================================================
1.2.1 Maintenance Release 10/18/2008
o Fixed bug that prevented files with lowercase extensions from being
deleted when using "Delete Item"
o Fixed sound system to honor silent switch and not disrupt background music.
o Fixed sound system bug that caused the volume to get reset every launch.
o Added code to detect and fix corrupted 1.2 updates.
o Changed all toolbar buttons to dim when pressing them would have no effect.
o Added option for dynamic overlay display. When enabled, the selected
overlay is automatically displayed when USER mode is active and hidden
otherwise.
===============================================================================
1.2 Feature Upgrade Release 10/08/2008
o Fixed bug whereby entering a number immediately after launching the app
overwrote the previous value of the X register.
o Optimized memory usage.
o Major graphics overhaul. The calculator is now photorealistic.
o Major sounds system overhaul. Added volume control for calculator sounds
(key clicks, BEEP, and TONE).
o Slightly improved startup time.
o Added user submitted Advantage TVM overlay.
o Made cosmetic improvements to overlays.
o Added support for downloading and deleting overlays.
o The overlays that are bundled with i41CX+ and two blank overlays are now
available at the i41CX+ product web page . To create your own custom
overlay, download your preferred blank overlay (dark or light), edit in
your favorite graphics editor, save the edited overlay as a PNG with
transparency with a .png extension, and place it on your personal web
server to download and install it in i41CX+.
o Added option to mail programs.
===============================================================================
1.1 Feature Upgrade Release 09/27/2008
o Fixed bug in module loader/unloader that caused problems with certain
modules.
o Fixed bug that caused the following erratic behavior when executed with
the printer enabled
- PRFLAGS: Endless printing and missing flag numbers in output
- TIME: Result in X is 1/10 what it should be
- ASN: Calculator hangs when using an assigned key in USER mode to run
program that takes arguments from the stack
o Added About button and updated copyright notice.
o Added option for running calculator in CV mode.
o Added option to disable synchronization of calculator clock with the
iPhone clock.
o Added option to "maintain" time while i41CX+ is not running. When used in
conjunction with the iPhone time synchronization disabled, it effectively
allows the calculator to keep a separate time from the iPhone system
clock. Note, however, that alarms will not be triggered unless the
calculator is running because third-party application background processes
are not allowed on the iPhone.
o Added option to set the printer power state at launch (on, off, or
previous state). The default is set to off.
o Updated Forth overlay with an improved user submitted version. An option
to create and install custom overlays is planned for the next release.
o Added option to disable printout size warning.
o Added option to start with a new paper roll at launch.
o Added ability to delete modules and user programs.
o Added new key click sound and global setting option to use new or old
sound.
o Made the below application settings available in the iPhone global
Settings application
- Synchronize time with iPhone system clock
- Keep time between application launches
- CV calculator mode
- New key click sound
- Printer power state at launch
- Printout Size Warning
- Start With New Roll
o Unified look of pickers to be more consistent with the standard iPhone
user interface.
===============================================================================
1.0.1 Maintenance Release 09/09/2008
o Fixed cosmetic glitches in the printer and calculator information screens.
o Fixed bug that caused printer to not respond when starting up in TRACE
mode until the user switched to the printer view.
o Fixed time synchronization bug that caused the date to be off by 70 years.
This same bug prevented the user from manually changing the date or time.
o Improved robustness of periodic iPhone vs. calculator time drift
adjustment algorithm.
o Fixed bug that caused left justified lines to contain contents from
previous printed line.
o Fixed a bug that, under very specific user touch input conditions during
the printer <-> calculator animations, could cause the interface to hang.
o Reduced the normal key click sound volume by 30% per user feedback.
o Implemented progress bar for paper roll saves to prevent unsaved paper
rolls in case the user quits the application before the save has been
completed.
o Eliminated "over 200 printed lines" warning at launch time when over 200
printed lines are restored. The warning is now given only after the first
line is printed if the number of printed lines exceeds 200.
o Added option to turn printer on/off. The calculator runs slightly faster
with the printer turned off. Moreover, this option can be used to avoid
printer related conflicts. The state of the printer the first time the
app is launched is now off. Thereafter, the state of the printer power
is retained across application launches.
o Added Forth overlay.
===============================================================================
1.0 Initial Release to the iPhone App Store 08/27/2008
===============================================================================