TI-84 Plus CE Emulator Cross-platform emulator with a Rust core and native apps for Android, iOS, and web. Build calculator applications with cycle-accurate hardware emulation.
Quick Start Get the emulator running in minutes
Install Rust toolchain
Install Rust and the target for your platform: # Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Add platform targets
rustup target add aarch64-linux-android # Android
rustup target add aarch64-apple-ios # iOS
rustup target add wasm32-unknown-unknown # Web
Clone the repository
Get the source code and build the emulator core: git clone https://github.com/hunterchen7/ti84ce.git
cd ti84ce
cd core && cargo build --release
Build for your platform
Use the unified build script to compile for your target: ./scripts/build.sh android --install
For iOS, the build script compiles the backend library. Open Xcode to build and run the app.
Load a ROM and run
You need a TI-84 Plus CE ROM file (legally obtained). Import it through the app’s file picker, then press Run to start emulation. The emulator supports loading .8xp (programs) and .8xv (AppVars) files into the calculator’s flash archive.
Explore by Topic Dive into platform integration, core concepts, and advanced features
Platform Integration Build native apps for Android, iOS, and web using the emulator core
Architecture Understand the dual-backend design and emulator structure
Building Set up your development environment and compile for all platforms
C API Thread-safe C ABI for embedding the emulator in any application
Rust API Native Rust modules for CPU, memory, peripherals, and scheduling
WASM API JavaScript bindings for running the emulator in the browser
Key Features What makes this emulator unique
Switch between the Rust core and CEmu reference at build time. Use CEmu for parity testing and debugging while developing the Rust implementation.
Complete instruction set with ADL mode for 24-bit addressing. Cycle-accurate execution matches the TI-84 CE hardware.
320×240 LCD with 16-bit Color Full color display emulation with palette support and DMA engine. Renders at 60 FPS on all platforms.
Serialize and deserialize the entire emulator state including RAM, flash, CPU registers, and peripherals.
Ready to build calculator apps? Integrate the emulator into your Android, iOS, or web project. The C API provides a stable interface for all platforms.
Get Started