adriweb / CEmu

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

Home Page:https://ce-programming.github.io/CEmu/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

The latest development builds are available here: https://ce-programming.github.io/CEmu/download

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

Note that Release builds have an update checking feature, which is disabled in development builds.

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.
  • If you're on linux, you may need to force update your PATH to have Qt's bin/ folder prepended. This can be done by editing your shell's profile (for example ~/.bashrc), and adding the line:
    export PATH=<path to Qt directory>/bin:$PATH
  • You may need to run this command under linux as well: sudo apt-get install git qt5-default
  1. 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

https://ce-programming.github.io/CEmu/

License:Other


Languages

Language:C++ 43.8%Language:C 37.4%Language:Assembly 10.1%Language:Python 7.0%Language:Objective-C 0.7%Language:QMake 0.6%Language:Makefile 0.2%Language:Shell 0.1%Language:CMake 0.1%Language:Batchfile 0.0%