================================================================================ i41CX+ Version History ================================================================================ 7.6.15 Maintenance Release 04/12/2024 o Minor bug fixes. ================================================================================ 7.6.14 Maintenance Release 11/28/2023 o Fixed bug introduced in previous update. ================================================================================ 7.6.13 Maintenance Release 11/21/2023 o iOS 17 compatibility fixes. ================================================================================ 7.6.12 Maintenance Release 10/12/2023 o iOS 17 compatibility fixes. ================================================================================ 7.6.11 Maintenance Release 10/09/2023 o Minor bug fixes and internal improvements. ================================================================================ 7.6.10 Maintenance Release 08/24/2022 o Minor bug fix. ================================================================================ 7.6.9 Maintenance Release 10/18/2021 o iOS 15 compatibility ================================================================================ 7.6.8 Maintenance Release 02/02/2021 o Minor bug fix. ================================================================================ 7.6.7 Maintenance Release 12/26/2020 o Updated to handle decimal separator (period or comma) based on the calculator's decimal separator setting (flag 28) when pasting numbers. ================================================================================ 7.6.6 Maintenance Release 12/06/2020 o Fixed visual glitches. ================================================================================ 7.6.5 Maintenance Release 11/17/2020 o Minor bug fixes. ================================================================================ 7.6.4 Maintenance Release 10/21/2020 o iOS 14 compatibility fixes. ================================================================================ 7.6.3 Maintenance Release 10/20/2020 o Minor bug fixes. ================================================================================ 7.6.2 Maintenance Release 10/09/2020 o Fixed display glitches on certain devices inadvertently introduced in 7.6.1. ================================================================================ 7.6.1 Maintenance Release 10/08/2020 o iOS 14 compatibility fixes. NOTE: The app now requires iOS 10.0 or later. ================================================================================ 7.6.0 Maintenance Release 03/14/2020 o Internal optimizations. ================================================================================ 7.5.9 Maintenance Release 02/02/2020 o Minor bug fix. ================================================================================ 7.5.8 Maintenance Release 01/25/2020 o Minor bug fix. ================================================================================ 7.5.7 Maintenance Release 01/16/2020 o Minor bug fix. ================================================================================ 7.5.6 Maintenance Release 01/11/2020 o Minor bug fix. ================================================================================ 7.5.5 Maintenance Release 10/29/2019 o iPad bug fixes. ================================================================================ 7.5.4 Maintenance Release 10/09/2019 o Fixed bug on iPad devices running iOS 10 or earlier. ================================================================================ 7.5.3 Maintenance Release 10/08/2019 o iOS 13 compatibility fixes. ================================================================================ 7.5.2 Maintenance Release 10/04/2019 o Fixed iPad version bugs. ================================================================================ 7.5.1 Maintenance Release 09/24/2019 o Fixed bugs introduced in the 7.5.0 update. ================================================================================ 7.5.0 Maintenance Release 08/27/2019 o Updated to support latest devices. o Significantly improved launch time. NOTE: The app now requires iOS 9.0 or later. ================================================================================ 7.4.9 Maintenance Release 06/28/2018 o iOS 11 compatibility fix. ================================================================================ 7.4.8 Maintenance Release 04/14/2018 o Fixed printer formatting bug. ================================================================================ 7.4.7 Maintenance Release 03/04/2018 o Bug and iOS 11 compatibility fixes. ================================================================================ 7.4.6 Maintenance Release 02/03/2018 o Fixed I41CX-MATH moduleÕs bug that caused incorrect print results in FIX 0 mode. ================================================================================ 7.4.5 Maintenance Release 09/20/2017 o Bug and iOS 11 compatibility fixes. ================================================================================ 7.4.4 Maintenance Release 09/08/2017 o Fixed bug that prevented saving the paper roll to the Photos album under iOS 10. ================================================================================ 7.4.3 Maintenance Release 07/22/2017 o Internal improvements. ================================================================================ 7.4.2 Feature Upgrade Release 07/02/2017 o Implemented option to fill the screen on iPad devices in portrait orientation. This can be controlled with the new Settings > General > Fill Screen in Portrait setting. o Fixed bug that caused widget to fail to load if ÒCV Calculator ModeÓ was enabled. ================================================================================ 7.4.1 Maintenance Release 04/30/2017 o Fixed bug introduced in the last update. ================================================================================ 7.4.0 Feature Upgrade Release 04/19/2017 o Added support for haptic feedback on supported devices. The feedback strength can be set using the new Settings > Calculator > Haptic Feedback setting. NOTE: In order to support haptic feedback, the app now requires iOS 8.0 or later. o Updated widget to support height expansion under iOS 10. o Internal optimizations and minor bug fixes. ================================================================================ 7.3.6 Maintenance Release 04/07/2017 o Extended memory export and import bug fixes. ================================================================================ 7.3.5 Maintenance Release 12/17/2016 o Minor bug fix. ================================================================================ 7.3.4 Maintenance Release 06/12/2016 o Fixed NEWROLL bug that could cause loss of printer output under certain conditions. ================================================================================ 7.3.3 Maintenance Release 03/22/2016 o Improved ROTXYZ accuracy. ================================================================================ 7.3.2 Maintenance Release 01/17/2016 o iOS 9.2 compatibility fixes. ================================================================================ 7.3.1 Maintenance Release 11/10/2015 o iOS 9 compatibility fixes. ================================================================================ 7.3 Feature Upgrade Release 10/02/2015 o Implemented new ROTXYZ function that obtains the 3D gyroscope values and places them in the X, Y, and Z registers. The calculator's mode determines the units used for the rotation rate (degrees, radians, or gradients) per second. o Implemented support to use global alpha labels if using quotes (e.g. LBL ÒAÓ becomes a synthetic global label whereas LBL A becomes a local label) when importing programs in text format. o iOS 9 compatibility fixes. ================================================================================ 7.2.1 Maintenance Release 07/02/2015 o Bug fixes. ================================================================================ 7.2.0 Feature Upgrade Release 06/11/2015 o Updated SHOWPRT function to support using flags 0-3 to specify the delay after which the app returns to the calculator view. If flag 0 is clear, the previously supported scheme applies (X <= 0: app remains in printer view, X > 0: the integral part of the X register determines the delay). If flag 0 is set, the app return to calculator view after a delay based on the states of flags 1, 2, and 3. The delay associated with each flag is as follows. Flag 1: 2 seconds Flag 2: 4 seconds Flag 3: 8 seconds Higher numbered flags take precedence. For example, if all of the above flags are set, the delay will be 8 seconds. If flags 1-3 are all clear, the app remains in the printer view. ================================================================================ 7.1.2 Maintenance Release 02/23/2015 o Minor bug fixes. ================================================================================ 7.1.1 Maintenance Release 01/25/2015 o Bug fixes and internal optimizations. ================================================================================ 7.1 Feature Upgrade Release 12/31/2014 o Implemented support for importing/exporting files from/to iCloud Drive on iOS 8 devices. o Bug fixes and internal optimizations. ================================================================================ 7.0.2 Maintenance Release 12/07/2014 o Increased maximum calculator speed boost. The SETCSPD function now supports a maximum value of 100. Note that whether the speed boost factor is actually achieved depends on the device hardware and how busy the device processor is. o Fixed iCloud sync issues under iOS 8. o Bug fixes and internal optimizations. ================================================================================ 7.0.1 Maintenance Release 11/02/2014 o Restored compatibility with iOS 5.1.1. o Minor visual improvements to Notification Center widget. ================================================================================ 7.0 Major Upgrade Release 09/24/2014 o i41CX+ can now be accessed as a widget in the iOS 8 Notification Center! Your favorite calculator is now just a down swipe away from anywhere in iOS 8 so you can view and copy the most recent stack register values, perform simple RPN calculations, or use the full calculator without having to open the app! Best of all, the widget and the app share the same data and settings so the two are always in sync. The default widget shows the most recent stack register values. The widget type can be configured using the new "Widget Type" option in the app settings. Note that this setting is only available from within the app and not from the global Settings app. Single tapping a stack register item or the calculator's X display area copies the corresponding value into the clipboard. Double tapping any stack register item or the calculator display area opens the app. NOTES: 1. Due to the constraints of the Notification Center environment (the inability to scroll, use the system keyboard, available memory, etc.), the printer, back view, mini controls, I41CXED, and CAS are not available in the widget. However, if the printer was active in the app, the widget can continue to use the printer and the results will be visible in the app. Moreover, data files can still be accessed using the corresponding load/save functions (e.g. LOADTXT, SAVTXT), and the widget has access to the functions of any modules that are loaded into the app's module ports. 2. Changes to app settings in the global iOS Settings app have no effect on the widget. Moreover, if the widget is used, it will override any changes made in the global iOS Settings app. Therefore, if you use the widget, we recommend making all app setting changes in the app itself as those will be reflected in the widget. If you don't use the widget, changes in the global Settings app will continue to be reflected in the app as before. 3. If the widget is used, the app syncs its state with the widget when it is next launched or resumes running from the background. If "Background Refresh" is enabled for the app, the app can sync with the widget while the app is in the background, thereby reducing the time it takes the app to resume running from the background. Therefore, if you use the widget frequently, we recommend enabling background refresh for the app as this will have negligible impact on battery life but reduce the time that it takes the app to resume from running in the background after the widget is used. o iOS 8 sound system compatibility fixes. ================================================================================ 6.3 Maintenance Release 09/24/2014 o Optimized for iOS 8. ================================================================================ 6.2.6 Maintenance Release 09/02/2014 o Fixed bug that caused changes to HP-41 registers made in the CAS environment to not be correctly reflected in the HP-41 environment under certain conditions. o Minor bug fixes. ================================================================================ 6.2.5 Maintenance Release 06/11/2014 o iOS 7.1 compatibility fixes. ================================================================================ 6.2.4 Maintenance Release 03/27/2014 o Fixed incorrect overlay image size check when attempting to import an overlay from the clipboard on iPad devices. ================================================================================ 6.2.3 Maintenance Release 03/11/2014 o Minor iOS 7.1 compatibility fixes. ================================================================================ 6.2.2 Maintenance Release 02/26/2014 o Fixed I41CX-MATH module's ATAN2 function which computed atan2(x,y) instead of atan2(y,x). o Fixed visual glitches in I41CXED's macro key editing text field. ================================================================================ 6.2.1 Maintenance Release 01/11/2013 o Fixed bug introduced in a recent update that caused the status bar on iPads running iOS 6 and earlier to remain visible when the app resumes running after being in the background. ================================================================================ 6.2 Feature Upgrade Release 01/04/2013 o Updated registers and flags tables to automatically refresh in response to changes including during program execution. Previously, the tables were only updated when they became visible or were manually scrolled. Please note that to reduce the impact on battery life and to avoid flickering, updates are restricted to approximately once per second while a program is running. ================================================================================ 6.1.2 Maintenance Release 12/08/2013 o Improved module conflict handling. o Minor bug fixes. ================================================================================ 6.1.1 Maintenance Release 11/24/2013 o The URL scheme "http://" is now optional when using the "Download from URLÉ" facilities. If the scheme is not specified, it is now automatically added. For example, entering "www.hp41.org/mod" as the URL is equivalent to entering "http://www.hp41.org/mod". o Improved responsiveness of slider interface elements (calculator speed, calculator volume, etc.). o Fixed bug introduced in a recent update that prevented loading a CAS file into extended memory under certain conditions. ================================================================================ 6.1 Maintenance Release 11/18/2013 o Optimized for 64-bit devices. o Updated CAS to the latest version of REDUCE. IMPORTANT NOTE: Due to 64-bit support, this update requires iOS 5.1.1 or later. ================================================================================ 6.0.1 Maintenance Release 11/10/2013 o Minor bug fixes. ================================================================================ 6.0 Major Upgrade Release 10/24/2013 o Implemented native iOS 7 support. The app now fully adopts the iOS 7 style for the iOS interface elements while retaining the core HP-41 calculator interface elements as true to the original as previous versions. The app will look freshly new but yet familiar to existing users under iOS 7. The interface remains unchanged under iOS 5 and iOS 6. o Internal optimizations and performance improvements. IMPORTANT NOTE: This update requires iOS 5.0 or later. ================================================================================ 5.9.12 Maintenance Release 09/30/2013 o Yet more iOS 7 compatibility fixes. ================================================================================ 5.9.11 Maintenance Release 09/28/2013 o More iOS 7 compatibility fixes. ================================================================================ 5.9.10 Maintenance Release 09/27/2013 o Implemented support for voice dictation in Alpha register. o Improved compatibility with iOS 7. ================================================================================ 5.9.9 Maintenance Release 09/14/2013 o Updated to be compatible with iOS 7. o Fixed bug that caused LU-decomposed form matrix files to not load/save correctly. ================================================================================ 5.9.8 Feature Upgrade Release 09/11/2013 o Added support for Advantage Pac's Matrix extended memory files. Matrix files use a ".MAT" extension and are supported by all load/save and import/export facilities that support data files. o Added "Save Text Files In" to the "Calculator" section of the global settings that controls the location to use for saving text files. The options are "Text Files Directory" (default), "CAS Files Directory", and "Both". o Extended LOADTXT and SAVTXT functions to support CAS files and to provide the ability to load/save files using a different name. In addition to the previously supported single argument format for loading/saving text files, these functions now also support the following argument format: ,. For LOADTXT, the specifies either a text file or if prefixed with "CAS/", a CAS file. The optionally specifies the file name to use for the extended memory text file. For SAVTXT, the specifies the extended memory text file. The optionally specifies the name for the saved file. If the begins with "CAS/", the file is saved as a CAS file. If the is not specified, the file is saved as specified by the new "Save Text Files In" setting. If the is specified, it overrides the "Save Text Files In" setting. If the is unspecified, the loaded/saved file will be named using the name of the source file. Note that because a particular file extension is not enforced for CAS files, a text file extension is not automatically added when specifying CAS files. The specified file extension, if any, is used for CAS files. In addition to renaming files, this provides the ability to load files whose names are longer than the maximum extended memory file name length of 7 characters by specifying a different name that is 7 characters or less. o Minor bug fixes and internal optimizations. ================================================================================ 5.9.7 Maintenance Release 08/28/2013 o Implemented support for new i41CXED macro, "\cb" (without the surrounding quotes), that clears batch CAS output. o The "Download from URL..." items in the "Load Data" picker now selectively download only items of the selected type (PROG, REGS, FLAGS, TEXT, DATA) that are found at the destination URL. In addition, the app now remembers the previously entered URL for each data type. o Replaced "About" alert's "FAQ Page" button with "Feedback" button that creates an email draft addressed to our technical support address. o Added "About" section to the end of the in-app Settings with the app version and a button to create an email draft addressed to our technical support address. o Improved compatibility with the upcoming iOS 7. o Minor bug fixes and internal optimizations. ================================================================================ 5.9.6 Maintenance Release 08/21/2013 o Improved printer compatibility with certain modules. o Minor cosmetic changes to the Flags table. o Internal optimizations. ================================================================================ 5.9.5 Feature Upgrade Release 08/01/2013 o Implemented support for arrow keys in i41CXED. These can be enabled using the new "Arrow Keys" setting in the "Text Editor and CAS" section of the global settings. If arrow keys are enabled, a toolbar with the arrow keys is added above the active keyboard. Like the delete key, the arrow keys repeat for as long as they are held down. On the iPhone, the toolbar also includes an "Undo" button and a "Dismiss" button that can be used to dismiss the keyboard in lieu of tapping the title bar at the top of the screen. On the iPad, the toolbar also includes "previous word", "next word", "Undo", "Redo", "Home", "Up", "Down", and "End" buttons. o Improved i41CXED macro keyboard compatibility with iPad undocked and split keyboard configurations under iOS 5 and later. o Minor bug fixes and internal optimizations. ================================================================================ 5.9.2 Maintenance Release 06/28/2013 o Updated to support switching between printer and back views. Previously, switching to the printer view was only possible from the calculator view. Now, if the "Horizontal Swipes" setting is set to "Calculator <-> Printer", a horizontal swipe gesture can be used to switch from the back view to the printer and vice versa. The hardware/Bluetooth keyboard "(" key now also supports switching between the printer and back views. o Minor bug fixes, interface tweaks, and internal optimizations. ================================================================================ 5.9.1 Feature Upgrade Release 06/16/2013 o Implemented support to print the printer paper roll, i41CXED, and CAS plots to physical printers that support AirPrint. o Replaced i41CXED "Mail" button with "Action" button that provides the following options: Email, Copy, and Print. o Implemented support to display the full set of lowercase letters. This option is controlled by the new "Lowercase Letters" setting in the "Calculator" section of the settings. These characters can be entered using synthetic programming or using modules such as ALPHA, CCD and its variants, Sandbox, etc. o Added "Hardware Keyboard" entry to the "Usage & Examples" table. ================================================================================ 5.9 Feature Upgrade Release 05/26/2013 o Implemented support to operate the calculator keypad using a hardware/Bluetooth keyboard. With a few exceptions (see below), the hardware keyboard keys are mapped according to the ALPHA mode labels shown on the keypad. For example, 'K' is mapped to XEQ and shifted 'K' is mapped to SHIFT XEQ (ASN). Numerical and arithmetic operator keys are mapped directly. For example, the hardware keyboard sequence "6 return 7 *" calculates the product of 6 and 7. The exceptions to these rules are listed below. ! -> ON @ -> USER # -> toggle overlay/skin/display control panel $ -> PRGM % -> ALPHA ` -> SHIFT tab -> R/S ' -> VIEW/AVIEW return -> ENTER in normal mode, exit ALPHA in ALPHA mode > -> SST < -> BST { -> CLX/A shift N -> CAT shift K -> ASN in normal mode, append in ALPHA mode shift L -> LBL in normal mode, ASTO in ALPHA mode shift M -> GTO in normal mode, ARCL in ALPHA mode Q~Z, =, ?, :, space, and comma -> the SHIFT'ed functions on the labelled keys ( -> switch between printer and calculator views ) -> switch between calculator and back views & -> toggle printer on/off [, ] -> switch printer mode left, right | -> print ; -> paper advance _ -> tear paper roll } -> new paper roll o Implemented support to load and save key assignments. These work like other data types such as registers, flags, text, data, etc. using the "Load Data" and "Save Data" facilities, import from email attachment, etc. o Implemented module conflict detection. The app now alerts the user if a module cannot be loaded due to a conflict with an already loaded module. Modules with conflicts with loaded modules are now shown in a gray color. To find out what module an item has a conflict with, just tap the item. o Implemented support for advanced users to load modules into pages, instead of ports. This option can be enabled with the new "Use Module Pages" setting. If enabled, a new "Module Pages" table appears in the back view between the "Frequently Used Options" and "Flags" panels. To load/unload module pages, tap any of the module ports to reveal the module page picker. NOTE: When the "Use Module Pages" setting is toggled, modules are reloaded using the port configurations. Thus, "overloading" modules is only possible with "Use Module Pages" enabled. However, module page configurations are retained across app launches while "Use Module Pages" is enabled. o Bug fixes, internal optimizations, interface and visual improvements. ================================================================================ 5.8 Feature Upgrade Release 04/24/2013 o Added new "Cut" button to the printer that provides the ability to discard the portions of the paper roll above the paper cut line. The paper roll can now be scrolled all the way "back" (tapping the status bar is a short cut to quickly scroll "back") so that the paper roll can be cut anywhere. o Replaced "Mail" and "Save" printer buttons with "Action" button that provides the following options: Email, Copy as Text, Copy as Image, and Save to Photos Album. The paper roll can still be double tapped to copy the paper roll as text as before. o Added "Email Paper Roll As" global option that controls whether the printer paper roll is emailed as text, image, or both. The default is both. This option applies to both the new "Route" button email option as well as when using the MAILPRT function. o Replaced "New" printer button with "Delete" button. o Minor Usage & Examples content changes. ================================================================================ 5.7.5 Maintenance Release 03/29/2013 o Updated the display scheme handling for LED and Genuine skins. As a reminder, per request from the designer, the display color scheme and LCD font are fixed and cannot be changed while using an LED skin. The control sliders and LCD font selection become available when a non-LED skin is selected. Similarly, the display background color cannot be changed, the LCD font is limited to the "Classic" font, and the "Stack Display" is off while using the Genuine skin. Previously, any of these changes, even if they were in response to switching to an LED or Genuine skin, applied to skins selected thereafter. This was counterintuitive to some users. The behavior has been updated so that the display scheme will revert back to whatever the user selected before changing to an LED or the Genuine skin. In effect, the app will temporarily override, if necessary, the user's display scheme when an LED or the Genuine skin is selected and only LCD font, display color, and "Stack Display" changes explicitly made by the user will stick/propagate to all skins. o Visual tweaks and minor bug fixes. ================================================================================ 5.7.4 Feature Upgrade Release 03/24/2013 o Implemented support to interactively copy and paste programs by double tapping the display area while in PRGM mode. Copy places the current program into the clipboard in the same text format as when emailing programs. Paste works similar to the "Load Data" picker's "Import from clipboard..." item except that it directly loads the contents of the clipboard into the calculator's main memory bypassing the need to save the program into a file and then loading it. This provides a simple way to import and export programs from/to I41CXED or any other text editor. o Updated the SHOWPRT command to optionally hide the printer view after it is shown. If the integer part of X is greater than 0, the printer view will be hidden after the number of seconds specified by the integer part of X. Otherwise, the command just shows the printer view as before. o Updated the Quick Reference Guide to reflect the updated SHOWPRT command. o Implemented visual incompatibility check for the currently selected skin and overlay. If a potential visual incompatibility is detected, the app will alert the user once. Due to technical limitations, previously installed overlays and user generated overlays will trigger the visual incompatibility alert. Please kindly ignore it in this case as it will only be shown once. As a reminder, currently there are overlays available for the "standard" (Aluminum, Bauhaus, Classic, Dark Metal, Gris, La Pomme, Noir, Skinny, and Vintage) skins and their variants and the Genuine skin. o Visual tweaks. ================================================================================ 5.7.3 Maintenance Release 02/17/2013 o Visual tweaks. o Fixed bug that caused output formatting anomalies for I41CX-MATH functions in TRACE mode. o Resolved compiler induced crashes that could occur when performing CAS operations. ================================================================================ 5.7.2 Maintenance Release 02/10/2013 o Updated Quick Reference Guide. The built-in app exclusive I41CX module functions and commands are now marked "[I41CX]", similar to how the I41CX-MATH module functions are marked "[I41CX-MATH]". o Minor bug fixes. ================================================================================ 5.7.1 Maintenance Release 01/27/2013 o Minor bug fixes. ================================================================================ 5.7 Feature Upgrade Release 01/17/2013 o Added in-app access to all global Settings. On the iPhone or iPod touch, the settings can be accessed using the new "Settings" button on the back view. On 4" screen devices, the button is also available in the mini controls view, if enabled. On the iPad, the settings can also be accessed by tapping the new "Setting" button on the right side of the menu bar. o Added "info" button to the mini controls view that can be enabled on 4" screen devices. o Updated printer color controls to make them consistent with the display color controls. Note that although the new printer color controls uses the HSL color model, the programmatic printer color control using REG[SIZE-1] still uses the RGBA model. However, the alpha value (the least significant byte) is now ignored. o Bug fixes to the CAS defint package. ================================================================================ 5.6.1 Maintenance Release 01/06/2012 o Minor bug fixes. ================================================================================ 5.6 Feature Upgrade Release 12/28/2012 o Improved printer animation and sound effects. o Fixed bug that could cause app to crash when resuming the app from the background with a non-empty paper roll on iPad devices. o Minor bug fixes for iPad devices. ================================================================================ 5.5.4 Maintenance Release 12/15/2012 o Minor bug fixes. ================================================================================ 5.5.3 Feature Upgrade Release 12/06/2012 o Added Symmetry Determination and Linear Differential Equation Package, dimsym23, to the CAS environment. o Minor bug fixes. ================================================================================ 5.5.2 Maintenance Release 11/17/2012 o Fixed iCloud file sync bugs. ================================================================================ 5.5.1 Maintenance Release 11/09/2012 o Fixed bug that caused a blank calculator screen on iPad when the "Classic (No Stack)" skin is the active skin. ================================================================================ 5.5 Major Feature Upgrade Release 10/27/2012 o iOS 6 compatibility. o Full screen support for iPhone 5 and iPod touch 5th generation devices. o Added "Genuine" skin. As its name implies, this provides a genuine looking skin that is feasible for the first time due to the near perfect aspect ratio of the new 4" retina screen. This skin is available on all devices for the benefit of purist users :) but it is best suited for the new 4" screen devices. NOTE: The Bauhaus LCD font and stack display are not available with the "Genuine" skin. The classic LCD font weight can be changed, however. o Set the new "Genuine" skin as the default skin for fresh app installs on 4" retina screen devices. As always, the skin can be changed by tapping the "overlay clip" button labelled "i41CX+" that is located between the USER and PRGM buttons. o Implemented support for the option to use the extra screen real-estate on 4" retina screen devices as a new scrollable mini controls view above a legacy sized calculator view. The mini controls provide quick access to module ports, load and save data buttons, and calculator speed settings. They are essentially a simplified version of the most frequently used controls on the back view of the calculator. The mini controls can be enabled using the "Mini Controls" toggle switch in the "Frequently Used Options" section of the back view. The mini controls are exclusive to 4" retina screen devices and are disabled by default. o Added differential geometry and general relativity packages, redten and grg, to the CAS environment. Both packages can be loaded using the "load_package" command. o Created overlays optimized for the Genuine skin including "dark" and "light" blank templates that can be used to create your own custom overlays. The new overlays are available from the i41CX+ Overlays Repository (see below). o Created SandMath-IV overlay and updated 41Z overlay. These are available from the i41CX+ Overlays Repository (see below). o With the advent of devices with different screen resolutions, the number of overlays optimized to support all devices and different skins has caused their footprint to significantly increase over time. In order to reduce the app binary size (and hence download time and data usage impact) as well as the iCloud backup footprint, overlays are no longer bundled with the app. Please download the optimal overlays for your device and skin preference from the i41CX+ product home page at the below URL. http://alsoftiphone.com/i41CXplus/ Currently, there are overlays available for the "classic" skins (Bauhaus, Classic, Gris, Noir, Skinny, and Vintage) and their variants and for the new "Genuine" skin. These are all available for non-Retina (iPhone 3GS and earlier), Retina (e.g. iPhone 4 and later), and iPad devices. The direct download URLs for the recommended overlays for the various devices are as follows. Non-Retina iPhone/iPod touch devices: http://alsoftiphone.com/i41CXplus/Overlays http://alsoftiphone.com/i41CXplus/OverlayTemplates http://alsoftiphone.com/i41CXplus/Overlays_Genuine http://alsoftiphone.com/i41CXplus/OverlayTemplates_Genuine Retina iPhone/iPod touch devices: http://alsoftiphone.com/i41CXplus/Overlays_2x http://alsoftiphone.com/i41CXplus/OverlayTemplates_2x http://alsoftiphone.com/i41CXplus/Overlays_Genuine_2x http://alsoftiphone.com/i41CXplus/OverlayTemplates_Genuine_2x iPad devices: http://alsoftiphone.com/i41CXplus/Overlays_iPad http://alsoftiphone.com/i41CXplus/OverlayTemplates_iPad http://alsoftiphone.com/i41CXplus/Overlays_Genuine_iPad http://alsoftiphone.com/i41CXplus/OverlayTemplates_Genuine_iPad Overlays can be downloaded from within i41CX+ by tapping the "overlay clip" button located between the USER and PRGM buttons, selecting the "Download from URLÉ" picker item, and entering the download URL for the overlays optimal for your device and skin. o Bug fixes, visual improvements, and internal optimizations. ================================================================================ 5.2 Feature Upgrade Release 09/10/2012 o Added a new "Line Numbers" option to the "Calculator" section of the global settings. This setting controls whether line numbers are used when importing or exporting programs in text format. The default is to use line numbers. o Added support for recognizing card reader module functions (e.g. the HP-67/97 compatibility functions) when importing programs. o Updated program export to include the module name in the comment field for I41CX and I41CX-MATH functions. o Restored compatibility with iOS 3.x devices. o Bug fixes, visual tweaks, and internal optimizations. ******************************** IMPORTANT ************************************* Future updates will require iOS 4.3 or later. Therefore, we strongly encourage iOS 3.x users to update to this version ASAP. ******************************************************************************** ================================================================================ 5.1.1 Maintenance Release 09/02/2012 o Fixed bug that caused certain file types imported via iTunes file sharing to be imported into incorrect locations. ================================================================================ 5.1 Feature Upgrade Release 08/26/2012 o Removed speed boost restriction in normal mode. The GUI "Calculator Speed" slider on the back view of the calculator still maxes out at 4.0 to provide fine grain control of the calculator speed at low speed boost factors but the SETCSPD function now supports a maximum value of 50 and is effective in all modes. Note that whether the set speed boost factor is actually achieved depends on the device hardware and how busy the device processor is. o Corrected typo in LED skins. o Internal optimizations. ================================================================================ 5.0.3 Maintenance Release 07/12/2012 o Fixed table search issues introduced in recent update. ================================================================================ 5.0.2 Maintenance Release 06/29/2012 o Fixed bug that prevented the app from working on devices running iOS 3.x. o Internal optimizations. ================================================================================ 5.0.1 Maintenance Release 06/25/2012 o Fixed bug that caused the app to crash under certain conditions on devices running iOS versions older than 5.0. ================================================================================ 5.0 Major Feature Upgrade Release 05/05/2012 o Implemented support for syncing files and preferences with iCloud thereby providing seamless syncing across multiple devices. These are controlled by the following new "iCloud" settings in the global Settings. "Sync Files": Sync overlays, modules, and saved files. "Sync Preferences": Sync preference settings. "Update Notifications": If enabled, an indicator is briefly displayed to show when an iCloud sync related update has occurred. If access to iCloud takes unexpectedly long, a warning alert is shown. A success alert is shown after a warning alert when/if access to iCloud completes. NOTES: 1. The calculator and printer states are NOT synced via iCloud. This is to avoid potential inconsistencies and in consideration of the fact that users may have different usage profiles on different devices (e.g. iPhone vs. iPad). However, it is possible to sync the calculator's state by saving its state. Then that state file will become available via iCloud on all iCloud enabled devices where the state file can then be manually loaded, if and when desired. 2. iCloud related preferences are not synced across devices. This is to provide the ability to share essentially the same app setup across devices but still have different iCloud sync settings. 3. "Ignore Mute Switch", "Quick Start", and "Key Click Sound Type" preferences are not synced across devices in consideration of the fact that users may have different usage profiles on different devices (e.g. iPhone vs. iPad, home vs. office, etc.). o Files from iTunes file sharing are now imported while the app is active (in previous versions, files were only imported when the app was launched or it resumed running from the background). When files are imported from iTunes file sharing, an indicator is briefly displayed to show that an update has occurred. o Updated CAS Quick Reference Guide table with additional items and to improve readability. o Implemented support for more alternative function forms (e.g. X#0? for X!=0?) to increase compatibility when importing programs. o Visual tweaks and improvements. o Fixed graphical anomalies on the iPad when using certain skins. o Fixed graphical anomalies in several overlays. **** 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. The new overlay can be downloaded from the i41CX+ overlays repository at the below URLs. Standard iPhone/iPod touch: http://alsoftiphone.com/i41CXplus/Overlays iPhone/iPod touch Retina: http://alsoftiphone.com/i41CXplus/Overlays_2x iPad: http://alsoftiphone.com/i41CXplus/Overlays_iPad o Internal optimizations. o Reduced app binary size by ~25%. o Eliminated "Sleep Enable" option on devices running iOS 5 or later because Apple does not allow apps to remain active when the screen is locked under iOS 5 or later. The option remains available and functional on devices running iOS 3.x and iOS 4.x. ================================================================================ 4.9.8 Maintenance Release 03/06/2012 o Fixed bug that under certain conditions caused newly created plots to not be shown in the plot picker on the iPad. o Fixed bug that prevented CAS files from being imported properly via iTunes file sharing. ================================================================================ 4.9.7 Maintenance Release 01/30/2012 o Minor bug fixes. ================================================================================ 4.9.6 Maintenance Release 01/20/2012 o Fixed minor visual glitches that could occur when the app resumes running with changes to the status bar height (e.g. returning to the app during a phone call). ================================================================================ 4.9.5 Feature Upgrade Release 01/01/2012 o Implemented support to save and load I41CXED macro keyboard contents. This effectively enables the use of multiple macro keyboards and provides a simple way to use the macro keyboard configuration that is best suited for the task at hand. To save the current macro keyboard, tap the "Files" button in I41CXED, aim the right picker wheel to the "MACRO" item, aim the left picker to the "Save MacrosÉ" item, and then tap the "Select" button. To load a saved macro keyboard, aim the left picker to the desired item and tap the "Select" button. o Implemented support for importing certain file types from other applications (e.g. Mail, Safari, etc.) on devices running iOS 4.0 or later. The supported file types and their extensions are listed below. Modules: .mod Programs: .txt, .raw Text Files: .text Register Files: .reg Flag Files: .flg Configuration Files: .cfg HEPAX RAM Files: .ram State Files: .save Overlay Files: .png Data Files: .dat Plot Files: .svg I41CXED Macro Keyboard Files: .kbd This supersedes the custom URL scheme that allowed files to be imported from emails and web pages by tapping the "send to i41CX+" icon and provides a more versatile mechanism for sharing data with other i41CX+ users and for importing data from external sources. For example, to share your register values with another i41CX+ user, email the registers from i41CX+. The recipient can then import the file by tapping the attached file on their iOS device's Mail app and selecting to open the attachment in i41CX+. As another example, instead of using "Download from URLÉ" to import a file from a web page, you can simply navigate to the web page with Safari and tap the file and then select to open it in i41CX+. The custom URL scheme is still supported for backward compatibility and for devices running iOS 3.x. o Added support for selecting Times New Roman as the I41CXED font in addition to the existing Courier Bold and Helvetica choices. o Minor visual tweaks. ================================================================================ 4.9.2 Maintenance Release 10/29/2011 o More iOS 5 compatibility fixes. ================================================================================ 4.9.1 Maintenance Release 10/23/2011 o Added support for I41CXED macro keyboard delete/backspace key repeat. o Bug fixes. ================================================================================ 4.9 Maintenance Release 10/14/2011 o iOS 5 compatibility fixes. ================================================================================ 4.8.9 Maintenance Release 10/08/2011 o Added SandMath-II overlay. The new overlay can be downloaded from the i41CX+ overlay repository at the below URLs. Standard Resolution: http://alsoftiphone.com/i41CXplus/Overlays Retina Resolution: http://alsoftiphone.com/i41CXplus/Overlays_2x iPad Resolution: http://alsoftiphone.com/i41CXplus/Overlays_iPad o Minor bug fixes. ================================================================================ 4.8.8 Maintenance Release 9/18/2011 o Minor visual tweaks and bug fixes. ================================================================================ 4.8.7 Maintenance Release 8/03/2011 o Improved handling of certain CAS exceptions. o Eliminated trailing space characters in text representations of printer output. ================================================================================ 4.8.6 Maintenance Release 7/01/2011 o Fixed printer roll restore bug introduced in recent update. ================================================================================ 4.8.5 Maintenance Release 6/13/2011 o Fixed CAS multiplot bugs. ================================================================================ 4.8.4 Maintenance Release 5/29/2011 o Fixed bug that caused the overlay picker popover dismissal sound effect to play twice on the iPad. ================================================================================ 4.8.3 Maintenance Release 5/09/2011 o Fixed bug that prevented overlays from getting properly resized when the "in-call" status bar is active. ================================================================================ 4.8.2 Maintenance Release 4/26/2011 o Fixed bug that could cause app sounds to stop working under certain conditions when resuming the app after running certain apps (e.g. phone app). o Fixed bug that caused the "in-call" status bar to be hidden. o Fixed interface glitches and anomalies under certain conditions. ================================================================================ 4.8.1 Maintenance Release 4/10/2011 o Fixed bug that caused CAS plot commands to silently fail under certain conditions. o Minor internal bug fixes. ================================================================================ 4.8 Feature Upgrade Release 3/21/2011 ***************************** NEW in this release ***************************** - Support for CAS in/out/shut commands/operators - Support for copying and saving CAS plots to the device's Photos album - New printer cover appearance options - New skin without stack display for purist iPad users ******************************************************************************* o Added support for CAS in/out/shut commands. Files generated using the CAS "out" command can now be accessed via the new "CAS" Load Data picker type. Files without one of the already reserved extensions (TEXT, TXT, DAT, SAVE, RAW, REG, FLG, RAM, PNG, MOD, CFG) imported via iTunes file sharing are placed in the CAS directory and can be read in using the "in" command. Although a file extension type is not enforced for CAS files, we recommend the use of either .RED (i.e. REDuce) or .CAS to avoid clashes with other reserved file types. Moreover, while the CAS in/out/shut commands use case sensitive file names, we recommend using uppercase file names because of the Alpha register's inherent limitations with respect to lower case letter entry. Files in the CAS directory can be accessed with i41CXED by using the prefix "CAS/". For example, to edit a file named "IN.RED", enter "CAS/IN.RED" into the Alpha register and then execute the i41CXED function. The CAS function can operate on files in the CAS directory similarly. For example, to use "IN.RED" as the input file and save the output in a file called "OUT.CAS", enter "CAS/IN.RED,OUT.CAS" into the Alpha register and then execute the CAS function. Files in the CAS directory can be loaded into extended memory as text files using the "Load Data" picker's new CAS data type. The "Create New Files In" global setting has no effect when a new CAS file is specified. For example, if "CAS/NEW" is entered into the Alpha register and "NEW" does not exist in the CAS files directory, "NEW" will be created in the CAS files directory regardless of the "Create New Files In" global setting. To ensure compatibility with existing REDUCE files, the in/out commands ignore the "{ } Handling" global setting and operate as though it were set to "Use { }". Therefore, we recommend setting the "{ } Handling" global setting to "Use { }" if/when using in/out/shut commands. o Added support to copy and save plots and TeX output. Tapping the "Copy" or "Save to Photos Album" button in the action sheet transfers an image representation of the displayed contents of the viewer to the clipboard or the device's Photos album, respectively. Note that the copied/saved image is a representation of the visible contents of the viewer window, not the entire output (unless the entire output is visible). This provides the optional ability to copy or save an image of a portion of the output. Tapping the "Email" button works as before, and creates an email composition window with the TeX source or plot attached in SVG format. NOTE: Because the vast majority of iOS applications do not support vector image formats, plots saved to the clipboard and Photos album are saved as bitmap images. Emailed plots, however, are in SVG format which is a vector format that is resolution independent and hence can be resized in supporting applications without loss of detail or pixelation. o Added a new "Appearance" option to the "Printer" section of the i41CX+ global settings. This option controls the appearance of the printer covers as follows. "Normal" - This is the realistic printer cover appearance used in previous versions. "No Bottom Cover" - This eliminates the paper cover that sits on top of newly printed content, thereby providing full visibility of all printed lines. "Top Cover Over Paper" - This places the top cover over the printed paper roll, thereby dimming all printed lines except the most recently printed results. NOTE: The appearance has no effect on saved and emailed paper rolls. o Per purist users' request, added "Classic (No Stack)" skin for iPad which replaces the stack display with an authentic looking top. o Updated NNN and i41CXED warning colors to use either a triad or complementary color scheme (depending on the active display colors) to ensure high visual contrast regardless of the active display colors. o Eliminated unsupported "Stack Display" global setting on iPad's running iOS 4.2 or later. o Minor bug fixes. ================================================================================ 4.7.5 Feature Upgrade Release 02/06/2011 o Added new LED skins by Ricky Oh from www.3fishinatree.com. Five color variations are available: blue, green, grey, magenta, and red. Note that the display color scheme and LCD font are fixed and cannot be changed while using an LED skin. NOTE: Like the Dark Metal and High Tech skins, the LED 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 adjusted for the layout of the LED skins. o Internal optimizations and minor bug fixes. ================================================================================ 4.7.3 Maintenance Release 01/09/2011 o Fixed bug introduced in Version 4.7.1 that caused bogus error message when removing a module. ================================================================================ 4.7.2 Maintenance Release 01/06/2011 o Minor cosmetic fixes to some skins. ================================================================================ 4.7.1 Maintenance Release 11/24/2010 o Internal optimizations and iOS 4.2 compatibility fixes. ================================================================================ 4.7 Feature Upgrade Release 10/20/2010 ***************************** NEW in this release ***************************** - Interactive CAS mode improvements - Numerical keyboard for I41CXED ******************************************************************************* o Added support for a new macro that can be used to start a CAS session from within I41CXED and to batch process the entire contents of the I41CXED. Assigning "#CAS#" (without the surrounding quotes) to a macro button turns that button into a CAS execution key. Note that this works even if I41CXED was not opened as a result of running CAS in interactive mode (e.g. by executing CAS with the "CASFILE,," mechanism). Once a CAS session is initiated, the session remains active until either the I41CXED window is closed with the "Done" button or explicitly quit using the various CAS termination commands (e.g. sync_and_quit, quit_with_error, etc.). This feature can be used any time I41CXED is open. The first time the CAS button is tapped, an interactive CAS session will become active, just as if I41CXED was opened via an interactive CAS command. Thereafter tapping the CAS button can also be used to process the entire contents of I41CXED with CAS. In effect, if CAS is already active, the CAS button works as a "batch CAS processing" button. Batch executed results are appended to the end of the file surrounded by "%%% Begin CAS Results" and "%%% End CAS Results" so they can be easily located with a quick search. o Added the option to use a numerical keyboard in I41CXED that can be used in interactive CAS sessions to more efficiently enter numbers and perform quick arithmetic computations. o Added support for a new macro that can be used as a "silent" return without invoking CAS execution during interactive CAS sessions. Assigning "\r" (without the surrounding quotes) to a macro button turns that button into a silent return key. o Changed the way interactive CAS sessions are aborted. In the new scheme, tapping the "Abort" button while CAS is running will present a confirmation dialog before aborting the CAS execution and the I41CXED window will remain open allowing further text edits to the file to be made. If desired, another CAS session can be initiated using the CAS macro described earlier. o Added a new "Keyboard Configuration" option to the "Text Editor and CAS" section of the i41CX+ global settings. This option controls what keyboard(s) are enabled and how they are positioned relative to each other. o Added a new "Numerical" option to the "Default Keyboard" item of the i41CX+ global settings. o Added a new "Auto Show Plots" option to the "Text Editor and CAS" section of the i41CX+ global settings. This option controls whether newly generated and updated plot files are automatically displayed when running an interactive CAS session. Note that this option is ignored during batch CAS execution. o Added a new "Lowercase" option to the "Text Editor and CAS" section of the i41CX+ global settings. If enabled, CAS output will retain any lowercase characters. This is equivalent to setting the calculator's lowercase flag (flag 13). The difference is that this option only applies to CAS output whereas flag 13 applies globally (e.g. to printer output). This option makes it possible to keep flag 13 cleared for all other uses but generate lowercase CAS output. Note that interactive CAS output and the "Create Fancy Output" option (and its corresponding fancy_output command) are not affected by this option. Interactive CAS always retains lowercase characters and enabling the "Create Fancy Output" option automatically sets flag 13. o Replaced "{ } <-> [ ] Conversion" option in the "Text Editor and CAS" section of the i41CX+ global settings with "{ } Handling" in the "Calculator" section in order to make the handling of { } characters (the HP-41CX uses the ASCII codes for { } for the printer's pi and right arrow characters, respectively) that are used for CAS and LaTeX files global and more consistent. These options now apply for all text files, not just those in extended memory. The three available options are as follows. - "Use [ ] instead of { }" (Default) This option requires and uses [ ] characters instead of { } characters for all CAS input and output. This allows CAS input and output to be displayed in the calculator's built-in ED editor. Any { } characters saved, pasted, or loaded to a file in extended memory are converted to pi and right arrow characters, respectively. This effectively strictly enforces the HP-41 modified ASCII character set. - "Convert { } <-> [ ]" This option converts { } characters into [ ] characters when written to a file and [ ] characters are converted back to { } characters when read back, thereby allowing for REDUCE source code compatibility while also allowing them to be readable in the calculator's built-in ED function, albeit as [ ] characters. This is a compromise between the HP-41 character set and ability to use REDUCE source code with { } characters. - "Use { }" This requires and uses { } characters for CAS input and output and treats [ ] characters as separate characters thereby providing for full and complete REDUCE and gnuplot source code compatibility. Pi and right arrow characters in extended memory files are replaced by { } characters when reading/copying. { } characters in files saved/pasted to extended memory are treated as pi and right arrows in the calculator's built-in ED function. This effectively uses the standard ASCII character set and treats the HP-41 pi and right arrow characters as { } characters in I41CXED and CAS. Stated differently, if you frequently use ED but seldom use CAS, "Use [ ] instead of { }" is probably your best option. If you frequently use CAS but also want to access the files with ED, "Convert { } <-> [ ]" is probably your best option. If you frequently use CAS and seldom or never use ED, "Use { }" is probably your best option. Note that this option does not affect { } and [ ] characters in LaTeX files. { } and [ ] are both retained in this case (same as if the "Use { }" option was set). This is because LaTeX requires all four characters to function correctly. If you are upgrading from a previous version, the new "{ } Handling" setting will reflect your previous "{ } <-> [ ] Conversion" setting (OFF -> "Use [ ] instead of { }" and ON -> "Convert { } <-> [ ]"). Existing files in extended memory are unaffected by this update. However, if the "{ } <-> [ ] Conversion" setting was previously set to ON, any files saved on your device's flash memory that contain { } or [ ] characters will be affected by the newly converted "Convert { } <-> [ ]" setting. Therefore, if you have any saved files, you may want to configure the new setting to "Use { }" which will retain both { } and [ ] in existing files. o Replaced "Show Fancy Source" option in the "Text Editor and CAS" section of the i41CX+ global settings with "Auto Show Fancy". If this option is enabled, fancy output is now automatically rendered when it is generated in interactive CAS sessions, not just when the file is first opened. o Added support for CAS gnuplot package error messages. o Improved i41CXED undo/redo handling and added support for CAS output undo/redo using the standard shake gesture or using the dedicated undo/redo keys on the iPad keyboard. o The Flags, Registers, Usage & Examples, Quick Reference Guide, and CAS Reference Guide table jump buttons now respond to touch down rather than touch up events. o Minor bug fixes, internal optimizations, and interface tweaks. NOTE: A clarification regarding what some users have deemed as a plotting bug. CAS plot commands place their outputs in the active plot file. By default, this is the "CASPlot" file. The active plot file remains in effect until/unless a different output file name is specified or the output file is reset via the plotreset command. Thus, executing multiple plot commands without specifying different output plot file names results in a file that contains multiple plots. This is not a bug and is indeed the intended behavior. The reasoning behind this behavior is to easily allow the generation of plots with multiple functions. The following examples will hopefully illustrate this. 1. sin(x) and cos(x) in the active plot file (CASPlot, by default) plot(sin(x)); plot(cos(x)); 2. Two separate plot files plot(sin(x), output="sin(x)"); plot(cos(x), output="cos(x)"); 3. Clear output plot file and hence end up with just cos(x) plot(sin(x)); plotreset; plot(cos(x)); Note that the "Overwrite Plots" global setting needs to be enabled in order for this feature to work. Also, the range of plots can be set using the y=( .. ) option as illustrated in the following example. plot(tan(x), y=(-10 .. 10)); For more details on the plot command options, please see the REDUCE gnuplot package documentation at the following URL: http://reduce-algebra.com/docs/gnuplot.pdf. ================================================================================ 4.6 Feature Upgrade Release 9/23/2010 ***************************** NEW in this release ***************************** - Interactive CAS execution - External display mirroring [iPhone 4 and iPad] ******************************************************************************* o Added option to run CAS interactively. To do so, specify a text file followed by two commas in the Alpha register (e.g. "CASFILE,," without the quotes). When CAS is executed in this way, it will automatically pop up a I41CXED full-screen text editor window. Pressing return at the end of a line causes immediate execution of that line and the output is inserted at the current insertion point (i.e. immediately following the input line). Hence, it is also possible to re-use the output of previous computations for subsequent input. Just like when editing text files, the contents of the file are automatically saved, including any generated CAS output, when the I41CXED window is dismissed with the "Done" button. NOTE: When running CAS interactively, it is not necessary for the input/output file to exist a priori. If the file does not exist, it will be created automatically in the location specified by the "Create New Files In" global setting. o Added option to mirror display on external display connected via the dock port. If the external display has a resolution that exceeds the device resolution, the mirrored contents can be optionally scaled to fit the external display by setting the "Mirroring Scale to Fit" global option. Please note that due to iOS limitations, the external display's refresh rate is restricted to a low rate to avoid degrading the app responsiveness. The refresh rate will be improved if/when the iOS limitations are addressed by Apple. o Minor interface tweaks and bug fixes. ================================================================================ 4.5.1 Maintenance Release 8/31/2010 o Fixed bug introduced in 4.5 that caused the app to crash when newly installed or reinstalled on devices running OS 3.1.3 or earlier. ================================================================================ 4.5 Major Feature Upgrade Release 8/22/2010 ***************************** NEW in this release ***************************** - Optimized for iPad - Optimized for iPhone 4 Retina Display ******************************************************************************* o i41CX+ is now a universal iPhone/iPod touch and iPad application with the following iPad specific features. - High resolution graphics. - Support for all device orientations. Portrait orientations works in the same way as on the iPhone but with the ability to swipe in the black area surrounding the calculator view to switch to the printer (horizontal swipe) and back views (vertical swipe). In landscape orientation, both the printer and the calculator are displayed. To switch to the back view, use a vertical swipe gesture in the calculator display or tap the center of the calculator display as in the iPhone version. The printer and calculator locations can be switched by swiping horizontally in the calculator display or in the inactive printer area. The locations are remembered across rotation changes and subsequent app launches. - Quick access to module ports, load data, save data, information views, etc. via menu toolbar in all orientations. Tapping the top of the screen reveals the status bar and a menu toolbar for a few seconds. The menu toolbar provides access to nearly all of the back view functionality (module ports, load and save data, and the screens that are accessed by swiping inside the orange border frame). Hence, the back view is only necessary for the "About", "Clear Memory", and "Speed Slider" functions. - iPad optimized I41CXED user configurable macro keyboard with 24 buttons. Note that the "Stack Display" global setting has no effect on the iPad. The stack is always visible and the status bar is hidden until/unless tapped. o Added high resolution graphics for the iPhone 4 retina display, including all bundled overlays. **** 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, please do either of the following: 1. Download the new overlays from http://alsoftiphone.com/i41CXplus/Overlays_2x. 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. o Improved iTunes file sharing support to work around iTunes's current inability to handle subdirectories. i41CX+ will now move any items placed at the top level of the iTunes file sharing window into the appropriate locations when it first launches and when it resumes from the background. For example, placing a file called some.text in the top directory in iTunes, syncing, and then opening i41CX+ will cause that file to be moved into the TextFiles directory and thus show up in the "Load Data" picker. i41CX+ determines file types using the file extensions. The following is the list of extensions for each file type. File extensions are case insensitive. - Overlay: PNG - Program: RAW or TXT - Text File: TEXT - Data File: DAT - Module: MOD - Registers: REG - Flags: FLG - HEPAX RAM: RAM - Configuration: CFG - State File: SAVE - Plot: SVG o Consolidated and renamed skins. The Classic and Neo Classic skin families have been merged into one. The Modern Gris and Modern Noir skins are now named Gris and Noir, respectively. o Internal optimizations. ================================================================================ 4.4.2 Maintenance Release 8/04/2010 o Made SAVTXT, SAVREG, and SAVFLG functions aware of flag 14 (OVERWRITE). For backward compatibility purposes, these functions will continue to honor flag 10 as the overwrite flag as well. Unlike flag 10, however, flag 14 is automatically cleared when the calculator is turned off/on. SAVTXT, SAVREG, and SAVFLG will overwrite saved files if either flag 10 or flag 14 is set. o Fixed bug that could corrupt CAS plots under certain conditions. o Fixed bug that prevented macro keyboard buttons from being edited on iOS 4 devices under certain conditions. o Fixed bug that could cause sounds to stop working under certain conditions. o Internal optimizations. ================================================================================ 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="<filename>" 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 <Register Name> <Register Value> <Register Name> <Register Value> . . . Example: X 12345 Y "ABC" Z 67890 - Space delimited list of values <X Value> <Y Value> ... <LastX Value> 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: - <Register Name> <Register Value> - <X Value> <Y Value> ... <LastX Value> 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 <Program Name>. - 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 =============================================================================== Copyright 2008-2011 AL Software. All Rights Reserved.