4.6.5
2023-05-09
• Trigonometric mode indicators:
DEG, RAD, and GRD indicators are never shown in vintage mode.
In normal mode, the default setting DEG appears only on the high-contrast display.
• Obsolete mode changes involving "magic numbers" 19390104 and 19390105 have been removed.
• Fixed issues involving the R/S key.
4.6
2023-04-30
• Added a switch in Settings to set the calculator to vintage mode, simulating a real HP-25.
• If RPN-25 is set to vintage mode, shifted functions not available on a real HP-25 are not presented anymore.
• In RUN mode, holding SST or BST keys depressed now shows the current or previous instruction code, respectively, just like on a real HP-25.
• The DOW (Day of week) function doesn't require the display to be set to FIX 6 or higher anymore in interactive mode.
• If auto-running of a program is disabled (by setting flag 99), it may be re-enabled by saving Settings with Auto-Start set to ON (in addition to clearing flag 99 or turning power off and on.)
• Decimal point and thousands separator symbols are now set according to the iOS locale.
• In addition to sliding, the power switch may also be moved by double-tapping. A single-tap is ignored when the calculator is on.
4.5
2022-09-29
• Clock display (f- or g-PRGM/RUN) now shows the date in high-contrast mode.
• New instructions:
- HAPTIC f sets the haptic level of the iPhone to level f (1…3, 0 for no haptics)
- HAPTIC? returns the current haptic level (0…3)
„Sounds & Haptics“ / „System Haptics“ must be on in the iPhone's settings.
Bug Fix
• Issues with DOW function. Now works correctly for all Gregorian dates (Oct 15, 1582 and later.)
4.4
2022-08-18
• If high-contrast display is on, the mantissa of a number (g MANT) is now shown without thousands separators.
• Also in high-contrast mode, the DOW (day-of-the-week) function now shows the date as text, in addition to the day number.
• Pressing a User Key now clears any user message, just like pressing a regular key does.
• Added stack indirection (by prefixing stack register name with "i") when specifying values to show in MSG, MSGP, MSGS instructions.
• Numeric values in MSG, MSGP, MSGS instructions may now be forced to the FIX 0 format (by prefixing their name with "I").
• New instructions:
- FLOOR rounds down towards negative infinity.
- CEIL rounds up towards positive infinity.
– "BASE? b" (b = 2..9) tests if the positive integer part of X is a valid number in base b. If not, the next step is skipped.
– CF0to9 clears the flags F0 to F9.
– HIDE 41 and SHOW 41 controls the visibility of the flag 41 indicator.
- Convert between units of power (kW, mechanical horsepower hp, metric horsepower PS)
New Sample Programs:
• CODATA 2018
Allows easy access to 354 physical constants, along with their names. Easily adaptable for your own lookup tables.
• Boolean Functions and Base Conversions
AND / OR / XOR / NOT operations and conversions from any base to any other (base = 2 to 10)
• Mixing
Mix cold and hot liquids to obtain a specific amount of liquid at a specific intermediate temperature.
Bug Fixes
• Copy/paste in PRGM mode didn't work if high-contrast mode was turned on.
• Fixed issues with wrapping/unwrapping number literals followed by a CHS instruction.
• The sequence of digits defining a number with an exponent that is a multiple of 10 did not correctly translate into a literal.
4.3
2022-07-01
• Added large-digits, LCD-like high-contrast display option (triple-tap display to turn on and off).
• Nicer looking clock display with colons. To turn on, tap f or g, then tap the PRGM/RUN switch.
• New or changed instructions:
- HC DSP sets high-contrast display if x ≠ 0, standard LED display if x = 0.
- GET SEPS returns the thousands separators setting: 0 = OFF, 1 = ON
- SET SEPS sets the thousands separators setting: 0 = OFF, other = ON
- SPEC DSP displays up to 25 special characters in high-contrast mode
- CLOCK shows or hides the 12- or 24-hr real-time clock
- DATE shows clear-text weekday and date if high-contrast display is on
4.2
2022-06-04
• Quick Access to LBL, USR, and GTO/GSB
Tap the LG button in the program list view to quickly see all labels and User Keys in your program.
Double-tap LG to see all branches to labels.
Sort by step or item.
Double-tap an item to select the corresponding program step.
• User Keys may now have leading blanks
• Suppress Auto-Start of a program by setting flag 99 before importing
• New instructions:
- BACK s Go back s steps (s = 1..9)
- DEL Y Remove y, drop stack
- DEL Z Remove z, copy t to Z
- Y→ZT Copy y to Z and T
- Y→T Copy y to T
- Z→T Copy z to T
- PRGM Switch to PRGM mode
• New Sample Programs:
- 41-Terrestrial Geodetic Distance•
- 41-Giant Planets 2022•
- NPV & IRR• (for up to 92 cash flows)
- Solve for f/x)=0 Newton• (now with User Keys)
Bug Fixes
• Stopped instruction name from appearing below display when it shouldn't.
• Fixed display issues when running on an iPod touch
• Fixed instruction name SPEC VIS showing as SPEC DSP
4.1
2022-04-09
• MSG, MSGP, MSGS can show stack and register values below the display
• In the program listing, double-tap a USR instruction to quickly find its corresponding LBL (and vice versa)
• Change the program listing font with a simple tap on the new button "F"
• All of the flags F0 to F9 may now appear in the display, if set.
• When an error occurs, the stack display is automatically turned off.
• New instructions:
- P→S copies primary registers R0..R9 to secondary registers R.0..R.9 (R10..R19)
- SHOW STK and HIDE STK control the visibility of the stack in the display area
- SPEC DSP creates special displays, i.e. blank, all "-", or all "o"
- STEP VIS controls the visibility and mode of the program step indicator below the display
- FLAG VIS controls the appearance of flags F0 to F9 in the display
• Apply a filter to quickly find any program.
• Sample Programs may be hidden in the list of programs.
• New Sample Programs:
- _Demo 25• (showcases new features)
– Cost and Price Computations•
– 41-Sudoku Solver
– 41-Sudoku Puzzles
- 41-Discriminant of a Polynomial•
- 41-Garden-Hose Method•
• Sample Programs featuring User Keys are now identified by a trailing dot (•)
Bug Fixes
• User Keys were not responsive while the display showed the stack.
• In the program listing, wrapping a multi-step number like ". 0 0 5" into a single step would drop the mantissa.
• Program comment lines would behave oddly in some situations.
• Programs containing foreign characters in their name would not be auto-selected in the list of programs.
4.0
2022-01-24
• Introducing: User Keys
Enjoy the luxury of assignable user keys! Well-known as keys A through E from calculators like HP-65 and HP-67, these keys call subroutines in the user's program.
On RPN-25 CE, they come with a few twists:
- 5 key locations, positioned directly above the display
- Up to 15 keys when using f and g modifiers
- Each key may have a legend (1 to 6 characters)
- Unnamed keys, or keys named with a single underscore, are ignored.
- The legend and the operation associated with each key may be changed anytime, even by a running program.
- Direct and indirect subroutine calls
Check out the tutorial on the RPN-25 CE website!
• New Programs: TVM - Time Value of Money
- TVM 2d and TVM 2i demonstrate the use of user-defined keys.
- TVM 14B simulates a number of functions of the HP-14B Business Calculator.
(Make sure to add the new programs in the program file list.)
• New Setting: "Auto-Start on Program Loading"
- A program saved with the setting Auto-Start turned on will automatically run after loading.
- Perfect for setting up User Keys.
Bug Fixes
• Suppressed illegal key pairs: STO/RCL/GTO followed by EEX or R/S.
• The program step display is now turned off if power is off.
• If turned off, the program step display will not reappear on switching from PRGM mode to RUN mode.
• Pasting a program larger than 100 steps into the display in 99-step mode would cause a crash.
3.3
2021-11-30
• Data Files: Load register data from files without disrupting the currently loaded program.
• New sample program: "Travelling Salesman"; demonstrates the use of data files.
3.2
2021-10-05
• New functions: LambertW and LambertV (see website)
• New functions STO YZT, RCL YZT
Store and recall stack registers Y, Z and T. Useful for doing a calculation on the value in X without affecting the other stack registers.
• New comparisons: x≈y and x≈0 ("almost equal"). Execute next step if x is closer to y or 0 than 2E-9, otherwise skip next step.
• New instruction: CLRX. Executes CLX without disabling automatic stack lift.
• New sample programs: "Interest Amount & PMT" and "Discrete Fourier Transform"
Bug fix:
• Pasting a text listing, e.g. from Mail, into the display would fail on certain instructions.
3.1
2021-04-16
• The Julian Date conversion JDN now accepts a time value in Y. Invalid values for date and time are replaced by the current date and/or time. A negative date is treated as Julian, otherwise Gregorian.
• If vintage mode is turned on, NOP instructions that are targets of branch instructions are not automatically converted into LBL instructions.
Bug fix:
• Inserting a MSG instruction would cause a crash
3.0.1
2021-03-18
** 10 YEARS of CUVEE SOFTWARE SIMULATORS **
This is a big update of RPN-25 CE, celebrating the 10th anniversary of RPN-45 HD, the first in a series of simulators of famous HP calculators.
• 3.0.1: Fixes crash in PRGM mode when a GTO instruction addressed a step beyond the used program area.
• Now with symbolic labels 00..99 not tied to program step numbers!
Use the new _LBL, _GTO and _GSB instructions along with the regular GTO and GSB.
• Program memory can be allocated as either 99 steps or 999 steps (select in Settings)
• Single-step constants: to create, double-tap the first step of a multi-step constant definition.
Double-tap the constant to revert to the editable multi-step representation.
• User messages: display any message (up to 30 characters) right below the display. Optionally execute PAUSE automatically before the program continues, allowing the user to enter a value. Or stop program execution.
• Program comments: use any step to display free text in the program listing.
(Load program "41-Polynomials" to see an example.)
• Indirect branching to symbolic label stored in any stack or regular register
• Overflow on ∑+ and ∑- operations is now handled like on a real HP-25 (in vintage mode). Setting flag 41 simulates the HP-41's behavior, i.e. no program abort on overflow of a register.
• New instructions:
MSG, MSGP, MSGS: show user message below display
// text: add program comments
SKIP: skip the next 0 to 9 steps
GETPSE, SETPSE: read and set the PAUSE setting
END stops program execution w/o returning to step 0
JND returns the Julian day number of a date
DY2000 returns the number of days between a date and Jan 1, 2000
SND nn plays sound number nn (0..99)
ROUND n rounds x to n fractional digits (0..9)
DELAY: same as PAUSE but without flashing "PAUSE"
NUM2DIGS nn: decompose 10-digit mantissa into single digits at Rnn..Rnn+9
DIGS2NUM nn: create number from 10 digits stored in Rnn..Rnn+9
ISGi, DSEi: indirect versions of ISG and DSE
SFi N, CFi N, FS?i N: handle flags indirectly via stack register
ST41, RC41: store and recall the flag 41 status
x³ returns the cube of x
y^x{0} is the same as y^x, except that 0⁰ = 1
• Renamed INCR and DECR to x+1 and x-1.
• Long-press step number to show/hide the previously executed step.
• Entering a numeric value while a PAUSE is in effect restarts the pause with each keypress.
• New sample programs, most of them using symbolic labels:
- "41-Conics"
- "41-Stirling Numbers"
- "41-Stirling Numbers generalized"
- "41-Ramanujan Tau Numbers"
- "41-Multinomial Coefficients"
- "41-Fibonacci, Tri-, Tetra-, k-nacci"
- "41-Fibonacci Multiprecision"
- "41-Apéry's Numbers"
- "41-Cyclic Universe 1a, Radiation only"
- "41-Cyclic Universe 1b, Radiation only"
- "41-Gauss-Legendre 4-point"
- "41-Diff. Equations 2nd Order"
- "41-Weierstrass-Durand-Kerner"
- "41-Norm of a Matrix"
- "41-Integral over a Sphere"
- "41-Arc Length of Parametric Curve"
- "41-Delta T (∆T)"
- "41-Giant Planets 2021"
- "41-Debye Function"
- "41-Multiple Series"
- "41-Successive Approximation"
- "41-Euler Transformation"
- "41-Illuminated Fraction of Moon"
- "41-NumInt - Double Exponential"
- "41-Euler-Lagrange Equation"
- "41-Downhill Simplex Method"
- "41-Illuminated Fraction of Moon"
- "41-Polynomials" (646 steps)
- "41-Vector Calculus Curl, Div, Grad, Lapl"
- "41-Anchorage Knik Arm" (861 steps)
- "41-Equilateral Triangle Puzzle"
- "TVM - Time Value of Money"
- "Dial"
• Set flags 0…3 and 41 show on the display (F3 only if F41 is set.)
• Storing 19390105 in register R0 turns vintage mode off
• Refined RTN instruction: in a running program without return address, program execution stops. In interactive mode, a branch to step 0 is executed.
• To turn the calculator off, swipe the power button left; tapping is not enough.
Bug fixes:
• TIME did not lift the stack
• GTO 78 would incorrectly show as GTOc_COS
3.0
2021-03-17
** 10 YEARS of CUVEE SOFTWARE SIMULATORS **
This is a big update of RPN-25 CE, celebrating the 10th anniversary of RPN-45 HD, the first in the RPN series of simulators of famous HP calculators.
• Now with symbolic labels 00..99 not tied to program step numbers!
Use them with corresponding _LBL, _GTO and _GSB instructions.
(The original implementation with step numbers is still available, of course.)
• Program memory can be allocated as either 99 steps or 999 steps (select in Settings)
• Single-step constants: to create, double-tap the first step of a multi-step constant definition.
Double-tap the constant to revert to the editable multi-step representation.
• User messages: display any message (up to 30 characters) right below the display. Optionally execute PAUSE automatically before the program continues, allowing the user to enter a value. Or stop program execution.
• Program comments: use any step to display free text in the program listing.
(Load program "41-Polynomials" to see an example.)
• Indirect branching to symbolic label stored in any stack or regular register
• Overflow on ∑+ and ∑- operations is now handled like on a real HP-25 (in vintage mode). Setting flag 41 simulates the HP-41's behavior, i.e. no program abort on overflow of a register.
• New instructions:
MSG, MSGP, MSGS: show user message below display
// text: A step that contains only "text" without affecting the program in any way
SKIP lets you skip the next 0 to 9 steps
GETPSE, SETPSE: read and set the PAUSE setting
END stops program execution without returning to step 0
JND returns the Julian day number of a date
DY2000 returns the number of days between a date and Jan 1, 2000
SND nn plays sound number nn (0..99)
ROUND n rounds x to n fractional digits (0..9)
DELAY is the same as PAUSE but without flashing "PAUSE"
NUM2DIGS nn decomposes the 10-digit mantissa into single digits stored at Rnn..Rnn+9
DIGS2NUM nn creates number from the 10 digits stored in Rnn..Rnn+9
ISGi, DSEi: indirect versions of ISG and DSE
SFi N, CFi N, FS?i N: handle flags indirectly via any stack register
ST41, RC41: store and recall the flag 41 status
x³ returns the cube of x
y^x{0} is the same as y^x, except that 0⁰ = 1
• Renamed INCR and DECR to x+1 and x-1, respectively.
• Long-press step number to show/hide the previously executed step.
• Entering a numeric value while a PAUSE is in effect restarts the pause with each keypress.
• New sample programs, most of them using symbolic labels:
- "41-Conics"
- "41-Stirling Numbers"
- "41-Stirling Numbers generalized"
- "41-Ramanujan Tau Numbers"
- "41-Multinomial Coefficients"
- "41-Fibonacci, Tri-, Tetra-, k-nacci"
- "41-Fibonacci Multiprecision"
- "41-Apéry's Numbers"
- "41-Cyclic Universe 1a, Radiation only"
- "41-Cyclic Universe 1b, Radiation only"
- "41-Gauss-Legendre 4-point"
- "41-Diff. Equations 2nd Order"
- "41-Weierstrass-Durand-Kerner"
- "41-Norm of a Matrix"
- "41-Integral over a Sphere"
- "41-Arc Length of Parametric Curve"
- "41-Delta T (∆T)" (343 steps)
- "41-Giant Planets 2021"
- "41-Debye Function"
- "41-Multiple Series"
- "41-Successive Approximation"
- "41-Euler Transformation"
- "41-Illuminated Fraction of Moon"
- "41-NumInt - Double Exponential" (347 steps)
- "41-Euler-Lagrange Equation" (347 steps)
- "41-Downhill Simplex Method" (465 steps)
- "41-Illuminated Fraction of Moon"
- "41-Polynomials" (646 steps)
- "41-Vector Calculus Curl, Div, Grad, Lapl" (627 steps)
- "41-Anchorage Knik Arm" (861 steps)
- "41-Equilateral Triangle Puzzle"
- "TVM - Time Value of Money"
- "Dial"
• Flags 0…3 and 41 are shown on the display if set (F3 only if F41 is set.)
• Storing 19390105 in register R0 turns vintage mode off
• To turn the calculator off, swipe the power button left. Simply tapping it doesn't suffice anymore.
Bug fixes:
• TIME did not lift the stack
• GTO 78 would incorrectly show as GTOc_COS
2.5
2020-12-17
• Execute Extra Functions in RUN mode
• VIEW instruction
While a program is running, watch any stack or memory register without affecting the calculation in any way. A memory register may even be indirectly addressed by any stack register. Execute CLD, or tap the display to restore the normal view.
• CLD instruction
Restores normal display after a VIEW instruction
• DSMSTO and DSMRCL instructions
Store and recall display settings
• REGSET sets any range of registers to a value
• REGSORT sorts any range of registers
• xi≷yi swaps registers defined in X and Y
• 100 flags (up from 10.) Their states are shown in extended register view.
• Flags 24 and 25 may be used to handle errors (like on the HP-41)
• Flag 41 simplifies running HP-41 programs on RPN-25
• Additional flag instructions:
- FC? nn: tests if flag nn is cleared
- FC?S nn: tests if flag nn is cleared, then sets it
- FS?C nn: tests if flag nn is set, the clears it
- STFLAGS, RCFLAGS: store/recall groups of 32 flags
- CFInd, SFInd: address flags directly or indirectly
- TOGFLG nn: toggle flag nn
• More comparison instructions:
- x#NN: six comparisons between x and any register defined in Y
- x#nn: three comparisons between x and register nn
• Date functions:
- DATE: current date as mm.ddyyy
- DATE+: date y + x days. Easter date if y = 0 and x ≥ 1583.
- ∆DAYS: number of days from date y to date x.
- DOW: day of the week, day number, week number
- MDY→YMD, YMD→DMY, DMY→MDY, etc. (date format conversions)
• Instruction FILL RAN# now accepts a user-defined range
• Indirect register addressing ignores sign and fractional part of the argument
• Mathematical and physical constants (CODATA 2018-compliant)
• When executed interactively, ISG and DSE do not change the program counter anymore.
• In vintage mode, ISG, DSE, RND, RAND, and CLEAR ∑ are not shown and are not functional.
• UI change: double-tap display for Extra Functions, triple-tap for Settings
• Sample programs:
- "41-Extrema" (new)
- "41-Parabolic Interpolation" (new)
- "41-Infinite Nested Radicals" (new)
- "41-Large Factorials" (new)
- "41-Multi- and Hyperfactorials" (new)
- "41-Factorial Digits" (new)
- "41-Kaprekar Series" (new)
- "41-Golomb Sequence" (new)
- "41-Euler Numbers 1" (new)
- "41-Euler Numbers 2" (new)
- "41-Harmonic Numbers" (new)
- "41-Pell's Equation" (new)
- "41-Kepler's Equation" (new)
- "41-Easter Date" (new)
- "41-Equilateral Triangle Puzzle" (new)
- "41-Multivariate Gamma, Digamma" (new)
- "41-Loxodromics" (new)
- "41-Geodesic Distance" (new)
- "41-Square Root modulo m" (new)
- "41-Unrestricted Partitions" (new)
- "41-Permutations" (new)
- "Amortization" (revised)
- "TVM - Time Value of Money" (revised)
Bug fixes:
• Deleting a block of program steps could result in wrongly adjusted branch targets in some cases
• Pasting non-XML program text could corrupt instructions with single-digit opcodes
• ISG/DSE commands were susceptible to internal rounding effects
2.0
2020-11-08
• Now with 100 registers (R00..R99) !
• New register view showing all 100 registers
• Print (or mail as PDF) the program or its description
• Define register arguments without leaving the Extra Functions list
• Store/recall arithmetic between X and any stack register
• Store/recall arithmetic between X and any register addressed by any stack register
• New functions and operations:
STO[op]nn, RCL[op]nn: register arithmetic between x and register nn (00..99)
STi[op]nn, RCi[op]nn: register arithmetic between x and the register defined in register nn
xi≷ nn: swap x with register defined in register nn
STO[op]N, RCL[op]N: stack register arithmetic between x and stack register N
STi[op]N, RCi[op]N: register arithmetic between x and the register defined in stack register N
x≷ N: swap x with stack register N
xi≷ N: swap x with the register nn defined in stack register N
ISG nn, DSE nn: increment/decrement register nn and skip if condition met
ISG N, DSE N: increment/decrement stack register N and skip if condition met
ISGi N, DSEi N: increment/decrement register nn defined in stack register N and skip if condition met
SND nn: play sound defined by value in register nn
CLR ALL: clear all registers
CLR EXT: clear extended registers R20..R99
CLRGX: clear a range of registers with optional increment
REGCOPY: copy a range of registers to a different location
REGSWAP: swap the contents of two ranges of registers
REGS ALL: show all registers R00..R99
SIGN: return -1, 0, or +1 if x is negative, positive, or zero
PRIME?: set flag 0 if x is prime
ERF/ERFC: Gauss error function and complementary error function
MATH: BesselJ, BesselY, Bernoulli, Zeta
ERROR nn: replaces the previous ERROR 1 and ERROR 2 functions.
The new version supports various boiler-plate messages.
• Optional vintage features
- Send 19390104 to register 0 to toggle some features on and off:
- New program step replaces the next step instead of being inserted
- ISG, RND and CLEAR ∑ labels are hidden (but still functional)
• A program running longer than one minute will emit a short beep when executing the final GTO 00 command
• Tap f or g, then the PRGM/RUN switch to see a 12- or 24-hour clock.
• Improved accuracy in extreme cases of y^x with positive, integer x.
For example, 1.0000001^(2^27) = 674530.4707, not 674530.4760
• Double-tapping "Continuous Memory" doesn't show the Info screen anymore.
Use the info button instead.
• Call up "What's New" anytime from Info screen
• New sample programs:
"Amortization"
"Bell Numbers Advanced"
"Decimals of e"
"Decimals of Pi"
"Multi Curve Fitting"
"NPV and IRR"
"Square Roots & Integer Powers"
"TVM - Time Value of Money"
Bug fixes:
• Fixed display issues when using the iPhone in "Zoomed" mode
• The RND function didn't work correctly in regions using a comma as decimal point
• Double- or triple-tapping the empty program listing could cause a crash
• Setting the haptic feedback level didn't check sufficiently for the correct code
1.5
2020-09-24
• More than 80 new Extra Functions added!
• Inserting extra functions is now an easy 2-step process:
1. Triple-tap the display in PRGM mode
2. Double-tap the desired function
• Some programs have been added or updated. Be sure to execute "Reload Sample Programs" to refresh the list.
Bug fix:
• The thousand's separator setting returned to the default value (ON) after restarting the app.