Code Monkey home page Code Monkey logo

cemu's Introduction

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

cemu's People

Contributors

mateoconlechuga avatar adriweb avatar jacobly0 avatar runer112 avatar alberthdev avatar debrouxl avatar calc84maniac avatar vogtinator avatar geekbozu avatar unicorn808 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.