Skip to content
/ CEmu Public
forked from CE-Programming/CEmu

A developer-oriented emulator of the eZ80-based TI-84 Plus CE / TI-83 Premium CE calculators

License

Notifications You must be signed in to change notification settings

brillure/CEmu

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CEmu Build Status Build Status Build Status IRC badge

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

Features

Standard features

  • 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)

Developer features

  • 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)

Downloads

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).

How to build

After downloading the source (you can clone the repo or just get the zip):

  1. 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's bin/ folder prepended. (You might need to run this command, too: sudo apt-get install git qt5-default)

  2. Now you have two options:

  • In a shell, cd to the project's /gui/qt/ folder and type qmake -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)
  1. 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).

Caveats and TODO/WISH list

Take a look at the current issues, since these things are organized there.

License

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.

About

A developer-oriented emulator of the eZ80-based TI-84 Plus CE / TI-83 Premium CE calculators

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 43.4%
  • C 37.5%
  • Assembly 10.2%
  • Python 7.0%
  • Objective-C 0.8%
  • QMake 0.7%
  • Other 0.4%