CEmu is a third-party TI-84 Plus CE / TI-83 Premium CE calculator emulator, especially focused on developer features.
It has a very customizable user interface to fit the needs of different use cases.
Here are three setup examples of CEmu running on Mac OS X:
Minimalistic | Bigger keypad and screen | With many debugging features |
---|---|---|
With a core made in C and GUI in C++ with Qt, it works natively on many platforms.
In fact, the core has even been succesfully tested (proof-of-concepts) on web-browsers (JavaScript via Emscripten), the TI-Nspire CX (Ndless SDK), and the Apple Watch.
- Built-in ROM dumper wizard. CEmu does not rely on downloading an OS from TI's website nor does it have a custom boot/loader, so 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" option
- Screen capture (PNG, GIF)
- Screen recording (animated GIF)
- File sending/receiving (partial, WIP)
- Custom display refresh rate
- Custom emulation speed/throttling
- Code stepping, jumping...
- R/W/X breakpoints
- eZ80 disassembler
- Port monitor/editor
- Memory viewer/editor
- CPU state/registers viewer/editor
- LCD state/config. viewer/editor
- Stack viewer
- OP1-6 viewer
- VAT viewer
- Misc. emulation (backlight, battery...)
No stable binaries yet as the code keeps changing these days! When available, they'll be here, though: https://github.com/MateoConLechuga/CEmu/releases
Nightly win32 binaries available here (hosted by pimathbrainiac): https://pimathbrainiac.me/CEmu/
Note that Release builds have an update checking feature, which is disabled in development builds.
After downloading the source (you can clone the repo or just get the zip):
- Get the latest Qt5 SDK for your OS (and read on before downloading)
- On Windows, the MinGW variation of the Qt SDK is preferred (v5.6+, too).
However, if you are building with Visual Studio, you must use Visual Studio 2015 or newer. You also must download a Qt build that is compatible with Visual Studio 2015 or newer.- If you don't have Visual Studio 2015 installed, we recommend installing Visual Studio 2015 Community.
- Qt v5.6 is the only version of Qt (at the moment) that supports
VS2015.
- You can download the beta version of Qt v5.6 here.
- Direct download links for Qt v5.6 (VS2015): MSVC 2015 x86 and MSVC 2015 x64
- Note that the latest Qt v5.6 beta has a bug where the version of MSVC is incorrect. (It is displayed as 2013 or older.) This is simply a display bug. To ensure that you are using MSVC 2015, check the actual compiler version and ensure that it is 14.0 or newer.
- Now you have two options:
- Open the .pro file with Qt Creator, set it up (default project settings should be fine), and hit Build
- In a shell, cd to the project folder and type
qmake -r CEmu.pro; make
Note: Debugging support is somewhat core-related but is only built conditionally (since embedded targets probably won't need it). To enable it, define DEBUG_SUPPORT
. The Qt GUI does this in the .pro file.
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.
(Take a look at the current issues).
(Take a look at the issues, too, since not everything here has been migrated there yet)
- Make a web-based version of CEmu, like there’s a web-based version of z80e for trying out KnightOS. Compiling the CEmu core to JavaScript (and later WebAssembly), using Emscripten, is already known to work
- Think about CEmu's core’s integration on third-party projects, like TI-Planet's Project Builder - for instance, in C projects, in order to directly test the program, and eventually have live source-level debugging!
- Look at this gdb-z80 project (code from 2011...) ; try to see if it can be updated for eZ80, and used with a CEmu GDB stub. Mainlining such code is highly preferable.
- More translations (for now, it's available in English, French, and Spanish). Qt Linguist is a great tool for that (here's a tutorial). We welcome Pull Requests :)
- ...
CEmu is licensed under the GPLv3.
Acknowledgements: Some CEmu parts are, directly, modified, or inspired, from z80e, Firebird, QHexEdit2, libtifiles, tivars_lib_cpp, and the Silk iconset. The complete licensing information is available in the LICENSE file.