AmiCalc 1.3 is a Workbench/Intuition native scientific calculator built to bring the “big calculator” experience to any stock Kickstart 1.3 machine. The program recreates the tactile workflow of hardware calculators: button matrices render with Intuition primitives, menus expose constants and modes, and every keystroke updates a running expression so that results are transparent. The codebase serves two purposes—providing Amiga users with a lightweight yet capable calculator, and acting as an example of how to mix classic Intuition UI code with double-precision math on constrained hardware. This repository mirrors that intent by including both the full C sources and the Workbench icon/binary that can be dropped directly into a real or emulated setup.
- Compact Intuition UI (300x200 px) with dedicated clusters for scientific and numeric keys.
Invtoggle that swaps between direct and inverse functions (sin/asin,cos/acos,tan/atan,ln/exp,log/10^x,sqrt/x^2,x^y/yth root,e^x/ln).- Full arithmetic toolkit:
+,-,*,/,x^y,e^x,Exp, sign change,%,n!, parentheses, and backspace. - Constantes menu to inject pi or e at double precision.
- Modo menu that switches trigonometric functions between radians and degrees.
- Vista menu that toggles a live expression readout so you can confirm precedence and parentheses.
- Error readouts (
ERR) whenever invalid inputs are detected (negative roots, non-integer factorials, overflow, division by zero, etc.).
- VBCC compiler accessible via
vcor through theVBCC_ROOTenvironment variable. - Amiga NDK 1.3 headers; set the
NDKvariable (defaults to$(HOME)/Amiga/NDK_1.3) or overrideNDK_INCto point at your installation. - Standard Intuition and Graphics libraries present on the Amiga system where the binary will run.
- Export
VBCC_ROOTifvcis not already in yourPATH:export VBCC_ROOT=/path/to/vbcc - (Optional) Target a different Kickstart flavor by passing
TARGET(defaults tokick13):make TARGET=kick20
- Build the project from the repo root:
The rule runs
make
vcwith the flags inMakefileand producesamicalcplus the accompanyingamicalc.info. - Remove build artifacts with:
make clean
- Copy
amicalcandamicalc.infoto a directory on your Workbench volume (physical machine or emulator). - Launch from Workbench via double-click or from CLI (
execute amicalc). A window titled AmiCalc 1.3 opens on the Workbench screen. - The layout is tuned for Kickstart/Workbench 1.3, but it also works on later versions as long as Intuition and Graphics libraries are available.
- Enter numbers with the keypad and press
Expto append an exponent for scientific notation (mantissa e exponent). Cclears every register and expression, while<-deletes the last character.- Pressing
Invflashes theINVprefix in expression view to remind you that the scientific keys now use their alternate behaviors.x^ycombined withInvcalculates the y-th root of the left operand. %divides the current value by 100;n!computes factorials for integers 0 through 170.- Trigonometric functions honor the RAD/DEG option selected in the Modo menu.
- Enable Vista → Expresion to see the algebraic string that is being evaluated in real time, which helps debug parentheses-heavy formulas.
amicalc.c– complete calculator implementation including math core, Intuition drawing code, and menu handling.amicalc– prebuilt AmiCalc 1.3 binary ready to copy to Workbench.amicalc.info– Workbench icon for the executable.Makefile– VBCC/NDK build rules and overridable variables (TARGET,VBCC_ROOT,NDK,NDK_INC).
This project is distributed under the MIT License, enabling reuse, modification, and redistribution as long as attribution and copyright notices remain intact.