CEmu is a third-party TI-84 Plus CE / TI-83 Premium CE calculator emulator, focused on developer features.
The core is programmed in C and the GUI in C++ with Qt, for performance and portability reasons. CEmu works natively on Windows, macOS, and Linux.
Here are some screenshots showcasing some of the features:
Windows | macOS | Linux |
---|---|---|
- Built-in ROM dump wizard. CEmu does not rely on downloading an OS from TI's website nor does it have a custom boot/loader: a ROM from your own calculator is required. CEmu makes it very easy to get it.
- Accurate and fast emulation (you can also customize the speed and even toggle throttling)
- Resizable calculator screen
- "Always-on-top" window option
- Screen capture (PNG, GIF)
- Screen recording (animated GIF)
- File sending/receiving (partial, WIP)
- Multiple keybinding presets
- CE skins (colors like the real devices)
- Custom display refresh rate
- Custom emulation speed/throttling
- Code stepping, jumping...
- R/W/X breakpoints
- eZ80 disassembler (with equates support)
- Profiler (WIP-branch)
- Port monitor/editor
- Timers simple monitor/editor
- Memory viewer/editor
- CPU state/registers viewer/editor
- LCD state/parameters viewer/editor
- Memory visualizer (as fully customizable virtual LCDs)
- Stack viewer
- OP1-6 viewer
- VAT viewer
- Variable list with preview and program launcher
- Misc. emulation (backlight, battery...)
- "Autotester" (automated unit testing, light scripting)
No binaries have been released yet as the code keeps changing these days! When available, they'll be here: https://github.com/CE-Programming/CEmu/releases
The latest Windows builds are available though; 64 bit here and 32 bit here.
Note that Release builds have an update checking feature, which is disabled in development builds.
If you wish to browse around older builds; Windows binaries are available here or here (credits to alberthro and jacobly).
After downloading the source (you can clone the repo or just get the zip):
-
Get the latest Qt5 SDK for your OS (Note: on Windows, the MinGW variation of the Qt SDK is preferred).
If you're on Ubuntu, you may need to force update your PATH to have Qt'sbin/
folder prepended. (You might need to run this command, too:sudo apt-get install git qt5-default
) -
Now you have two options:
- In a shell,
cd
to the project's/gui/qt/
folder and typeqmake -r CEmu.pro && make
- Open the .pro file with Qt Creator, set it up (default project settings should be fine), and hit Build. (Note: you can tell make to use -j4 in the project settings)
- If you are using linux, use
sudo make install
to integrate with your desktop.
Note: Debugging support is somewhat core-related but is only built when DEBUG_SUPPORT
is defined. The Qt GUI does this in the .pro file.
Note 2: If you encounter a build error with something like lto-wrapper failed
, try removing the -flto option in the .pro file and rebuild (qmake
etc.). We're not quite sure why this is happening.
You're welcome to report any bugs you may encounter, and if you want to help, tell us, or send patches / pull requests!
If you'd like to contribute code, please consider using Artistic Style with the settings specified in the .astylerc
file to format your code. Qt Creator can format code with Artistic Style with minimal setup.
We also welcome more translations (for now, it's available in English, French, and Spanish). Qt Linguist is a great tool for that (here's a tutorial).
Take a look at the current issues, since these things are organized there.
CEmu is licensed under the GPLv3.
Acknowledgements: Some CEmu parts are, directly, modified, or inspired, from z80e, Firebird, QHexEdit2, libtifiles, tivars_lib_cpp, Gifsicle, and the Silk iconset.
The complete licensing information is available in the LICENSE file.