Third-party multi-platform emulator of the ARM-based TI-Nspire™ calculators
C C++ QML Assembly QMake HTML Other
Permalink
Failed to load latest commit information.
android Version 1.2 Dec 6, 2016
archlinux Add conflict with the old packaging name. Jun 12, 2015
config.tests/-no-pie Check for -no-pie linker flag, and use it if available Dec 18, 2016
core Also commit the header file change... Jan 14, 2017
emscripten [Emscripten] Spinner and status thing didn't work, so removed. Mar 27, 2016
headless [headless] Fix Makefile clean target Dec 4, 2016
i18n Update translations Dec 5, 2016
qml Highlight non-existing kit files in red Dec 7, 2016
resources Add new ConfigPageFileTransfer.qml page Nov 10, 2016
.gitignore Further emscripten work (LCD works fine) Mar 23, 2016
.gitmodules Use gif-h as submodule Jan 18, 2016
.travis.yml Update used Qt 5.6 repo in .travis.yml Dec 2, 2016
Info.plist Version 1.2 Dec 6, 2016
LICENSE Change license to GPLv3 Nov 28, 2015
README.md Update iOS JIT build instructions Nov 27, 2016
TODO.md Add simple file sending to file transfer config page Nov 12, 2016
emuthread.cpp Fix deadlock: Don't enter debugger recursively Feb 27, 2016
emuthread.h Change cursor if busy Dec 9, 2015
fbaboutdialog.cpp Set Ok button as default in FBAboutDialog Nov 26, 2016
fbaboutdialog.h Add update check to about dialog Nov 25, 2016
firebird.pro Check for -no-pie linker flag, and use it if available Dec 18, 2016
flashdialog.cpp Switch to old SIGNAL/SLOT syntax (fixes #53) Oct 17, 2016
flashdialog.h Implement different HW revs for CX (CAS) Feb 22, 2016
flashdialog.ui Mark some strings as not translatable Nov 12, 2016
keymap.h Improve keymap and add more intuitive key combinations (#44) May 8, 2016
kitmodel.cpp Show configuration dialog if all kits are empty Nov 20, 2016
kitmodel.h Show configuration dialog if all kits are empty Nov 20, 2016
lcdwidget.cpp Improve touchpad behaviour Nov 12, 2016
lcdwidget.h Add external LCD window Dec 24, 2015
main.cpp Add workaround for garbage text displayed on iOS Nov 19, 2016
mainwindow.cpp Update window title on kit data changes Dec 7, 2016
mainwindow.h Always prefer to use the snapshot path defined in the kit Dec 5, 2016
mainwindow.ui Fix mainwindow title after startup Dec 7, 2016
qmlbridge.cpp Highlight non-existing kit files in red Dec 7, 2016
qmlbridge.h Highlight non-existing kit files in red Dec 7, 2016
qtframebuffer.cpp LCD: use unscaled painter but with image.setDevicePixelRatio Dec 2, 2016
qtframebuffer.h Make cppcheck happier Jan 15, 2016
qtkeypadbridge.cpp Alt prevents or releases Shift (#49) May 20, 2016
qtkeypadbridge.h Create QtKeypadBridge as event filter Jun 3, 2015
resources.qrc Add vertical scrollbar to keypad in MainWindow Nov 19, 2016
usblinktreewidget.cpp Switch to old SIGNAL/SLOT syntax (fixes #53) Oct 17, 2016
usblinktreewidget.h Make cppcheck happier Jan 15, 2016

README.md

Firebird Emu Build Status

This project is currently the community TI-Nspire emulator, originally created by Goplat.
It supports the emulation of Touchpad, CX and CX CAS calcs on Android, iOS, Linux, Mac and Windows.

Download:

Screenshots/Videos:

Linux:

Windows: Android:
Mac OS X: iOS:

Building

First, you need to install Qt5.
Then, you can either use Qt Creator directly (don't forget to configure your kits/compilers etc.!), or run:

mkdir -p build
cd build
qmake ..
make
A special case: iOS with translation (≈JIT) enabled:

There seems to be a bug in qmake that makes the required .S get ignored when building a JIT-enabled (TRANSLATION_ENABLED = true) binary.
As a workaround, you'll have to take care of it manually:

  1. Hit Build in Qt Creator, on an iOS kit/target. (It'll fail)
  2. Open the generated .xcodeproj file (in the build folder) in Xcode
  3. Locate asmcode_arm.S in the file list, click on it, and in the right sidebar, add it to the Firebird target
  4. Adjust any other project settings as you see fit (certs/profiles/team/signings/entitlements/etc. though this should be automatic except the Team choice)
  5. Build/Run

License

This work (except the icons from the KDE project) is licensed under the GPLv3.