I'm Eric James, a hobbyist programmer working with the SwissMicros DM32 and the Texas Instruments TI-84 Plus CE graphing calculator. My projects include RPN keystroke programs, a calculator application written in C, and TI-BASIC programs for practical calculations and experiments.
My interests range from transit operations and navigation to orbital mechanics, probability, and numerical exploration. I enjoy turning a calculation into a program that is useful on a handheld calculator, with documentation that explains the method, inputs, and results.
This page is an index to those projects. Each repository contains its own files and documentation.
These projects are distributed as .d32 statefiles for the DM32. They use RPN keystroke programming, with equations, SOLVE, Global registers, or calls between States where needed. The project documentation covers program labels, register use, operating instructions, and examples.
| Project | Purpose |
|---|---|
| finance32 | Time value of money: solve for term, interest rate, present value, payment, or future value. Includes savings and percentage calculations. |
| datetime32 | Date arithmetic, days between dates, day of the week, and elapsed time. |
| conversion32 | Imperial, nautical, and astronomical length conversions, plus currency conversion using a stored exchange rate. |
| sportsbook32 | American and decimal odds, wager profit, and implied probabilities with the margin removed from a two-way market. |
| Project | Purpose |
|---|---|
| navigation32 | Sunrise, sunset, solar position, vessel closest point of approach, and great-circle distance and initial course. |
| geodetics32 | WGS 84 calculations for Earth's radius, parallels of latitude, rotational speed, and distance to the horizon. |
| orbitcalc32 | Circular-orbit calculations from height, velocity, circumference, period, or revolutions per sidereal day, with stored Solar System constants. |
| Project | Purpose |
|---|---|
| gaussian32 | Normal-distribution probabilities, error functions, and related conversions, adapted from the HP-15C Advanced Functions Handbook. |
| logistic32 | Logistic-map iteration and Lyapunov exponents for exploring fixed points, periodic behaviour, and chaos. |
| collatz32 | Collatz sequences, with step counts, peak values, and options to display or step through individual terms. |
| Project | Purpose |
|---|---|
| safedrive32 | Braking and stopping-distance models, rear-overhang kickout, route fleet requirements, and passenger-load weight. |
| layover32 | A custom layover scoring model and Monte Carlo simulation using recorded lateness data to estimate the break received in practice. |
| clearance32 | An educational mine-clearance probability model covering repeated passes, expected encounters, and residual risk. |
| Project | Purpose |
|---|---|
| freechess32 | Chess960 starting positions, generated randomly or selected by Scharnagl number from 0 to 959. |
- Open the project's repository and read its installation and operating instructions.
- Download the
.d32file and copy it to the calculator's/STATEfolder over USB. - Load the State on the calculator, then follow the project's setup instructions before running its programs.
Some projects require initialization, particular settings, or other statefiles. In particular, navigation32 requires the DATETIME and CONVERSION statefiles, with their filenames unchanged. Load NAVIGATION through the Available States list and accept the dependency prompt, as described in its README.
Some program listings can also be entered manually on an HP-32SII. Compatibility and memory requirements are documented per project; the .d32 files themselves are for the DM32.
rpnCE is an HP-style RPN calculator application written in C for the TI-84 Plus CE. It has a four-level stack, optionally extended to twelve levels, storage registers, and a menu-based interface with a dot-matrix display style.
Its functions include scientific calculations, statistics and curve fitting, time value of money, unit conversions, base arithmetic and bit operations, and date and time calculations. The stack, registers, and settings are saved between sessions.
The repository provides a user guide, worked keystroke examples, source code, and tests. See its installation instructions for the required program, resource file, libraries, and launch method for your calculator's OS.
basicCE preserves 13 of my TI-BASIC programs, with the original calculator files, documentation, and screenshots alongside individual usage guides.
| Program | Purpose |
|---|---|
| GDist CE | Deceleration, stopping time, and g-force from speed and stopping distance. |
| GForce CE | Deceleration, stopping distance, and stopping time from speed and g-force. |
| GTime CE | Deceleration, stopping distance, and g-force from speed and stopping time. |
| Stopping Distance CE | Reaction, braking, and total stopping distances from speed and road conditions. |
| BusPlan CE | Route fleet requirements from round-trip time, layover percentage, and headway. |
| Overhang CE | Rear-overhang kickout during a turn. |
| CPA CE | Closest point of approach between vessels on constant courses at constant speeds. |
| Hull Speed CE | Theoretical hull speed from vessel length. |
| Delta-V CE | The ideal rocket equation using initial mass, final mass, and exhaust velocity. |
| Orbit CE | Circular orbits around preset or custom celestial bodies. |
| HAMRadio CE | Frequency, wavelength, photon energy, and radio-band classification. |
| Hours CE | Hours worked and pay from start and end times. |
| SornaOS CE | A fictional field-terminal simulation with menus, messages, and dinosaur data. |
Read the individual program guide for units, calculator settings, and assumptions. Transfer its .8xp file using TI Connect CE, then run it from the calculator's PRGM menu. The archive preserves the original releases; its README records the preservation work and testing status.
rpn84pce is an independently maintained TI-84 Plus CE port of bxparks/rpn83p. The original application and design are by bxparks. See the port's repository for its documentation and compatibility details.
Please open an issue in the relevant project repository for bugs, unclear instructions, or suggestions. For a calculation problem, include the inputs, units, expected result, actual result, and calculator model. For installation or execution problems, include the program version and calculator OS or firmware version as well.